Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & PostgreSQL
PHP & PostgreSQL Forum d'entraide sur PostgreSQL avec PHP. Avant de poster -> FAQ PostgreSQL, Cours PostgreSQL. Pour les questions concernant le moteur PostgreSQL plutôt que les fonctions PHP, merci d'utiliser le forum PostgreSQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/01/2007, 18h20   #1
Nouveau Membre du Club
 
Inscription : novembre 2003
Messages : 126
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 126
Points : 37
Points : 37
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 :
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
noarno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 18h31   #2
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
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/
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 22h40   #3
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
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 :
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.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 00h15   #4
Modérateur
 
Avatar de Rakken
 
Inscription : août 2006
Messages : 1 207
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 1 207
Points : 1 137
Points : 1 137
Hummm... tu as écris
Code :
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 :
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/
Rakken est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 10h22   #5
Nouveau Membre du Club
 
Inscription : novembre 2003
Messages : 126
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 126
Points : 37
Points : 37
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....
noarno est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 10h37   #6
Nouveau Membre du Club
 
Inscription : novembre 2003
Messages : 126
Détails du profil
Informations forums :
Inscription : novembre 2003
Messages : 126
Points : 37
Points : 37
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 :
1
2
3
4
5
 
$liste = array();
while ($array = pg_fetch_assoc($result)) {
    $liste[] = strtolower($array['nom']);
}
noarno est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h44.


 
 
 
 
Partenaires

Hébergement Web