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 eviter de faire 2 fois la meme requete [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 121
    Par défaut comment eviter de faire 2 fois la meme requete
    J'ai une page qui affiche les resultats d'un requete mais dans deux "Div" differente. Une pour les participants et l'autre pour le detail des points.
    J'effectue donc deux boucle.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $sql = ...
     
    $reponse1 = mysql_query($sql) or die (mysql_error());
     
    $reponse2 = mysql_query($sql) or die (mysql_error());
    Ma premiere Div:

    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
     
    <Div class="style12" align="left">
    <table class="style16">
     
    <?php
     
    while ($donnees = mysql_fetch_array($reponse1))
    {
    static $a=1 ;
    ?>
     
     
    <tr>
    <td width="110" align="center"><?php echo $a++ ; ?>.</td>
    <td width="120" align="center"><?php echo htmlentities($donnees['Nom']); ?></td>
    <td width="120" align="center"><?php echo htmlentities($donnees['Prenom']); ?></td>
    <td width="110" align="center"><?php echo $donnees['Total']; ?></td>
    </tr>
     
     
    <?php
    }
    ?>
     
    </table>
    </Div>
    Et la deuxieme Div:

    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
     
    <?php
     
    while ($donnees = mysql_fetch_array($reponse2))
    {
     
    ?>
     
    <Div>
    <table width="100%" height="100%">
    <tr><td><?php echo htmlentities($donnees['Joueur1']); ?></td><td align="right"><?php echo $donnees['ST1']; ?></td></tr>
    <tr><td><?php echo htmlentities($donnees['Joueur2']); ?></td><td align="right"><?php echo $donnees['ST2']; ?></td></tr>
    <tr><td><?php echo htmlentities($donnees['Joueur3']); ?></td><td align="right"><?php echo $donnees['ST3']; ?></td></tr>
    <tr><td><?php echo htmlentities($donnees['Joueur4']); ?></td><td align="right"><?php echo $donnees['ST4']; ?></td></tr>
    <tr><td><?php echo htmlentities($donnees['Joueur5']); ?></td><td align="right"><?php echo $donnees['ST5']; ?></td></tr>
    </table>
    </Div>

    Ma question est comment faire pour faire deux fois la meme boucle (en prenant des infos differentes) sans executer deux fois la meme requete ?

    PS: il est impossible de separer la requete en deux car il y a des calculs necessaire pour les deux affichages...

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 323
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 323
    Billets dans le blog
    17
    Par défaut
    1. Lance la requête
    2. Place chacun des enregistrements dans un tableau
    3. Boucle autant de fois que tu veux sur ce tableau


  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2007
    Messages : 121
    Par défaut
    Comment faire pour placer chacun des enregistrements dans un tableau ?

    $sql = ""

    $reponse1 = mysql_query($sql) or die (mysql_error());

    while ($donnees = mysql_fetch_row($reponse1))
    {
    }

    mais pour faire une deuxieme boucle, j'ai ecris ca mais ca marche pas:

    while ($donnees1 = mysql_fetch_row($reponse1))
    {
    }


    Help !

  4. #4
    Membre chevronné Avatar de papyphp
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Âge : 75
    Localisation : Belgique

    Informations professionnelles :
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 438
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $sql = ""
     
    $reponse = mysql_query($sql) or die (mysql_error());
     
    while ($donnees = mysql_fetch_assoc($reponse)){
      $ligne[] = $donnees;
      }
    et ensuite pour chacune des div
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    while ($donnees = mysql_fetch_array($reponse1))
    vou mettez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($ligne as $donnees){

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

Discussions similaires

  1. comment créer et manipuler n fois le meme objet
    Par fondu dans le forum Débuter
    Réponses: 9
    Dernier message: 25/05/2012, 17h57
  2. [WD11] comment afficher un champ 8 fois en meme temps
    Par Math2012 dans le forum WinDev
    Réponses: 9
    Dernier message: 15/05/2012, 19h47
  3. Comment eviter de faire un Select Case avec beaucoup de valeur
    Par jam92400 dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 05/11/2010, 15h19
  4. Réponses: 2
    Dernier message: 22/06/2006, 13h59
  5. [C#][Débutant] Comment empecher d ouvrir plusieurs fois la meme fenetre
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 21
    Dernier message: 27/04/2006, 13h41

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