Je voudrais savoir comment faire comprendre a une boucle WHILE de lire a partir du 2e enregistrement du table ... ?
Comprenez vous ?
Merci.
Je voudrais savoir comment faire comprendre a une boucle WHILE de lire a partir du 2e enregistrement du table ... ?
Comprenez vous ?
Merci.
Le plus simple, pas forcément le plus classe :
- Requete de sélection dans un curseur
- Première lecture du curseur non traitée
- boucle while pour lire la suite
C'est de l'algorithmique un minimum de réflexion et ça passe tout seul normalement![]()
C'est chaud ...
En fait ce que je voudrais c'est 1erement qu'il lance sa recherche apres le 2e enregistrement et qu'il se stoppe dés qu'il a trouvé un résultat .... pour qu'il evite d'afficher tout les champs concernés par la condition ...
Grgrgrgrgrgrgrgr ...
Please ... Help me !![]()
bah tu fais comme tu fais d'habitude pour afficher une requete sauf que tu écrits
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 while ($qqch){ if($i==0) echo '1e enregistrement'; else echo 'je suis pas le premier' $i++ }
Ca me parait un peu simple tout de meme ... J'ai essayé cela déja mais impossible de faire marcher tu penses bien![]()
... ?
c'est souvent le plus simple qui marche le mieux
montre voir ce que tu as fait ?
Je n'y parviens pas ...
En utilisant une autre syntaxe dans la commande SQL comme "last_insert_id" ... Est ce que ca peut etre une autre piste ?
Grgrgrgrgrgrg merci.![]()
La réponse d'Asquel est juste, tu initialises une variable à 0, au premier passage dans la boucle, c'est à dire à la lecture du premier enregistrement, la variable vaut 0, grace à un if, tu empeche le traitement, tu incrémentes ta variable et maintenant tu peux travailler à partir du deuxième enregistrement.
Je débute dans le Php ... aie aie quelle galere ...
Je comprends pas deja ca alors la je suis mal barré ...
Encore plus simple : mysql_data_seek($tonresultsql, 1);
Tu te focalises sur PHP alors que comme dit plus haut c'est un souci algorithmique enfin bref...
File ton code ça ira peut-être plus vite finalement
Edit : bien vu haltabush![]()
Alors un exemple
Table Client : NumClient, NomClient
Cette table contient 1000 enregistrements et je ne connais pas le NumClient, qui est un auto_increment.
Il y a deux solutions :
En voilà une,
Voilà, à partir de là, tu démarres ta requete à partir du second enregistrement. La deuxième méthode est celle d'Asquel
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 $reponse=mysql_query("SELECT MIN(NumClient) FROM Client"); $donnee=mysql_fetch_array($reponse); $min=$donnee['MIN(NumClient)']; $reponse=mysql_query("SELECT * FROM Client WHERE NumClient>".$min); while($donnee=mysql_fetch_array($reponse)) { //Ton code }
Je vous remercie les mecs ...
Je vais eviter de vous donner mon code ... Il faut que j'y arrive tout de meme seul avec votre aide ... Merci encore je vous tiens au jus ...![]()
Très smart.Envoyé par haltabush
Je ne connaissais pas.
Pour la peine, je mets une bonne note
MerciEnvoyé par jml94
J'ai trouvé cette fonction il y a quelques semaines, depuis je m'en sert tous les jours![]()
J'ai opté pour la solution d'haltabush ...
Ca fonctionne !
Par contre, je voudrais si il est possible de stopper la recherche dés qu'il a trouvé une réponse positive ... ?
... Je suis chiant je sais ...
Tu mets un break mais c'est un peu crade, normalement tu dois pouvoir t'en sortir avec la condition de ton while...Envoyé par bilou95
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager