IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Comment débuter une boucle WHILE à partir du 2e enregistrement de la table ? [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Points : 117
    Points
    117
    Par défaut Comment débuter une boucle WHILE à partir du 2e enregistrement de la table ?
    Je voudrais savoir comment faire comprendre a une boucle WHILE de lire a partir du 2e enregistrement du table ... ?

    Comprenez vous ?
    Merci.

  2. #2
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    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

  3. #3
    Membre régulier Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Points : 117
    Points
    117
    Par défaut
    Existe il un tutoriel ?

  4. #4
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    C'est de l'algorithmique un minimum de réflexion et ça passe tout seul normalement

  5. #5
    Membre régulier Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Points : 117
    Points
    117
    Par défaut
    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 !

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    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++
    }

  7. #7
    Membre régulier Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Points : 117
    Points
    117
    Par défaut
    Ca me parait un peu simple tout de meme ... J'ai essayé cela déja mais impossible de faire marcher tu penses bien

    ... ?

  8. #8
    Membre régulier
    Inscrit en
    Novembre 2004
    Messages
    151
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2004
    Messages : 151
    Points : 106
    Points
    106
    Par défaut
    c'est souvent le plus simple qui marche le mieux
    montre voir ce que tu as fait ?

  9. #9
    Membre régulier Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Points : 117
    Points
    117
    Par défaut
    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.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    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.

  11. #11
    Membre régulier Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Points : 117
    Points
    117
    Par défaut
    Je débute dans le Php ... aie aie quelle galere ...

    Je comprends pas deja ca alors la je suis mal barré ...

  12. #12
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Encore plus simple : mysql_data_seek($tonresultsql, 1);

  13. #13
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    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

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    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,

    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
    }
    Voilà, à partir de là, tu démarres ta requete à partir du second enregistrement. La deuxième méthode est celle d'Asquel

  15. #15
    Membre régulier Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Points : 117
    Points
    117
    Par défaut
    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 ...

  16. #16
    Membre expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Points : 3 545
    Points
    3 545
    Par défaut
    Citation Envoyé par haltabush
    Encore plus simple : mysql_data_seek($tonresultsql, 1);
    Très smart.
    Je ne connaissais pas.



    Pour la peine, je mets une bonne note

  17. #17
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    104
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 104
    Points : 115
    Points
    115
    Par défaut
    Bon courage

  18. #18
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    Citation Envoyé par jml94
    Très smart.
    Je ne connaissais pas.



    Pour la peine, je mets une bonne note
    Merci
    J'ai trouvé cette fonction il y a quelques semaines, depuis je m'en sert tous les jours

  19. #19
    Membre régulier Avatar de bilou95
    Inscrit en
    Septembre 2006
    Messages
    433
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 433
    Points : 117
    Points
    117
    Par défaut
    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 ...

  20. #20
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Citation Envoyé par bilou95
    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...

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. comment sortir d'une boucle while d'un Iterator
    Par solawe dans le forum Langage
    Réponses: 6
    Dernier message: 18/03/2008, 13h46
  2. [MySQL] Comment éviter qu'une boucle While répète certains éléments ?
    Par matperino dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 01/06/2007, 10h11
  3. [MySQL] Calcul d'un taux à partir d'une boucle while
    Par zana74 dans le forum PHP & Base de données
    Réponses: 32
    Dernier message: 14/08/2006, 19h16
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo