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