mais dans le cas présent, on met d'abord limit 0,4 pour afficher les 4 premiers enregistrements.
Pour passer en page 2, on mettrait limit 5,8. Mais les pages d'après ??
$req = "SELECT * FROM baskets where validation=1 LIMIT 0,4";
signifie que l'on demande l'affichage des 4 premiers enregistrements.
Hum... je t'ai donné le lien une première fois, et c'est la quatrième fois que charabia te le rappelle...Quelque chose m'échappe. Dans le premier code, la lignesignifie que l'on demande l'affichage des 4 premiers enregistrements.$req = "SELECT * FROM baskets where validation=1 LIMIT 0,4";
Les suivants s'affichent où et quand ?
Ah ça c'est une idée qu'elle est bonne...Je regarde ça en détail.
<?php
$link = mysql_connect("host", "base", "pass");
mysql_select_db("base") or die("Impossible de se connecter à la base de données");
?>
<?php
//=========================================
// initialisation des variables
//=========================================
// on va afficher 4 résultats par page.
$nombre = 4;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["baskets"];
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT count(id) FROM baskets';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$select = 'select * FROM baskets ORDER BY id ASC limit '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
// début du tableau
echo '<table>'."\n";
echo '<tr>';
echo '<td></td>';
echo '<td></td>';
echo '</tr>'."\n";
while($row = mysql_fetch_array($result)) {
echo '<tr>';
echo '<td align="center"><span class="style1"><strong>'.$row['nom'].'</strong></span></td>';
echo '<td align="center"><span class="style1">'.$row['presentation'].'</span></td>';
echo '<td align="center"><span class="style1"><a href="http://'.$row['photo'].'><img src="http://'.$row['photo'].'" width="220" border="0"/></a></span></td>';
echo '<td align="center"><span class="style1">'.$row['suite'].'</span></td>';
echo '<td align="center"><span class="style1">'.$row['prix'].'</span></td>';
echo '<td align="center"><span class="style1">'.$row['paypal'].'</span></td>';
echo '</tr>'."\n";
}
echo '</table>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
//=========================================
// si le nombre d'enregistrement à afficher
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
?>
Ca bloque au niveau de cette ligne :
$verifLimite= verifLimite($limite,$total,$nombre);
Pourquoi ? Je suis pas assez calé pour comprendre ça. Merci de continuer à me faire progresser.
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["baskets"];
Juste comme ça, tu saurais me dire à quoi correspond ce petit bout de code ?
$verifLimite= verifLimite($limite,$total,$nombre);
d'abord, cela vient du tuto. Si on peut pas si fier ...