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 :

Réutiliser 2 fois le résultat d'une requête [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut Réutiliser 2 fois le résultat d'une requête
    Bonjour,

    Dans un formulaire, j'ai deux selectbox qui permettent de choisir parmi près de 40000 clients. Pour éviter de faire deux fois cette grosse requête, j'ai pensé copier le résultat de ma requête dans une deuxième variable pour l'utiser dans la génération du deuxième selectbox, mais ça ne fonctionne pas.

    De toute façon, il doit probablement exister une meilleure façon d'utiliser deux fois le même résultat n'est-ce pas? Si oui, comment, sinon, pourquoi est-ce que ça ne marcherait pas?

  2. #2
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Par défaut
    Bonjour,

    fais voir ton code car il est forcémment possible de faire ce que tu dis. De plus, il est tres fortement conseillé de faire une seule fois cette même requete.

  3. #3
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut
    Très évidement :

    Alors voici en version la plus simplifiée possible ce que je fait, je vais sauter les balises php pour alléger le code:

    SELECTBOX #1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <select ...>
      $query = "SELECT no_client, nom FROM client";
      $result = mysql_query($query);
      $result2 = $result;
      while($client = mysql_fetch_array($result)) {
        echo("<option ...>...</option>");
      }
    </select>
    SELECTBOX #2
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select ...>
      while($client = mysql_fetch_array($result2)) {
        echo("<option ...>...</option>");
      }
    </select>
    Alors ça affiche dans le premier cas mais pas dans le deixième.

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    mysql_data_seek() fait exactement ce que tu veux (pas besoin de $result2=$result).

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Août 2003
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2003
    Messages : 235
    Par défaut
    C'est normal puisque tu as déjà parcouru tous les éléments de ta requete. Donc le deuxième while va sortir direct.
    Essaie d'utiliser le mysql_data_seek() de billoum avant ton 2e while.

  6. #6
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut
    AH! Voila le genre de fonction que je cherchais!

    Alors je devrais faire mysql_data_seek($result) ou mysql_data_seek($result, 0) ?

  7. #7
    Membre éclairé Avatar de FrankOVD
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juin 2005
    Messages
    438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Juin 2005
    Messages : 438
    Par défaut
    Super ça marche.

    Merci beaucoup!

  8. #8
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2004
    Messages
    496
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2004
    Messages : 496
    Par défaut
    Salut,

    tu veux dire retourner au premier enregistrment après une boucle avec mysql_fetch_array(p.ex.) ?

    Pour ça ya mysql_data_seek().

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

Discussions similaires

  1. Réutilisation des résultats d'une requête en DISTINCT
    Par r@phy dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 04/09/2006, 17h17
  2. Arrondir le résultat d'une requête
    Par wautierp dans le forum Langage SQL
    Réponses: 2
    Dernier message: 07/06/2004, 11h56
  3. Résultat d'une requête dans une variable...
    Par Hoegaarden dans le forum Bases de données
    Réponses: 6
    Dernier message: 28/04/2004, 13h51
  4. Résultat d'une requète SQL
    Par camino dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2004, 15h22
  5. [BDD] Enregistrer le résultat d'une requête
    Par Mowgly dans le forum C++Builder
    Réponses: 5
    Dernier message: 19/06/2002, 15h26

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