Yazerty Posté 17 Décembre 2005 Posté 17 Décembre 2005 Bonjour, Je développe actuellement un petit script d'affichage pour un site lui aussi en developpement. Le script est pour le moment tout ce qu'il y a de plus basique : sélection des données dans une table et affichage. Mes données s'affichent correctement. J'arrive à n'en afficher que 10 grâce à LIMIT. Mais je souhaite pouvoir n'afficher que les données correspondant aux entrées ayant les numéros d'id x1 jusqu'à x2. Comment faire pour ne sélectionner qu'une "tranche" ?
hcplayer Posté 17 Décembre 2005 Posté 17 Décembre 2005 SELECT FROM table WHERE id BETWEEN x1 AND x2 ORDER BY id sinon pour les 10 premiers SELECT FROM table ORDER BY id ASC LIMIT 0,10 LIMIT 0,10 signifie à partir du premier (0) , afficher 10 résultats Pour les 10 suivants SELECT FROM table ORDER BY id ASC LIMIT 10,10 LIMIT 10,10 signifie à partir du 10e (le premier 10) , afficher 10 résultats
Yazerty Posté 17 Décembre 2005 Auteur Posté 17 Décembre 2005 Merci Sinon je n'arrive pas à récupérer l'id maximal de ma table. Il me semble pourtant que j'applique la bonne méthode : // Récupération de l'id maximal$id_max_sql = "SELECT MAX(id) FROM matable WHERE activite='O'";$id_max_req = mysql_query($id_max_sql) or die('Erreur SQL !<br>'.$id_max_sql.'<br>'.mysql_error());$id_max = mysql_num_rows($id_max_req);echo "((( $id_max )))"; Ca me revoit 1 alors que l'id maximal est 429 ...
Dan Posté 17 Décembre 2005 Posté 17 Décembre 2005 SELECT MAX(id) FROM matable WHERE activite='O' C'est quoi ce "activite = '0'" ?? En mettant simplement "SELECT MAX(id) FROM matable" ça devrait suffire, non ?
Yazerty Posté 17 Décembre 2005 Auteur Posté 17 Décembre 2005 activite='O' c'est parce que certaines entrées sont offline et je ne veux donc pas les prendre en compte pour mes choses. J'ai finalement réussi à faire ce que je voulais, mais sans le max(id). Merci quand même !
Anonymus Posté 18 Décembre 2005 Posté 18 Décembre 2005 Ca me revoit 1 alors que l'id maximal est 429 ... Ca te renvoie '1', car tu demandes l'id maximal. Il te renvoie '429' (mais ne l'affiche pas), et quand tu lui demandes le nombre de lignes (mysql_num_rows) il t'affiche 1 ligne (celle qui comporte le résultat '429' ) Il aurait fallut, au lieu de mettre : $id_max = mysql_num_rows($id_max_req); mettre : $row = mysql_fetch_array$id_max_req); et afficher ainsi ensuite : echo $row['MAX(id)'];
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant