Barre navigation affichage page par page - PHP - Programmation
Marsh Posté le 02-08-2004 à 16:16:57
Moi ça marche j'ai fait un truc tt seul avec PHP et Mysql (ça affiche 25 résultats par page):
// prendre la liste des champs de la table CD de la base CD_test
$mysql_result = mysql_query("SELECT ad_ip,num_port,round(charge,2) as charge,(round((deltacol/horaire),2)) as coll,(round((deltaerr/horaire),2)) as err, date_heure FROM resultats ".$sql_where." ORDER BY 3,4,5 ASC" ) ;
$nb_result=mysql_num_rows($mysql_result);
echo "Nombre de résultats ".$nb_result."<br>";
//prendre chaque rangée
$cpt=0;
$i=0;
$j=0;
$nb_pages=$nb_result/25;
if ($nb_pages > round($nb_pages)) $nb_pages=round($nb_pages)+1;
else $nb_pages=round($nb_pages);
$cpt=0;
$cpt2=0;
if (!empty($_POST["num_page"])) $debut=$_POST["num_page"]*25-1;
else $debut=0;
while (($ligne = mysql_fetch_array($mysql_result)) and ($cpt<25))
{
?>
</p> <? if ($cpt2>=$debut) { ?>
<tr>
<td align="center"><? echo $ligne["ad_ip"]; ?></td>
<td align="center"><? echo $ligne["num_port"]; ?></td>
<td align="center"><? echo $ligne["date_heure"]; ?></td>
<td align="center"><? echo $ligne["charge"]; ?></td>
<td align="center"><? echo $ligne["coll"]; ?></td>
<td align="center"><? echo $ligne["err"]; ?></td>
<? $cpt++; } ?>
</tr>
<?
$cpt2++;
}
?>
</table>
<form name="form1" method="post" action="recherche2.php">
<p>Page <select name="num_page">
<? for ($i=1;$i<=$nb_pages;$i++) { ?>
<? if ($i==$page_en_cours) { ?>
<option selected><? echo $i; ?></option>
<? } else { ?>
<option><? echo $i; ?></option>
<? } } ?>
</select>
</p>
<p>
<input type="submit" name="Submit" value="Visualiser">
</p>
<p> </p>
</form>
Marsh Posté le 02-08-2004 à 19:33:16
23Samael a écrit : Moi ça marche j'ai fait un truc tt seul avec PHP et Mysql (ça affiche 25 résultats par page) |
Et tu récupères tous les champs à chaque fois pour en afficher juste 25 ?
Marsh Posté le 02-08-2004 à 15:26:08
bonjour à vous tous,
J'ai lu les tutos sur les site de programmation PHP sur l'affichage page par page, mais je n'arrive pas à l'adapter à mon script d'affage page par page généré par dreamweaver. Veuillez m'aider s'il vous plaît.
Je voudrais créer un script permettant d'afficher une barre de navigation comme celle de google lorsqu'on a lancé une recherche...:
Page 1| 2| 3| suivant>
Mais malheureusement Dreamweaver ne fabrique pas un script avec les numéros de la page :
Aller à la dernière page > | Aller à la page suivant >>
Je vous en remercie par avance : Voici mon code dans dreamweaver :
avant head :
<?php require_once('../../Connections/ConnexionPortail.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_rsLien = 10;
$pageNum_rsLien = 0;
if (isset($_GET['pageNum_rsLien'])) {
$pageNum_rsLien = $_GET['pageNum_rsLien'];
}
$startRow_rsLien = $pageNum_rsLien * $maxRows_rsLien;
mysql_select_db($database_ConnexionPortail, $ConnexionPortail);
$query_rsLien = "SELECT titre, description, lien FROM lien ORDER BY titre ASC";
$query_limit_rsLien = sprintf("%s LIMIT %d, %d", $query_rsLien, $startRow_rsLien, $maxRows_rsLien);
$rsLien = mysql_query($query_limit_rsLien, $ConnexionPortail) or die(mysql_error());
$row_rsLien = mysql_fetch_assoc($rsLien);
if (isset($_GET['totalRows_rsLien'])) {
$totalRows_rsLien = $_GET['totalRows_rsLien'];
} else {
$all_rsLien = mysql_query($query_rsLien);
$totalRows_rsLien = mysql_num_rows($all_rsLien);
}
$totalPages_rsLien = ceil($totalRows_rsLien/$maxRows_rsLien)-1;
$queryString_rsLien = "";
if (!empty($_SERVER['QUERY_STRING'])) {
$params = explode("&", $_SERVER['QUERY_STRING']);
$newParams = array();
foreach ($params as $param) {
if (stristr($param, "pageNum_rsLien" ) == false &&
stristr($param, "totalRows_rsLien" ) == false) {
array_push($newParams, $param);
}
}
if (count($newParams) != 0) {
$queryString_rsLien = "&" . htmlentities(implode("&", $newParams));
}
}
$queryString_rsLien = sprintf("&totalRows_rsLien=%d%s", $totalRows_rsLien, $queryString_rsLien);
?>
entre BODY:
<?php } while ($row_rsLien = mysql_fetch_assoc($rsLien)); ?>
<table border="0" width="50%" align="center">
<tr>
<td width="23%" align="center"><?php if ($pageNum_rsLien > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_rsLien=%d%s", $currentPage, 0, $queryString_rsLien); ?>"><img src="First.gif" border=0></a>
<?php } // Show if not first page ?>
</td>
<td width="31%" align="center">
<?php if ($pageNum_rsLien > 0) { // Show if not first page ?>
<a href="<?php printf("%s?pageNum_rsLien=%d%s", $currentPage, max(0, $pageNum_rsLien - 1), $queryString_rsLien); ?>"><img src="Previous.gif" border=0></a>
<?php } // Show if not first page ?>
</td>
<td width="23%" align="center">
<?php if ($pageNum_rsLien < $totalPages_rsLien) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_rsLien=%d%s", $currentPage, min($totalPages_rsLien, $pageNum_rsLien + 1), $queryString_rsLien); ?>"><img src="Next.gif" border=0></a>
<?php } // Show if not last page ?>
</td>
<td width="23%" align="center">
<?php if ($pageNum_rsLien < $totalPages_rsLien) { // Show if not last page ?>
<a href="<?php printf("%s?pageNum_rsLien=%d%s", $currentPage, $totalPages_rsLien, $queryString_rsLien); ?>"><img src="Last.gif" border=0></a>
<?php } // Show if not last page ?>
</td>
</tr>
</table>
Merci d'avance