{PostgreSQL} requète sql et affichage

Fermé
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009 - 21 juil. 2009 à 10:43
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009 - 21 juil. 2009 à 18:01
Bonjour,

hier en reflechissant bien j'ai finalement mis 'host' au lieu de 'hostname' et ça marché mais j'ai un autre problème et je voudrais connnaitre vos avis sur ça,après avoir me connecté à ma base de donnée ,j'ai lancer une requète sql et je veux afficher les resultats sous forme de tableau donc je reprends le code dépuis le début:

<?php
$conn =("hostname=localhost port=5432 dbname= gdt user=postgres password=lavielle");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"lavielle"
// lancement de la requète
$sql = pg_query ("select* from projet");
$resultat= pg_exec ($dbconn,$sql);
// utilisation de la boucle tant que
(while infos = pg_fetch_array($sql) ) {
echo $ infos = [ id-projet];
echo $ infos = [ nom-projet];
echo $ infos = [ code-mo];
echo $ infos = [ resultat-projet];
echo $ infos = [ montant-projet];
echo $ infos = [ code-localisation];
echo $ infos = [ id-nature];
echo $ infos = [ code-etat]; }

pg_close($dbconn);
?>
apparenment ma boucle n'est pas bien exécuté car ça m'affiche parse error. merci et j'attends vos suggestions avec imapatience
A voir également:

10 réponses

Bonjour

suggestions:
Si tu as un message d'erreur, fais un copier-coller du message complet, pas simplement "parse error". Tu nous prives d'élements d'analyse.
Si tu as mis 'host' au lieu de 'hostname', mets-nous un code dans lequel il y a effectivement host.
select * : insère un espace entre select et *
$ infos : il s'agit de variable PHP, pas d'espace entre $ et info
echo $ infos = [ id-projet]; : plusieurs problèmes :
. pas d'espace entre $ et info
. qu'est-ce que c'est que ce = ?
id-projet : en indice de tableau, c'est une chaîne et doit être entouré de ' ou de "
en résumé :
echo $infos = [ 'id-projet'];
0
Pardon, j'ai oublié de retirer le = à la fin
echo $infos [ 'id-projet'];
et je n'avais pas vu que tu avais oublié un $ :
while $infos = pg_fetch_array($sql)

Il y en a sans doute d'autres, commençons par ça
0
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009
21 juil. 2009 à 16:18
merci pour les infos, je peux dire que cava mieux parce que j'obtiens ma page mais avec 2 messages d'ereur que je vais t'envoyer pour que tu regardes :
Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: syntax error at or near "@" LINE 1: $dbconn,$sql ^ in C:\wamp\www\gdt\postgreSQL.php on line 16
2PUIT2réalisé6000002223AGRICULTURE3réalisé7000003331FORAGE1réalisé1000000111.le premier mesage on peut déchiffré ça mais le second j'avoue ne rien comprendre.à biento
0
Tu n'as mis aucun <br /> entre tout tes echo, ça écrit tout à la queue-leu-leu.
echo $infos [ 'id-projet'],'<br /'>;

Puis remets le script modifié et le premier message d'erreur en précisant sur quelle ligne est l'erreur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
pardon, pour l'erreur, c'est ta ligne $resultat= pg_exec ($dbconn,$sql); qui la cause. Elle n'a rien à faire ici, retire la tout simplement
0
1 - arrête de créer une nouvelle discussion à chaque fois. continue dans la même
2 - Quand je fais une faute de frappe, tu as le droit de la corriger, surtout quand elle est aussi évidente. C'est echo $infos['id-projet'],'<br/>'; ( >' au lieu de '> à la fin )
0
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009
21 juil. 2009 à 17:29
je pensais avoir continuer dans la mm discusion mais si j'ai crée une nouvelle discusion je m'en excuse alors,
si toute fois on peut continué avec notre discussion j'ai rectifié '<br/>' mais je continue à avoir la mm écriture mais cette fois-ci en vertticale .tu sais je suis à mes débuts en postgresql et php.merci de m'avoir consacrer tout ce temps
0
Tu n'as plus de message d'erreur ? Si oui, la question initiale est résolue; si non, dis-nous lequel.

Que l'écriture soit en vertical, c'est normal, c'est pour ça que je t'ai fait rajouter de '<br />', pour que ce soit plus lisible.
Maintenant, si tu veux faire de la mise en page de tes résultats, il va bien falloir que tu te prennes par la main et que tu travailles un peu le HTML et le PHP. Je te conseille le site du zéro, il y a plein de bons conseils et de tutoriaux (paraît-il)
0
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009
21 juil. 2009 à 18:01
effectivement j'ai plus de mesages d'erreur, mais j'obtiens toujours ce message :
2PUIT2réalisé6000002223AGRICULTURE3réalisé7000003331FORAGE1réalisé1000000111
en haut de ma page.html cette fois c'est en horizontale et si je mets les '<br/>' ça serait en verticale ce charabia n'a rien avoir dans mon code,et merci pour les infos concernait le site du zéro et d'ailleurs c'est là que je vais souvent
0
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009
21 juil. 2009 à 17:01
recapitulons apès toutes les modifications j'obtiens ce message d'erreur:
Parse error: parse error in C:\wamp\www\gdt\postgreSQL.php on line 19
qui concerne la ligne: echo $infos['id-projet'],'<br/'>;
pour ce qui concerne le premier mesage d'erreur c'est résolu j'avais mis 'hostname' au lieu de 'host' ça concernait cette ligne : $conn =("host=localhost port=5432 dbname= gdt user=postgres password=lavielle");

donc voilà le code repris,
<?php
$conn =("host=localhost port=5432 dbname= gdt user=postgres password=lavielle");
$dbconn = pg_connect("$conn");
// connexion à une base de données nommée "gdt" sur l'hôte "localhost" avec un
// nom d'utilisateur"postgres" et un mot de passe"lavielle"

$sql = pg_query("select * from projet");


while($infos = pg_fetch_array($sql)) {
echo $infos['id-projet'],'<br/'>;
echo $infos['nom-projet'],'<br/'>;
echo $infos['code-mo'],'<br/'>;
echo $infos['resultat-projet'],'<br/'>;
echo $infos['montant-projet'],'<br/'>;
echo $infos['code-localisation'],'<br/'>;
echo $infos['id-nature'],'<br/'>;
echo $infos['code-etat'],'<br/'>; }
pg_close($dbconn);
?>
-1