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 :

[PostGreSQL] Comment faire une vraie affectation de variable


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut [PostGreSQL] Comment faire une vraie affectation de variable
    Bonjour,

    voilà j'ai besoin pour une raison pratique de faire une "vrai" affectation et non juste une redirection.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $reponse = pg_exec($SQL);
    $reponse2 = $reponse;
    j'ai besoin que $reponse2 est exactement le même résulat SQL que $reponse. Pour 2 boucles distinct par leur effets mais pas leur ordre.

    seulement l'affectation $reponse2 = $reponse; n'est pas absolu mais seulement relatif (peut etre pas les bon terme)

    $reponse est un pointeur sur "$SQL"
    $reponse2 est un pointeur sur $reponse

    du coup dans ma 2eme boucle il ne se passe rien puisque la premiere avec les pg_fetch_array($reponse) ont vidé $SQL


    Comment faire une vrai copie svp ?

    Merci

  2. #2
    Membre éprouvé Avatar de NiHiL
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Par défaut
    Tu veux une référence en clair pas une affectation :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $reponse = pg_exec($SQL);
    $reponse2 = &$reponse;

    http://fr.php.net/manual/fr/language...ces.whatdo.php

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut
    oui effectivement.

    seulement cela ne semble pas marcher non plus


    ma premiere boucle marche impec, par contre la 2eme qui utilise $reponse2 ne fait rien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    while ($donnees = pg_fetch_array($reponse2))
    {
    ...
    }
    je sort directement de la bouche (j'ai mi des echo de test).



    Ce que je voudrais c'est faire l'exécution de la requete une seul fois et me servire du résultat 2 fois

  4. #4
    Membre éprouvé Avatar de NiHiL
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Par défaut
    Normal que tu sorte directement de ta deuxième boucle car t'es arrivé a la fin de la ressource SQL dans ta première boucle.

    Le mieux pour toi c'est de refaire la query de la même requête devant chaque boucle.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut
    Citation Envoyé par NiHiL
    Normal que tu sorte directement de ta deuxième boucle car t'es arrivé a la fin de la ressource SQL dans ta première boucle.
    C'est pour cela que je voudrais faire une copie "conforme" du résultat. Sans refaire l'exécution de la requete.

    De façon à ce que la boucle1 utilise les résultats1 et la boucle2 les résultats2.

    Mais ce n'est peut etre pas possible.

  6. #6
    Membre éprouvé Avatar de NiHiL
    Inscrit en
    Juin 2006
    Messages
    101
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 101
    Par défaut
    A priori non, le passage de ressource doit se faire exclusivement par référence et non par affectation, le meilleur moyen reste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $reponse = pg_exec($SQL);
    $reponse2 = pg_exec($SQL);

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    67
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 67
    Par défaut
    ok

    merci bien pour ton aide et tes explications.

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

Discussions similaires

  1. Comment faire une variable public ?
    Par dimitris dans le forum Général Java
    Réponses: 3
    Dernier message: 08/02/2010, 03h14
  2. Réponses: 4
    Dernier message: 21/09/2008, 01h24
  3. Comment faire une partie fixe et une partie variable ?
    Par bassiste dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 11/06/2008, 15h45
  4. Comment faire une variable pour tout le programme ?
    Par Nico128 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 04/06/2007, 08h48
  5. Comment faire une variable de session correctement
    Par Battosaiii dans le forum Servlets/JSP
    Réponses: 14
    Dernier message: 10/04/2006, 21h46

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