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

Requêtes PostgreSQL Discussion :

reauete suite à une requete


Sujet :

Requêtes PostgreSQL

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 19
    Points : 18
    Points
    18
    Par défaut reauete suite à une requete
    Salut,

    Je souhaite grace au resultat d'une requete, l'incorporer dans une seconde. Je croyais que $result était ce qui correspondait ! Mais ne marche pas !
    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
     
    <? 
    $result = pg_exec($conn, "SELECT no_commune FROM adresse_21 WHERE adresse='$adresse'"); 
    if (!$result) { 
        echo "Erreur durant la requete.\n"; 
        exit; 
    } 
     
    $query = "SELECT adresse FROM adresse_21 WHERE no_commune='$result'"; 
    $result1 = pg_query($query) 
       or die ("exécution de la requete impossible"); 
    ?> 
    <table border> 
       <tr><td><b>adresse</b></td></b> 
    <? 
    while ($ligne = pg_fetch_array($result1)) 
       echo "<tr><td>$ligne[0]</td></tr>";
    Ou adresse est defini en amont = $adresse="rue de Moillebeau 45";

    resultat du script : Warning: pg_query() query failed: ERROR: pg_atoi: error in "Resource id #2": can't parse "Resource id #2" in /home_hdb/htdocs/phpPgAdmin/test/listeform2.php on line 51
    exécution de la requete impossible

    On m'a proposé la solution de pg_fetch_asso mais ne marche pas avec ma version de PHP

    Existe-t-il d'autres solutions

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 14
    Points : 15
    Points
    15
    Par défaut
    Je pense que tu peux essayer avec ça:

    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
    <?
    $result = pg_exec($conn, "SELECT no_commune FROM adresse_21 WHERE adresse='$adresse'");
    $resultat = pg_fetch_rows($result);
    if (empty($resultat[0])) { 
        echo "l'adresse $adresse n'est pas dans la base.\n"; 
        exit; 
    } 
     
    $query = "SELECT adresse FROM adresse_21 WHERE no_commune='".$resultat[0]."'";
    $result1 = pg_query($query)
       or die ("exécution de la requete impossible");
    ?>
    <table border>
       <tr><td><b>adresse</b></td></b>
    <?
    while ($ligne = pg_fetch_array($result1))
       echo "<tr><td>$ligne[0]</td></tr>";

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Merci C'est cool il marche par contre attention pg_fetch_row est sans S !

    Car j'étais en train de m'embeter a faire des If et Else et répéter mes requetes plusieurs fois ! Cela est quand même bcpplus simple !

    Encore Merci

  4. #4
    Membre à l'essai
    Inscrit en
    Juin 2003
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 19
    Points : 18
    Points
    18
    Par défaut
    Autre Pb, le script précédent marche je demande un numero de commune tout va bien mais dans le suivant :
    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
     
    $result = pg_exec($conn, "SELECT AsText (the_geom) As the_geom FROM adresse_21 WHERE adresse='rue de Moillebeau 45';"); 
    $resultat = pg_fetch_row($result); 
    if (empty($resultat[0])) { 
        echo "l'adresse $adresse n'est pas dans la base.\n"; 
        exit; 
    } 
     
    $query = "SELECT adresse FROM adresse_21 WHERE distance (the_geom, GeometryFromText('".$resultat[0]."', -1 ) ) < 1000"); 
    $result1 = pg_query($query) 
       or die ("exécution de la requete impossible"); 
    ?> 
    <table border> 
       <tr><td><b>adresse</b></td></b> 
    <? 
    while ($ligne = pg_fetch_array($result1)) 
       echo "<tr><td>$ligne[0]</td></tr>";
    ?>
    Je demande dans un première requete de me fournir un élément spatial
    resultat de ma requete sous psql :
    SELECT AsText (the_geom) As the_geom FROM adresse_21 WHERE adresse='rue de Moillebeau 45';
    the_geom
    ----------------------------
    POINT(498984.32 119708.28)

    Je voudrais que cet élément soit lu dans la seconde !
    Mais ne marche pas :
    Parse error: parse error in /home_hdb/htdocs/phpPgAdmin/test/listeform2.php on line 32

    ligne 32 = $query = "SELECT adresse FROM adresse_21 WHERE distance (the_geom, GeometryFromText('".$resultat[0]."', -1 ) ) < 1000");

    Avez-vous une idée ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2002
    Messages : 10
    Points : 8
    Points
    8
    Par défaut
    Salut,

    C'est une Parse Error :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: parse error in /home_hdb/htdocs/phpPgAdmin/test/listeform2.php on line 32
    Il y a une parenthèse fermante de trop dans ta requête.

    Sinon, pour ton premier post, il est plus interréssant de faire une jointure que de faire 2 requêtes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT AsText (the_geom) As the_geom, adresse
    FROM adresse_21
    WHERE   adresse='rue de Moillebeau 45'
    AND     distance (the_geom, GeometryFromText('".$resultat[0]."', -1 ) ) < 1000;
    Rémi

Discussions similaires

  1. Mise à jour de données suite à une requete
    Par laurentX3 dans le forum SAGE
    Réponses: 7
    Dernier message: 26/06/2013, 09h36
  2. Rafraichir formulaire suite à une requete
    Par houleyh dans le forum VBA Access
    Réponses: 3
    Dernier message: 09/12/2012, 09h18
  3. Récuperer une valeur suite à une requete
    Par Micke7 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 28/09/2006, 18h55
  4. Envoyer un mail, suite à une requete multiple.
    Par Z[ee]k dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 06/07/2006, 14h06
  5. reauete suite à une requete
    Par 74160 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 22/08/2003, 14h42

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