Barre navigation affichage page par page

Barre navigation affichage page par page - PHP - Programmation

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

Reply

Marsh Posté le 02-08-2004 à 15:26:08   

Reply

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>&nbsp;</p>
</form>


Message édité par 'joce ' le 02-08-2004 à 16:17:42
Reply

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 ? :whistle:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed