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] Autocomplétion dynamique [PostgreSQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 126
    Points : 71
    Points
    71
    Par défaut [PostgreSQL] Autocomplétion dynamique
    Bonjour,
    Voila je viens de découvrir le script très complet sur ce meme site
    et je tente de l'adapter en remplaçant la liste de valeur stockée
    dans le tableau par une liste venant d'une base de données.
    Et ça ne marche pas. Est ce logique?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //$liste = array("abeille","abricot","acheter","acheteur",...
    $conn = pg_connect("host=localhost dbname=foncier user=cadastre password=cad5962");
    if (!$conn) {
      echo "Erreur de connexion.\n";
      exit;
    }
    $result = pg_query ($conn, "select nom from client order by nom");
    if (!$result) {
      echo "Erreur durant la requête.\n";
      exit;
    }
     
    $liste = pg_fetch_array ($result);
    j'ai mis en commentaire la liste statique et la dernière ligne e mon code devrait la remplacer...
    merci d'avance

  2. #2
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Fait un print_r de ta liste 'ancienne version'.
    Fait un print_r du retour de ta requete et regarde les differences.

    Avec un peu de bol, ton problème va apparaitre de lui même.

    Ps: si tu mets des "<pre>" "</pre>" autour de ton print_r, ca sera plus agreable a lire.
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Je n'ai jamais utilisé PostgreSQL, toutefois son utilisation doit être similaire à MySQL, donc je verrais plutôt quelque chose de ce goût là :
    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
    19
    20
    21
    $conn = pg_connect("host=localhost dbname=foncier user=cadastre password=cad5962");
    if (!$conn) {
      echo "Erreur de connexion.\n";
      exit;
    }
    $result = pg_query ($conn, "select nom from client order by nom");
    if (!$result) {
      echo "Erreur durant la requête.\n";
      exit;
    }
     
    $liste = array();
    while ($array = pg_fetch_assoc($result)) {
        $liste[] = $array['nom'];
    }
     
    pg_close($conn);
     
    echo '<pre>';
    print_r($liste);
    echo '</pre>';

    Julp.

  4. #4
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    Hummm... tu as écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $liste = array();
    while ($array = pg_fetch_assoc($result)) {
        $ligne[] = $array['nom'];
    }
    Peut-être voulais tu dire dans le while liste et non pas ligne ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $liste = array();
    while ($array = pg_fetch_assoc($result)) {
        $liste[] = $array['nom'];
    Et un peu plus bas, de nouveau liste dans le print_r ?

    Ou alors j'ai zappé un truc (d'un autre coté, il est minuit passé et je ne suis pas forcement dans le meilleur état de fraicheur possible, alors j'ai ptete effectivement zappé un truc )

    Bref, bonne nuit ;-)
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 126
    Points : 71
    Points
    71
    Par défaut
    Merci pour vos réponses....
    J'ai fait les tests que vous conseillez
    j'ai bien une liste qui a la même tête que
    la liste statique de l'exemple.
    Mais toujours rien dne s'affiche dans le chams de saisie.
    Les seules différences que je vois, c'est que :
    - dans ma table les noms sont en majuscule (meme en saisissant
    un nom en majuscule rien ne s'affiche)
    - j'ai un grand nombde de nom différents (environ 2000)
    - et bien sur j'ai changé le script initiale qui peut etre ne peut gérer
    une liste de valeur issues d'une bdd(dunamiqye et non statique)....
    Je sèche....

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    126
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 126
    Points : 71
    Points
    71
    Par défaut
    J'ai trouvé, enfin façon de parler, ça venait effectivement
    de la caste. En passant tout en minusucle comme ci dessous,
    ça fonctionne impec.
    Merci bcp bcp bcp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $liste = array();
    while ($array = pg_fetch_assoc($result)) {
        $liste[] = strtolower($array['nom']);
    }

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

Discussions similaires

  1. Databinding dynamique pour autocomplétion
    Par lepierrot dans le forum Windows Forms
    Réponses: 8
    Dernier message: 20/05/2009, 15h27
  2. [Kylix] PostgreSql via ODBC
    Par doykati dans le forum EDI
    Réponses: 3
    Dernier message: 08/02/2007, 10h10
  3. [PostgreSQL] [PostGreSQL] menu dynamique php-postgre-css
    Par tyrann dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 02/11/2005, 17h23
  4. Réponses: 4
    Dernier message: 13/05/2002, 16h43
  5. repertoire temp dynamique
    Par killpilot dans le forum C
    Réponses: 2
    Dernier message: 26/04/2002, 16h19

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