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 :

plusieurs mysql_fetch_array sur le même resultset [Fait] [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut plusieurs mysql_fetch_array sur le même resultset
    J'ai besoin à un moment donné de faire une requête lourde sur une base et je stocke le resultat de la fonction mysql_query dans un resultset, appelons le $result

    J'ai besoin dans la même page de fetcher plusieurs fois ce resultset.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     while($row = mysql_fetch_array($result))
                  { blabla
    Le problème est que ce n'est pas fait pour. une fois que je l'ai fetcher une fois, je ne peux plus le faire donc la solution c'est de refaire un mysql_query (sauf que comme j'utilise ca un nombre aleatoire de fois sur ma page, pouvant etre supérieur à 50fois, ce n'est pas solution fiable.

    Je pensais donc faire une copie de mon resultset dans une autre variable et travailler sur la copie et ainsi garder le resultset orginal à sa valeur d'origine.
    et donc j'ai fait (en croyant bien faire)
    mais au lieu de faire un clone, ca ne fait que deux variables qui pointent sur la meme chose.

    en tant que bon élève, je fais une recherche et je découvre la méthode clone()
    donc je me dis hop hop
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result2 = clone($result);
    et bam, jeme prend une erreur
    Warning: __clone method called on non-object in
    bref, là je suis un peu perdu

  2. #2
    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
    Par défaut
    regarde du côté de mysql_data_seek je pense que c'est la fonction qui va te servir et t'éviter moult bricolage (un seul query et après tu fais ce que tu veux avec le résultat, un fetch_array, tu fait un data_seek pour revenir au premier enregistrement et c'est reparti...)

    http://fr3.php.net/manual/fr/functio...-data-seek.php

  3. #3
    Rédacteur
    Avatar de Louis-Guillaume Morand
    Homme Profil pro
    Cloud Architect
    Inscrit en
    Mars 2003
    Messages
    10 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Cloud Architect
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 10 839
    Par défaut
    confirme moi si je l'utilise bien car l'exemple par défaut de la doc est pas terrible (le suivant dans les comments est mieux)

    je fais mon mysql_query

    je fais mon fetch_array
    et apres je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_data_seek($result, 0);
    pour repointer vers le début de mon resultset et je peux de nouveau faire mon fetch_array.

    ai-je bon?
    je mets en résolu en attendant car ca semble marché et ca me semble déjà bien plus rapide

  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
    Par défaut
    Oui je crois bien que effectivement c'est comme ça que ça marche

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

Discussions similaires

  1. Plusieurs vues sur un même fichier
    Par minicat dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 05/05/2014, 21h53
  2. [MFC] Plusieurs vues sur le même CTreeCtrl
    Par Denn's dans le forum MFC
    Réponses: 4
    Dernier message: 17/04/2006, 19h12
  3. Héberger plusieurs sites sur la même machine
    Par fgiuliano dans le forum Apache
    Réponses: 9
    Dernier message: 27/10/2005, 10h29
  4. [Débutant] Plusieurs versions sur un même système ?
    Par castaka dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 15/02/2005, 10h21
  5. Réponses: 4
    Dernier message: 14/10/2004, 17h36

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