par cmoi » 08 juin 2009, 08:00
<?php //========================================= // includes du fichier fonctions //========================================= require 'fonctions.php'; $nombre = 4; // on va afficher 4 résultats par page. if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois // on met limite à 0. $path_parts = pathinfo($_SERVER['PHP_SELF']); $page = $path_parts['basename']; // requête SQL qui compte le nombre total d'enregistrements dans la table et qui //récupère tous les enregistrements $select = 'SELECT count(id) FROM test'; $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 test WHERE validation=1 ORDER BY id DESC limit '.$limite.','.$nombre; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $nbCols = 2; // nombre de colonnes du tableau $cpt = 0; $rs = mysql_query($select); $limitesuivante = $limite + $nombre; $limiteprecedente = $limite - $nombre; // si on a récupéré un résultat on l'affiche. // début du tableau echo '<table>'; echo '<tr>'; echo '</tr>'; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. while ($row=mysql_fetch_assoc($rs)) { // parcours des résultats // début d'une ligne if ($cpt%$nbCols==0) echo '<tr>'; echo '<td align="center"><span class="style1"><strong>'.$row['nom'].'</strong><br/>'.$row['presentation'].'<br/><a href="http://'.$row['photo'].'" target="_blank"><img src="http://'.$row['photo'].'" width="220" border="0"/></a><br/>'.$row['suite'].'<br/>'.$row['prix'].'<br/>'.$row['paypal'].'</span></td>'; if ($cpt%$nbCols==($nbCols-1)) echo '</tr>'; $cpt++; // on incrémente le compteur pour savoir où on en est } // Au cas où ... if ($cpt!=0 && $cpt%$nbCols!=0) { // S'il n'y a pas eu assez de cellules dans la boucle pour finir la ligne ... echo '<td colspan="'.($nbCols - ($cpt%$nbCols) ).'"> </td>'; // ... on complète avec une cellule vide de la bonne taille... echo '</tr>'; // ... et on ferme la ligne } echo '</table>'; // fin du tableau. // on libère le résultat mysql_free_result($result); //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; } 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>'; } ?>
par AB » 07 juin 2009, 22:00
par cmoi » 07 juin 2009, 10:34
<?php //========================================= // includes du fichier fonctions //========================================= require 'fonctions.php'; $nombre = 4; // on va afficher 4 résultats par page. if (!isset($limite)) $limite = 0; // si on arrive sur la page pour la première fois // on met limite à 0. $path_parts = pathinfo($_SERVER['PHP_SELF']); $page = $path_parts['basename']; // requête SQL qui compte le nombre total d'enregistrements dans la table et qui //récupère tous les enregistrements $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 WHERE validation=1 ORDER BY id ASC limit '.$limite.','.$nombre; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $limitesuivante = $limite + $nombre; $limiteprecedente = $limite - $nombre; // si on a récupéré un résultat on l'affiche. if($total) { // début du tableau echo '<table>'."\n"; echo '<tr>'; echo '</tr>'."\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. while($row = mysql_fetch_array($result)) { echo '<tr>'; echo '<td align="center"><span class="style1"><strong>'.$row['nom'].'</strong><br/>'.$row['presentation'].'<br/><a href="http://'.$row['photo'].'" target="_blank"><img src="http://'.$row['photo'].'" width="220" border="0"/></a><br/>'.$row['suite'].'<br/>'.$row['prix'].'<br/>'.$row['paypal'].'</span></td>'; echo '</tr>'."\n"; } echo '</table>'."\n"; // fin du tableau. } else echo '<span class="style1">'.'Désolé, rien en ce moment !'.'</span>'; // on libère le résultat mysql_free_result($result); //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; } 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>'; } ?>
par charabia » 06 juin 2009, 23:47
<?php $req = "SELECT * FROM ta_table LIMIT 0,4"; //--- Résultat ---// $res = mysql_query($req); //met les données dans un tableau while($data = mysql_fetch_assoc($res)) { $tablo[]=$data; } //détermine le nombre de colonnes $nbcol=2; echo '<table>'; $nb=count($tablo); for($i=0;$i<$nb;$i++){ //les valeurs à afficher $valeur1=$tablo[$i]['champ1']; $valeur2=$tablo[$i]['champ2']; if($i%$nbcol==0) echo '<tr>'; echo '<td>',$valeur1,'<br/>',$valeur2,'</td>'; if($i%$nbcol==($nbcol-1)) echo '</tr>'; } echo '</table>'; ?>
par cmoi » 06 juin 2009, 08:59
echo '<table>'."\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne. 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";
par AB » 05 juin 2009, 00:35
par charabia » 04 juin 2009, 21:02
Ce code t'affiche les résultats sur 2 colonnes. J'ai mis un LIMIT pour que ça n'affiche que 4 comme tu veux. Tu devras donc faire un affichage page par page pour voir le reste (une petite recherche sur google).
par cmoi » 04 juin 2009, 19:10
<?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"; } ?>
par charabia » 04 juin 2009, 11:23
parce que je ne vois pas ce que j'ai pu oublier.
par cmoi » 04 juin 2009, 11:17
par charabia » 04 juin 2009, 11:11
par cmoi » 04 juin 2009, 11:07
$verifLimite= verifLimite($limite,$total,$nombre);
par charabia » 04 juin 2009, 10:54
par cmoi » 04 juin 2009, 10:41
par charabia » 04 juin 2009, 10:25