par
cmoi » 04 juin 2009, 19:10
j'ai repris tout le code. Ca commence plutôt bien, puisque ma page s'affiche .. presque comme je veux.
<?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["basename"];
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT * FROM baskets WHERE validation=1 ORDER BY id ASC LIMIT '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
//=========================================
// 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'].'" target="_blank"><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);
$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;
if($limite != 0) {
echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a>';
}
if($limitesuivante < $total) {
echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
}
//récupération de $limite
if(isset($_GET['limite']))
$limite=$_GET['limite']; else $limite=0;
function verifLimite($limite,$total,$nombre) {
// je verifie si limite est un nombre.
if(is_numeric($limite)) {
// si $limite est entre 0 et $total, $limite est ok
// sinon $limite n'est pas valide.
if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {
// j'assigne 1 à $valide si $limite est entre 0 et $max
$valide = 1;
}
else {
// sinon j'assigne 0 à $valide
$valide = 0;
}
}
else {
// si $limite n'est pas numérique j'assigne 0 à $valide
$valide = 0;
}
// je renvois $valide
return $valide;
}
function affichePages($nb,$page,$total) {
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}
?>
Les résultats s'affichent en ligne au lieu d'être en colonne. C'est sûrement tout bête, mais comme il y a cette variable $row, je suis perdu.
Par contre, la fin du code pour passer en page suivante, n'affiche rien. Et je n'y comprends rien !
j'ai repris tout le code. Ca commence plutôt bien, puisque ma page s'affiche .. presque comme je veux.
[php]<?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["basename"];
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT * FROM baskets WHERE validation=1 ORDER BY id ASC LIMIT '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
//=========================================
// 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'].'" target="_blank"><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);
$limitesuivante = $limite + $nombre;
$limiteprecedente = $limite - $nombre;
if($limite != 0) {
echo '<a href="'.$page.'?limite='.$limiteprecedente.'">Page précédente</a>';
}
if($limitesuivante < $total) {
echo '<a href="'.$page.'?limite='.$limitesuivante.'">Page Suivante</a>';
}
//récupération de $limite
if(isset($_GET['limite']))
$limite=$_GET['limite']; else $limite=0;
function verifLimite($limite,$total,$nombre) {
// je verifie si limite est un nombre.
if(is_numeric($limite)) {
// si $limite est entre 0 et $total, $limite est ok
// sinon $limite n'est pas valide.
if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {
// j'assigne 1 à $valide si $limite est entre 0 et $max
$valide = 1;
}
else {
// sinon j'assigne 0 à $valide
$valide = 0;
}
}
else {
// si $limite n'est pas numérique j'assigne 0 à $valide
$valide = 0;
}
// je renvois $valide
return $valide;
}
function affichePages($nb,$page,$total) {
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" ><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td ><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}
?>[/php]
Les résultats s'affichent en ligne au lieu d'être en colonne. C'est sûrement tout bête, mais comme il y a cette variable $row, je suis perdu.
Par contre, la fin du code pour passer en page suivante, n'affiche rien. Et je n'y comprends rien !