LIMIT ? tous les enregistrements sauf les deux premiers

Eléphant du PHP | 160 Messages

16 avr. 2006, 23:41

Bonjour,
J'aimerais utiliser la clause LIMIT pour afficher tous les enregistrements sauf les deux premiers. Mais je ne trouve pas comment rédiger
Si quelqu'un peut me renseigner
Merci

Administrateur PHPfrance
Administrateur PHPfrance | 3088 Messages

16 avr. 2006, 23:56

Quant tu utilises "LIMIT x, y", x est le nombre d'enregistrements à sauter et y le nombre d'enregistrements à retourner. Pour sauter les 2 premiers et prendre tous les autres il te faudra simplement utiliser un grand nombre pour y:

Code : Tout sélectionner

SELECT * FROM table ORDER BY date LIMIT 2, 999999

Eléphant du PHP | 160 Messages

17 avr. 2006, 00:15

Merci pour l'info,

Eléphant du PHP | 160 Messages

17 avr. 2006, 00:22

En fait, c'était pour contourner un problème dant je viens de parler dans le forum sur le php/débutant, je pensais l'éviter en sautant les deux premiers enregistrements, mais ma requête ne prend plus la clause limit étant donné sa situation:
$rep = "images/";
		$dir = opendir($rep); 
		while ($f = readdir($dir)) {
   if(is_dir($rep.$f)) {
      echo "<li>Nom : ".$f;
	  $query = "SELECT * FROM evenements WHERE id = '".$f."' ORDER BY dd DESC LIMIT 2, 999999";
	  $result = mysql_query($query);
	  $Record = mysql_fetch_object($result)
Là franchement je ne sais plus comment enlever les deux dossiers fantômes (. et ..) qui apparaissent quand je liste le contenu de mon dossier images, et je ne sais même pas si c'est un souci avec php ou mysql, si quelqu'un a déjà rencontré ce pb...
Merci

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

17 avr. 2006, 10:28

les 2 1er dossiers sont "." et "..", non ?

Je te conseille donc de les éviter avant ta requête, dans le while :
$rep = "images/";
$dir = opendir($rep);
while ($f = readdir($dir)) {
   if(is_dir($rep.$f) AND ($rep.$f <> ".") AND ($rep.$f <> "..")) {
      echo "<li>Nom : ".$f;
      $query = "SELECT * FROM evenements WHERE id = '".$f."' ORDER BY dd DESC LIMIT 2, 999999";
      $result = mysql_query($query);
      $Record = mysql_fetch_object($result);
}
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

17 avr. 2006, 13:09

les 2 1er dossiers sont "." et "..", non ?

Je te conseille donc de les éviter avant ta requête, dans le while
Enfait c'est un semi-doublon
sujet principal
http://www.phpfrance.com/forums/voir_sujet-17367-0.php

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute