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 :

[SQL] requete sql dans php


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 59
    Points
    59
    Par défaut [SQL] requete sql dans php
    salut,

    En fait, je fais une requete sql dans php et je veux utiliser le resultat de cette requete 2 fois mais le php execute juste une fois, voila par exemple un petit exemple, juste imprimer le resultat 2 fois:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     <?php
        mysql_connect("localhost", "root", "");
        mysql_select_db("bdm");
        $reponse1 = mysql_query("SELECT * FROM ts ");
     while     ($donnees11 = mysql_fetch_array($reponse1))
                 {
                   echo $donnees11['site'];  
          }
     
    while ($donnees11 = mysql_fetch_array($reponse1))
           {
           echo $donnees11['site'];  
          }
          ?>
    Il imprime seulement une fois, le porbleme que je ne veux pas fait tant de requetes que je veux utiliser, ce n'est pas logique de faire pls requetes.

    Merci,

  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
    Points : 3 377
    Points
    3 377
    Par défaut
    travaille sur une copie de $reponse1.

  3. #3
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778

  4. #4
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 59
    Points
    59
    Par défaut
    Merci pour les réponses;
    J'ai essaye de me positionner sur le premier enregistrement avec:
    @mysql_data_seek($reponse1,0);
    $donnees11 = @mysql_fetch_assoc($reponse1);
    mais dans ma table il y a 4 enregistrements et tjs il affiche tous sans le premier c.a.d les " derniers.

    Alors...j'utilise la derniere version de wamp5

  5. #5
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    je dirai que tout simplement, tu passes une seule fois dans le while qui prend tes valeurs dans ta BDD, tu stockes tout ca dans un tableau, et apres tu travailles, autant de fois que tu veux sur le tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        mysql_connect("localhost", "root", "");
        mysql_select_db("bdm");
        $reponse = mysql_query("SELECT * FROM ts ");
        while( $donnees = mysql_fetch_array($reponse))
        {
                   $tab[] = $donnees['site'];  
         }

  6. #6
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 59
    Points
    59
    Par défaut
    Merci pour ton aide, mais $donnees n'est pas déjà un array....et comment apres je veux lire l'array, je sais avec while mais commet je l'arrete??

  7. #7
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    TU fais une boucle for de i = 0 à la taille du tableau

  8. #8
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 59
    Points
    59
    Par défaut
    Mais mi je ne sais pas la taille de tableau comme c'est une requete de BD qui change tt le temps saus si je fais une requette avec count et dans ce cas la j'aurai 2 requette, ca va pas etre lourd.
    Tu veux dire
    while( $donnees = mysql_fetch_array($reponse1))
    {
    $tab[] = $donnees['site'];
    }
    (for $i=0;$i<taille_tableau;$i++)
    {echo $tab[i];
    }

  9. #9
    Membre émérite

    Homme Profil pro
    Expert PHP
    Inscrit en
    Novembre 2004
    Messages
    2 127
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Expert PHP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 127
    Points : 2 557
    Points
    2 557
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    while( $donnees = mysql_fetch_array($reponse1))
    {
         $tab[] = $donnees['site'];
    }
     
    for( $i=0 ; $i<count($tab) ; $i++)
    {
         echo $tab[i];
    }
    exactement c'est ça.

    il faut te dire que parcourir le fetch array, c'est un peu long et donc le faire une seul fois, c'est beaucoup mieux, comme ca tu embete plus ta BDD apres.

    par contre un for sur un tableau, ca va vite en PHP.

    Voila, j'espère qu'on a répondu a toute tes questions.

  10. #10
    Membre du Club
    Inscrit en
    Mars 2006
    Messages
    152
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 152
    Points : 59
    Points
    59
    Par défaut
    Merci bcp,

    Ca fonctionne maintenant.

    Merci

  11. #11
    Membre confirmé
    Homme Profil pro
    Ingénieur réseau et sécurité / Consultant
    Inscrit en
    Août 2005
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur réseau et sécurité / Consultant
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 1 068
    Points : 493
    Points
    493
    Par défaut
    n'oublie pas le merci !

Discussions similaires

  1. [VB] requete SQL et affectation dans un champs
    Par erox44 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 19/04/2007, 16h59
  2. Syntaxe requete SQL insert into dans VBA
    Par @rkane dans le forum Requêtes et SQL.
    Réponses: 9
    Dernier message: 12/12/2006, 22h03
  3. Réponses: 3
    Dernier message: 15/05/2006, 17h29
  4. Regroupement par tranche dans une requete SQL (MS SQL)
    Par AODRENN dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 21/03/2006, 13h21
  5. Requete SQL : Utiliser 'AND' dans un DECODE
    Par LoulouFifi dans le forum Oracle
    Réponses: 2
    Dernier message: 02/12/2005, 09h26

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