{PostgreSQL}
logoni
-
logoni -
logoni -
Bonjour,
j'ai une table principale Projet qui contient des identifants(clés étrangères) liés à d'autres tables (Localisation,nature,mo,date,etat), contenant la liste des projets, et des références à d'autres informations liées au projet : code-localisation, id-nature, code-etat,code-mo,id-date.
dans ma base, j'ai pour chaque code une table qui me donne la correspondance entre le code, et un libellé plus compréhensible. ce que je veux pour chacun des codes: remplacer les codes numériques par leurs valeurs textuelles.
pour cela il me faut aller chercher les infos dans les autres tables.
ça c'est le code:
<!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 * from projet");
//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>
</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"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau
pg_close($dbconn);
?>
</body>
</html>
ce code me permet d'afficher des lignes du genre
id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
1 FORAGE 1 réalisé 500000 1 1 1 1
et je voudrais avoir un code qui m'affiche mes lignes de cette façon suivante:
id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
1 FORAGE stp réalisé 500000 Mandé Agriculture 2000-04-12 en cours
VOUS comprenez un peu ma preocupation.merci de me precisé un point que vous ne comprenez.venez moi en aide ça des jours que je tourne en rond
j'ai une table principale Projet qui contient des identifants(clés étrangères) liés à d'autres tables (Localisation,nature,mo,date,etat), contenant la liste des projets, et des références à d'autres informations liées au projet : code-localisation, id-nature, code-etat,code-mo,id-date.
dans ma base, j'ai pour chaque code une table qui me donne la correspondance entre le code, et un libellé plus compréhensible. ce que je veux pour chacun des codes: remplacer les codes numériques par leurs valeurs textuelles.
pour cela il me faut aller chercher les infos dans les autres tables.
ça c'est le code:
<!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 * from projet");
//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>
</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"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau
pg_close($dbconn);
?>
</body>
</html>
ce code me permet d'afficher des lignes du genre
id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
1 FORAGE 1 réalisé 500000 1 1 1 1
et je voudrais avoir un code qui m'affiche mes lignes de cette façon suivante:
id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
1 FORAGE stp réalisé 500000 Mandé Agriculture 2000-04-12 en cours
VOUS comprenez un peu ma preocupation.merci de me precisé un point que vous ne comprenez.venez moi en aide ça des jours que je tourne en rond
A voir également:
- {PostgreSQL}
- Navicat postgresql - Télécharger - Gestion de données
- Sql manager for postgresql - Télécharger - Bases de données
- DBConvert for Access & PostgreSQL - Télécharger - Gestion de données
5 réponses
Bonjour,
Je ne suis pas certain d'avoir compris ton problème, tellement ça me parait évident.
As-tu quelques notions de SQL?
Il suffit d'ajouter une jointure dans ta requête SELECT, sur la table qui contient les libellés.
Par ex :
SELECT Projet.nom_projet, Localisation.Libellé
FROM Projet, Localisation
WHERE Projet.id_localisation = Localisation.id_localisation
Tu devrais facilement trouver de bons tutoriels SQL sur google...
Bonne journée.
M.
Je ne suis pas certain d'avoir compris ton problème, tellement ça me parait évident.
As-tu quelques notions de SQL?
Il suffit d'ajouter une jointure dans ta requête SELECT, sur la table qui contient les libellés.
Par ex :
SELECT Projet.nom_projet, Localisation.Libellé
FROM Projet, Localisation
WHERE Projet.id_localisation = Localisation.id_localisation
Tu devrais facilement trouver de bons tutoriels SQL sur google...
Bonne journée.
M.
bjour
oui tout à fait tu as raison et j'ai pas telmen de notions en postgresql et en sql ,après avoir fait la jointure entre mes tables j'obtiens une erreur qui concerne la ligne
$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.libellé,mo.libellé,nature.libellé,date.debut-date,etat.libellé ,l'erreur affiche la phrase suivante:Parse error: parse error in C:\wamp\www\gdt\postgresql.php on line 17
je reprends le code depuis le debut pour que tu vois les incorrections et les erreurs
<!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.libellé,mo.libellé,nature.libellé,date.debut-date,etat.libellé
from projet,date,etat,nature,mo,localistion
WHERE(projet.code-localisation='localisation.code-localisation')
AND(projet.id-date='date.id-date')
AND(projet.code-mo='mo.code-mo')
AND( projet.id-nature='nature.id-nature')
AND(projet.code-etat='etat.code-etat');
//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>
</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"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau
pg_close($dbconn);
?>
</body>
</html>
merci d'avance
oui tout à fait tu as raison et j'ai pas telmen de notions en postgresql et en sql ,après avoir fait la jointure entre mes tables j'obtiens une erreur qui concerne la ligne
$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.libellé,mo.libellé,nature.libellé,date.debut-date,etat.libellé ,l'erreur affiche la phrase suivante:Parse error: parse error in C:\wamp\www\gdt\postgresql.php on line 17
je reprends le code depuis le debut pour que tu vois les incorrections et les erreurs
<!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.libellé,mo.libellé,nature.libellé,date.debut-date,etat.libellé
from projet,date,etat,nature,mo,localistion
WHERE(projet.code-localisation='localisation.code-localisation')
AND(projet.id-date='date.id-date')
AND(projet.code-mo='mo.code-mo')
AND( projet.id-nature='nature.id-nature')
AND(projet.code-etat='etat.code-etat');
//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>
</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"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau
pg_close($dbconn);
?>
</body>
</html>
merci d'avance
bjour,après avoir fait des recherches je suis parvenus à faire améliorer mon code mais je continue à penser qu'il ya des petits erreurs qui sont pas encore corriger et je comptes sur vous pour m'aidez à le corriger.
comme vous le voyez j'ai fait une jointure de ma table principale à d'autres tables,et ces autres tables sont liées à ma table principale par des clés étrangères,l'idée c'est de remplacer dans ma table principale ces clés étrangères par leurs libellés correspondantes.aidez moi à obtenir la formule exacte pour cet exercice.
pour cela vous avez le code suivant
<!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.libellé,mo.libellé,nature.libellé,date.debut-date,etat.libellé FROM projet INNER JOIN date,projet INNER JOIN etat,projet INNER JOIN nature,projet INNER JOIN mo,projet INNER JOIN localistion
ON projet.code-localisation = localisation.code-localisation
AND projet.id-date = date.id-date
AND projet.code-mo = mo.code-mo
AND projet.id-nature = nature.id-nature
AND projet.code-etat = etat.code-etat) ;
where id-nature = 1,id-date =1,code-etat =1,code-localisation =1,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>
</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"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau
pg_close($dbconn);
?>
</body>
</html>
merci d'avance,ça fait des jours que je tournes en rond
comme vous le voyez j'ai fait une jointure de ma table principale à d'autres tables,et ces autres tables sont liées à ma table principale par des clés étrangères,l'idée c'est de remplacer dans ma table principale ces clés étrangères par leurs libellés correspondantes.aidez moi à obtenir la formule exacte pour cet exercice.
pour cela vous avez le code suivant
<!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.libellé,mo.libellé,nature.libellé,date.debut-date,etat.libellé FROM projet INNER JOIN date,projet INNER JOIN etat,projet INNER JOIN nature,projet INNER JOIN mo,projet INNER JOIN localistion
ON projet.code-localisation = localisation.code-localisation
AND projet.id-date = date.id-date
AND projet.code-mo = mo.code-mo
AND projet.id-nature = nature.id-nature
AND projet.code-etat = etat.code-etat) ;
where id-nature = 1,id-date =1,code-etat =1,code-localisation =1,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>
</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"</tr>"; //fermeture de la ligne
} //fermeture du tant que
echo "</table>";//fermeture du tableau
pg_close($dbconn);
?>
</body>
</html>
merci d'avance,ça fait des jours que je tournes en rond
bjour ,c'est pour vous dire que j'ai fais d'autres améliorations mais j'obtiens toujours des messages d'erreurs que voici:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid byte sequence for encoding "UTF8": 0xe92c6d HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". in C:\wamp\www\gdt\php.php on line 32
PROJET id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
Warning: pg_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\gdt\php.php on line 50
en plus je voudrais injecter un compteur qui permettra d'incrementer les differents identifiants(id-projet,id-nature,id-date,code-localisation,code-mo,code-etat)
merci d'avance.
ça c'est le nouveau code :
<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.libellé,mo.libellé,nature.libellé,date.debut-date,etat.libellé
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 localistion
ON projet.code-localisation = localisation.code-localisation
WHERE id-nature = 1,id-date =1,code-etat =1,code-localisation =1,code-mo =1 ");
?>
<!-- En-tete du tableau -->
<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>
</tr>
<?php
// utilisation de la boucle tant que
while($infos = pg_fetch_array($sql)) {
// affichage des resultats
echo"<tr>";//ligne du tableau
echo "<td>".$infos['id-projet']."</td>";
echo "<td>".$infos['nom-projet']."</td>";
echo "<td>".$infos['code-mo']."</td>";
echo "<td>".$infos['resultat-projet']."</td>";
echo "<td>".$infos['montant-projet']."</td>";
echo "<td>".$infos['code-localisation']."</td>";
echo "<td>".$infos['id-nature']."</td>";
echo "<td>".$infos['id-date']."</td>";
echo "<td>".$infos['code-etat']."</td>";
echo"</tr>"; //fermeture de la ligne
} //fermeture du tant que
?>
</table> <!--fermeture du tableau-->
<?php pg_close($dbconn); ?>
</body>
</html>
bne journé M.
Warning: pg_query() [function.pg-query]: Query failed: ERROR: invalid byte sequence for encoding "UTF8": 0xe92c6d HINT: This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding". in C:\wamp\www\gdt\php.php on line 32
PROJET id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
Warning: pg_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\gdt\php.php on line 50
en plus je voudrais injecter un compteur qui permettra d'incrementer les differents identifiants(id-projet,id-nature,id-date,code-localisation,code-mo,code-etat)
merci d'avance.
ça c'est le nouveau code :
<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.libellé,mo.libellé,nature.libellé,date.debut-date,etat.libellé
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 localistion
ON projet.code-localisation = localisation.code-localisation
WHERE id-nature = 1,id-date =1,code-etat =1,code-localisation =1,code-mo =1 ");
?>
<!-- En-tete du tableau -->
<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>
</tr>
<?php
// utilisation de la boucle tant que
while($infos = pg_fetch_array($sql)) {
// affichage des resultats
echo"<tr>";//ligne du tableau
echo "<td>".$infos['id-projet']."</td>";
echo "<td>".$infos['nom-projet']."</td>";
echo "<td>".$infos['code-mo']."</td>";
echo "<td>".$infos['resultat-projet']."</td>";
echo "<td>".$infos['montant-projet']."</td>";
echo "<td>".$infos['code-localisation']."</td>";
echo "<td>".$infos['id-nature']."</td>";
echo "<td>".$infos['id-date']."</td>";
echo "<td>".$infos['code-etat']."</td>";
echo"</tr>"; //fermeture de la ligne
} //fermeture du tant que
?>
</table> <!--fermeture du tableau-->
<?php pg_close($dbconn); ?>
</body>
</html>
bne journé M.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
le message d'erreur que j'obtiens est le suivant:
Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "," LINE 16: WHERE id-nature = 1,id-date =1,code-etat =1,code-localisatio... ^ in C:\wamp\www\gdt\php.php on line 32
PROJET id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
Warning: pg_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\gdt\php.php on line 50
voilà le code après les modifications ,cette fois j'ai changé "libellé" en "libelle"
<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,mo.libelle,nature.libelle,date.debut-date,etat.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 localistion
ON projet.code-localisation = localisation.code-localisation
WHERE id-nature = 1,id-date =1,code-etat =1,code-localisation =1,code-mo =1 ");
?>
<!-- En-tete du tableau -->
<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>
</tr>
<?php
// utilisation de la boucle tant que
while($infos = pg_fetch_array($sql)) {
// affichage des resultats
echo"<tr>";//ligne du tableau
echo "<td>".$infos['id-projet']."</td>";
echo "<td>".$infos['nom-projet']."</td>";
echo "<td>".$infos['code-mo']."</td>";
echo "<td>".$infos['resultat-projet']."</td>";
echo "<td>".$infos['montant-projet']."</td>";
echo "<td>".$infos['code-localisation']."</td>";
echo "<td>".$infos['id-nature']."</td>";
echo "<td>".$infos['id-date']."</td>";
echo "<td>".$infos['code-etat']."</td>";
echo"</tr>"; //fermeture de la ligne
} //fermeture du tant que
?>
</table> <!--fermeture du tableau-->
<?php pg_close($dbconn); ?>
</body>
</html>
Warning: pg_query() [function.pg-query]: Query failed: ERROR: syntax error at or near "," LINE 16: WHERE id-nature = 1,id-date =1,code-etat =1,code-localisatio... ^ in C:\wamp\www\gdt\php.php on line 32
PROJET id-projet nom-projet code-mo resultat-projet montant-projet code-localisation id-nature id-date code-etat
Warning: pg_fetch_array() expects parameter 1 to be resource, boolean given in C:\wamp\www\gdt\php.php on line 50
voilà le code après les modifications ,cette fois j'ai changé "libellé" en "libelle"
<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,mo.libelle,nature.libelle,date.debut-date,etat.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 localistion
ON projet.code-localisation = localisation.code-localisation
WHERE id-nature = 1,id-date =1,code-etat =1,code-localisation =1,code-mo =1 ");
?>
<!-- En-tete du tableau -->
<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>
</tr>
<?php
// utilisation de la boucle tant que
while($infos = pg_fetch_array($sql)) {
// affichage des resultats
echo"<tr>";//ligne du tableau
echo "<td>".$infos['id-projet']."</td>";
echo "<td>".$infos['nom-projet']."</td>";
echo "<td>".$infos['code-mo']."</td>";
echo "<td>".$infos['resultat-projet']."</td>";
echo "<td>".$infos['montant-projet']."</td>";
echo "<td>".$infos['code-localisation']."</td>";
echo "<td>".$infos['id-nature']."</td>";
echo "<td>".$infos['id-date']."</td>";
echo "<td>".$infos['code-etat']."</td>";
echo"</tr>"; //fermeture de la ligne
} //fermeture du tant que
?>
</table> <!--fermeture du tableau-->
<?php pg_close($dbconn); ?>
</body>
</html>