begin process at 2008 05 16 05:30:15
1 173 215 membres
58 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

PAGING: EXPLICATION BASIQUE.


Information sur la source

Catégorie :Base de données Niveau : Débutant Date de création : 02/06/2002 Date de mise à jour : 02/06/2002 21:27:48 Vu : 2 249

Note :
8 / 10 - par 1 personne
8,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

Lorsque vous avez décidé d afficher un certain nombre de résultats situés au beau milieu de la table, et bien on sait pas comment faire ! la première fois ...

Un exemple très basique qui n embrouille pas le moins du monde celui qui essaie de comprendre le code.

Source

  • <?php
  • $LIMIT = 25; // Le nombre de résultat par page
  • if (!$min || $min < 0) // Si le Nbre de resultat à partir duquel on affiche les autres résultats
  • $min = 0; //si n'existe pas ou est inférieur à 0, alors commencement à partir de 0
  • $sqlLIMIT = $LIMIT + 1; // On ajoute 1 à la limit pour tomber juste.
  • // Rechercher ce que vous voulez, ajouter LIMIT $min,$sqlLIMIT à la fin
  • $query = "SELECT * FROM mytable where somethig = 'something' LIMIT $min,$sqlLIMIT";
  • $rs = mysql_query($query);
  • // On effectue une boucle jusqu'à ce que
  • //a) $rs ne nous renvoie plus de résultats
  • //b) le nombre de boucle soit inférieur à $LIMIT ($i < $LIMIT)
  • for ($i = 0; $i < $LIMIT && $row = mysql_fetch_row($rs); ++$i){
  • # On affiche les résultats. Par exemple 25 résultats à partir du 50ème.
  • }
  • ?>
  • // Liens permettant de continuer la recherche
  • // Précédent ou Suivant
  • <table width="500" border="0">
  • <tr>
  • <td width="100">&nbsp;
  • <?php
  • if ($min > 0){
  • $prevMin = $min - $LIMIT;
  • print "<a href="search.php?min=$prevMin"><< Prev</a>";
  • }?>
  • </td>
  • <td width="300">&nbsp;</td>
  • <td width="100">&nbsp;
  • <?php
  • if (mysql_num_rows($rs) == $sqlLIMIT){
  • $nextMin = $min + $LIMIT;
  • print "<a href="search.php?min=$nextMin">Next >></a>";
  • }
  • ?>
  • </td>
  • </tr>
  • </table>
<?php 

$LIMIT = 25; // Le nombre de résultat par page

if (!$min || $min < 0) // Si le Nbre de resultat à partir duquel on affiche les autres résultats 
$min = 0; //si n'existe pas ou est inférieur à 0, alors commencement à partir de 0 
$sqlLIMIT = $LIMIT + 1; // On ajoute 1 à la limit pour tomber juste. 


// Rechercher ce que vous voulez, ajouter LIMIT $min,$sqlLIMIT à la fin
$query = "SELECT * FROM mytable where somethig = 'something' LIMIT $min,$sqlLIMIT"; 
$rs = mysql_query($query); 

// On effectue une boucle jusqu'à ce que 
//a) $rs ne nous renvoie plus de résultats 
//b) le nombre de boucle soit inférieur à $LIMIT ($i < $LIMIT) 

for ($i = 0; $i < $LIMIT && $row = mysql_fetch_row($rs); ++$i){ 
# On affiche les résultats. Par exemple 25 résultats à partir du 50ème. 
} 
?> 


// Liens permettant de continuer la recherche 
// Précédent ou Suivant 

<table width="500" border="0"> 
<tr> 
<td width="100">&nbsp; 

<?php 
if ($min > 0){ 
$prevMin = $min - $LIMIT; 
print "<a href="search.php?min=$prevMin"><< Prev</a>"; 
}?> 
</td> 
<td width="300">&nbsp;</td> 
<td width="100">&nbsp; 
<?php 
if (mysql_num_rows($rs) == $sqlLIMIT){ 
$nextMin = $min + $LIMIT; 
print "<a href="search.php?min=$nextMin">Next >></a>"; 
} 
?> 

</td> 
</tr> 
</table>  

Conclusion

Bonne Prog.
  • signaler à un administrateur
    Commentaire de Legion le 23/01/2003 18:10:59

    Visiblement ca ne fonctionne pas, ma variable $nextMin ne prend aucune valeur, je t'ai envoyé un MP où je t'explique plus en profondeur le problème.

  • signaler à un administrateur
    Commentaire de bricethenetman le 04/08/2003 17:38:23

    Ce script est vraiment pas mal (en tant que base à un code plus élaboré). Ya juste une petite erreur en bas dans ta fonction print,les double quote...

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Boutique

Boutique de goodies CodeS-SourceS