{PostgreSQL} affichage d un ensemble de mes tables

Fermé
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009 - 24 sept. 2009 à 13:59
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009 - 27 sept. 2009 à 16:51
bonjour,merci nico pour ta contribution mais je continu toujours à avoir des messages qui sont les suivants:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "-" LINE 2: localisation."libelle" as lo-libelle,mo."libelle" as mo-lib... ^ in C:\wamp\www\gdt\projets[1].php on line 38
je t'envoie le code entier avec les nouvelles modifications .

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title> gestion de projet </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


</head>
<body>


<?php
$conn =("host=localhost port=5432 dbname=gdt user=postgres password=gabero");
$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"gabero"
// éxecution de la requète SQL

$sql = pg_query('SELECT projet."id-projet",projet."nom-projet",projet."id-date",projet."id-nature",projet."code-localisation",projet."code-etat",projet."code-mo",projet."resultat-projet",projet."montant-projet",
localisation."libelle" as lo-libelle,mo."libelle" as mo-libelle,nature."libelle" as na-libelle ,date."date-debut",etat."libelle" as eta-libelle
FROM projet
INNER JOIN date
ON projet."id-date"= date."id-date"
INNER JOIN etat
ON projet."code-etat" = etat."code-etat"
INNER JOIN nature
ON projet."id-nature" = nature."id-nature"
INNER JOIN mo
ON projet."code-mo" = mo."code-mo"
INNER JOIN localisation
ON projet."code-localisation" = localisation."code-localisation"

WHERE projet."id-nature" = 1
AND projet."id-date" = 1
AND projet."code-etat"= 1
AND projet."code-localisation" = 1
AND projet."code-mo" = 1');

//En-tete du tableau
echo "<table border='1' >
<caption><strong> PROJET</strong></caption>
<tr>
<td>id-projet</td>
<td>nom-projet</td>
<td>code-mo</td>
<td>resultat-projet</td>
<td>montant-projet</td>
<td>code-localisation</td>
<td>id-nature</td>
<td>id-date</td>
<td>code-etat</td>
<td>lo-libelle</td>
<td>mo-libelle</td>
<td>na-libelle</td>
<td>eta-libelle</td>
<td>date-debut</td>
</tr>";
// utilisation de la boucle tant que
while($infos = pg_fetch_array($sql)) {
// affichage des resultats
echo"<tr>";//ligne du tableau
echo "<td>";echo $infos['id-projet'];echo "</td>";
echo "<td>";echo $infos['nom-projet'];echo "</td>";
echo "<td>";echo $infos['code-mo'];echo "</td>";
echo "<td>";echo $infos['resultat-projet'] ;echo "</td>";
echo "<td>";echo $infos['montant-projet'] ;echo "</td>";
echo "<td>";echo $infos['code-localisation'] ;echo "</td>";
echo "<td>";echo $infos['id-nature'] ;echo "</td>";
echo "<td>";echo $infos['id-date'] ;echo "</td>";
echo "<td>";echo $infos['code-etat'];echo "</td>";
echo "<td>";echo $infos['lo-libelle'];echo "</td>";
echo "<td>";echo $infos['mo-libelle'];echo "</td>";
echo "<td>";echo $infos['na-libelle'];echo "</td>";
echo "<td>";echo $infos['eta-libelle'];echo "</td>";
echo "<td>";echo $infos['date-debut'];echo "</td>";
echo"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau

pg_close($dbconn);
?>
</body>
</html>


merci de m avoir aider
A voir également:

3 réponses

Bonjour

Bonjour,merci nico Donc tu continues un autre fil ? Je ne sais pas si nico va te retrouver ici...

Tu devrais mettre entre " tous tes identifiants qui comportent de caractères non alphanumériques :
localisation."libelle" as "lo-libelle",mo."libelle" as "mo-libelle",nature."libelle" as "na-libelle" ,date."date-debut",etat."libelle" as "eta-libelle" etc...

au lieu de
localisation."libelle" as lo-libelle,mo."libelle" as mo-libelle,nature."libelle" as na-libelle ,date."date-debut",etat."libelle" as eta-libelle etc...


Tu peux aussi utiliser _ à la place de - , tu ne devras (je ne suis pas vraiment sûr) pas avoir le même problème
0
BONJOUR,je voudrais te remercier tout simplement car ca marche,maintenant je voudrais inserer une boucle dans en ce qui conecrene la partie
WHERE projet."id-nature" = 1
AND projet."id-date" = 1
AND projet."code-etat"= 1
AND projet."code-localisation" = 1
AND projet."code-mo" = 1' ;
pour qu elle s incremente d elle meme.merci d avance
0
logoni Messages postés 19 Date d'inscription lundi 20 juillet 2009 Statut Membre Dernière intervention 27 septembre 2009
27 sept. 2009 à 16:51
bonjour ,merci à vous tous j'ai resolu le problème il fallait ajouter des quotes a partie select
exemple:localisation."libelle" as "lo-libelle"
au lieu de localisation."libelle" as lo-libelle.
Ce que je veux maintenant c'est inserer un compteur dans la partie WHERE de mon code:

WHERE projet."id-nature" = 1
AND projet."id-date" = 1
AND projet."code-etat"= 1
AND projet."code-localisation" = 1
AND projet."code-mo" = 1'
pour qu'elle puisse incrementer automatiquement les diffrents identifiants(id-date,code-etat,code-localisation,code-mo,id-nature)

pour cela voici le code entier

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
<head>
<title> gestion de projet </title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />


</head>
<body>


<?php
$conn =("host=localhost port=5432 dbname=gdt user=postgres password=gabero");
$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"gabero"
// éxecution de la requète SQL

$sql = pg_query('SELECT projet."id-projet",projet."nom-projet",projet."id-date",projet."id-nature",projet."code-localisation",projet."code-etat",projet."code-mo",projet."resultat-projet",projet."montant-projet",
localisation."libelle" as "lo-libelle",mo."libelle" as "mo-libelle",nature."libelle" as "na-libelle" ,date."date-debut",etat."libelle" as "eta-libelle"
FROM projet
INNER JOIN date
ON projet."id-date"= date."id-date"
INNER JOIN etat
ON projet."code-etat" = etat."code-etat"
INNER JOIN nature
ON projet."id-nature" = nature."id-nature"
INNER JOIN mo
ON projet."code-mo" = mo."code-mo"
INNER JOIN localisation
ON projet."code-localisation" = localisation."code-localisation"

WHERE projet."id-nature" = 1
AND projet."id-date" = 1
AND projet."code-etat"= 1
AND projet."code-localisation" = 1
AND projet."code-mo" = 1');

//En-tete du tableau
echo "<table border='1' >
<caption><strong> PROJET</strong></caption>
<tr>
<td>id-projet</td>
<td>nom-projet</td>
<td>code-mo</td>
<td>resultat-projet</td>
<td>montant-projet</td>
<td>code-localisation</td>
<td>id-nature</td>
<td>id-date</td>
<td>code-etat</td>
<td>lo-libelle</td>
<td>mo-libelle</td>
<td>na-libelle</td>
<td>eta-libelle</td>
<td>date-debut</td>
</tr>";
// utilisation de la boucle tant que
while($infos = pg_fetch_array($sql)) {
// affichage des resultats
echo"<tr>";//ligne du tableau
echo "<td>";echo $infos['id-projet'];echo "</td>";
echo "<td>";echo $infos['nom-projet'];echo "</td>";
echo "<td>";echo $infos['code-mo'];echo "</td>";
echo "<td>";echo $infos['resultat-projet'] ;echo "</td>";
echo "<td>";echo $infos['montant-projet'] ;echo "</td>";
echo "<td>";echo $infos['code-localisation'] ;echo "</td>";
echo "<td>";echo $infos['id-nature'] ;echo "</td>";
echo "<td>";echo $infos['id-date'] ;echo "</td>";
echo "<td>";echo $infos['code-etat'];echo "</td>";
echo "<td>";echo $infos['lo-libelle'];echo "</td>";
echo "<td>";echo $infos['mo-libelle'];echo "</td>";
echo "<td>";echo $infos['na-libelle'];echo "</td>";
echo "<td>";echo $infos['eta-libelle'];echo "</td>";
echo "<td>";echo $infos['date-debut'];echo "</td>";
echo"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau

pg_close($dbconn);
?>
</body>
</html>
0