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

Langage PHP Discussion :

[Tableaux] changer d'enregistrement dans un WHILE


Sujet :

Langage PHP

  1. #1
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut [Tableaux] changer d'enregistrement dans un WHILE
    v'la le probleme,

    dans un while, j'ai besoin qu'il change d'enregistrement avant la fin du while dans l'objectif d'afficher mes enregistrements,
    • un à gauche,
    • un à droite
    Puis fin du while, il recommence
    un à gauche,
    un à droite
    et ainsi de suite, jusqu'a la fin

    PROBLEME : je ne sais pas lui demander de changer d'enregistrement PENDANT le WHILE



    merci d'avance

  2. #2
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    fais voir ton while, on va te l'arranger

  3. #3
    NoT
    NoT est déconnecté
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Par défaut
    Effectivement il doit y avoir moyen de faire autrement.

    Au pire tu peux stocker tes données dans un tableaux et parcourir ton tableau comme tu le souhaites, ça permet de contourner les inconvéniants des boucles mysql_fetch_truc.

    Mais à éviter sauf quand on peut pas faire autrement

  4. #4
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    j'ai pas le fichier avec moi mais en simplifié ça donne ça

    $var= mysql_fetch_array($result);

    while ($var){

    $nom = $_POST['nom']

    <div class="ligne">
    <div class="colonneG">
    echo"$nom";
    </div>

    // ICI JE VOUDRAIS PASSER A UN AUTRE ENREGISTREMENT

    <div class="colonneD">
    echo"$nom";
    </div>
    </div>
    }

  5. #5
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    le while($var), ça me ferait mal.

    Moi je pensais à un truc dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    while ($machin = mysql_fetch_array($result)) {
      //exploitation de $machin pour un affichage à gauche
     
      if ($machin = mysql_fetch_array($result)) {
        //exploitation de $machin pour un affichage à droite
      }
      else {
        // Nombre impair d'enregistrements, se débrouiller pour terminer proprement.
      }
    }

  6. #6
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    eusebius, je ne comprend pas ton code,

    Le while n'etant pas finit lors du if, l'affichage a droite ne vas t'il pas afficher la meme valeur que celle de gauche ?

    En revanche, le else, est tres interressant, et vas probablement m'aider pour la prochaine etape.

    merci

  7. #7
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par gretch
    Le while n'etant pas finit lors du if, l'affichage a droite ne vas t'il pas afficher la meme valeur que celle de gauche ?
    Non, parce que dans le corps du if tu mets à jour la variable $machin.

    Un coup sur deux (les impairs), $machin est mis à jour au début du while, et affiché dans la colonne de gauche.
    Un coup sur deux (les pairs), $machin est mis à jour au milieu du while, et affiché dans la colonne de droite.

  8. #8
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    je test,

  9. #9
    Membre expérimenté
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Par défaut
    si tu parcours une DB MySQL, il existe la fonction mysql_data_seek, qui te permet de te balader dans tes enregistrements.
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  10. #10
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    voila le code de mon while, le résultat, (comme je l'avait dit précédament... ) il m'affiche 2x le même enregistrement, et pas d'autres.


    <?php
    while ($val=mysql_fetch_array($req))
    {
    $part_num=$val&#91;'part_num'];
    $nom=$val&#91;'nom'];
    $text=$val&#91;'text'];
    $lien=$val&#91;'lien'];
    $img=$val&#91;'img'];
    &#160;&#160;&#160;echo
    "<div class=\"colh\">
    &#160;&#160;&#160;<div class=\"colg\">
    &#160;&#160;&#160;<fieldset>
    <legend>$nom</legend>
    $text
    $img
    </fieldset></div>"
    ;
    &#160;&#160;if (
    $val=mysql_fetch_array($req)){
    &#160;&#160;&#160;echo
    "
    &#160;&#160;&#160;&#160;&#160;&#160;<div class=\"cold\">
    &#160;&#160;&#160;<fieldset>
    <legend>$nom</legend>
    $text
    $img
    </fieldset></div></div>
    "
    ;}
    &#160;&#160;else {echo
    "<div class=\"colg\">
    &#160;&#160;<fieldset>
    <legend> $nom</legend>
    $text
    $img
    </fieldset></div></div>
    "
    ;} }
    ?>

  11. #11
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par gretch
    voila le code de mon while, le résultat, (comme je l'avait dit précédament... ) il m'affiche 2x le même enregistrement, et pas d'autres.
    Il faut évidemment que tu remettes à jour les variables $nom, $text, $img, etc. ou que tu utilises directement le tableau $val. Le PHP c'est presque magique, mais faut encore coder à la main

  12. #12
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    Citation Envoyé par Eusebius
    Il faut évidemment que tu remettes à jour les variables $nom, $text, $img, etc.
    Bah oui, c'est le sujet du post

    Citation Envoyé par Gretch
    (...)PROBLEME : je ne sais pas lui demander de changer d'enregistrement PENDANT le WHILE



    (...)
    mais je sais pas comment faire???

    je sais je suis un mais bon, faut faire avec...

  13. #13
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    while ($val=mysql_fetch_array($req)) {
      $part_num=$val['part_num'];
      $nom=$val['nom'];
      $text=$val['text'];
      $lien=$val['lien'];
      $img=$val['img'];
      echo"<div class=\"colh\">
        <div class=\"colg\">
        <fieldset>
        <legend>$nom</legend>
        $text
        $img
        </fieldset></div>";
    
      if ($val=mysql_fetch_array($req)) {
        $part_num=$val['part_num'];
        $nom=$val['nom'];
        $text=$val['text'];
        $lien=$val['lien'];
        $img=$val['img'];
        echo"
          <div class=\"cold\">
          <fieldset>
          <legend>$nom</legend>
          $text
          $img
          </fieldset></div></div>
          ";
      }
      else {
        echo"<div class=\"colg\">
          <fieldset>
          <legend> RIEN </legend>
          RIEN
          RIEN
          </fieldset></div></div>
          ";
      }
    }
    En espérant ne pas avoir fait d'erreur. L'important c'est que tu comprennes le principe.

  14. #14
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut
    je test,



    a+

  15. #15
    Membre émérite Avatar de gretch
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2006
    Messages
    1 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 165
    Par défaut




    Citation Envoyé par Eusebius
    TOUT LE CODE,
    MEERCI DU FOND DU COEUR : ça marche







    PS: Grand merci à Eusebius, pour ton implication sur ce forum, Si tt le monde avait ta compétence et ta serviabilité, le monde serait ... enfin tu vois ce que je veux dire ...


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] changer le nom d'un enregistrement
    Par smarechal dans le forum Langage
    Réponses: 8
    Dernier message: 04/04/2007, 17h10
  2. [Tableaux] probleme de for dans un while
    Par Skippy1 dans le forum Langage
    Réponses: 2
    Dernier message: 14/01/2007, 19h16
  3. [Tableaux] Uploade images et enregistrement dans BD
    Par dunbar dans le forum Langage
    Réponses: 9
    Dernier message: 27/11/2006, 14h53
  4. Réponses: 5
    Dernier message: 30/07/2006, 17h49
  5. Réponses: 14
    Dernier message: 13/10/2005, 12h55

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