Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 20/07/2006, 14h35   #1
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 220
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 220
Points : 37
Points : 37
Envoyer un message via MSN à xtiand4
Par défaut [SQL] Pb de requête

Bonjour

Voila mon pb
j'ai 2 table, une table client et une table produit

à un produit est lié un client (id_clt), donc il y a une clé etrangére (pdt_id_clt) dans la table produit.

j'ai créer un tableau ou j affiche tout le descriptif (les données contenu dans la table) du produit. et j ai mi un lien hors tu tableau qui permet au user de voir à qui est lié à ce produit .

je renvoie ce lien vers une page que j ai appellé cltprod.php.
dans cette page je veux récuper le pdt_id_clt qui est la clé etrangére dans la table produit afin d affiché les donné qui se trouve dans la table client vu que le id_clt = pdt_id_clt.

voici le script de mon lien

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
 
require($_SERVER['DOCUMENT_ROOT']."/actimac/db.php");
 
$id =$_GET['id_produit'];
$requete="select nom,prenom,societe,cp,ville,tel,fax,email from $table_client, $table_demande where id_produit=$id and $table_demande.pdt_id_clt=table_client.id_client";
$row = mysql_query($requete);
 
 
echo ' <tr>
            <td bgcolor="#33FF00"><a href="index.php"  <font color="#25AD3D">Acceuil</a>></font></td>
          </tr><pre>';
 
// si on a récupéré un résultat on l'affiche.
 
 
 
    // debut du tableau
 
    echo '<table bgcolor="#CCCCCC">'."\n";
 
        // première ligne on affiche les titres prénom et surnom dans 2 colonnes
 
         echo '<tr>';
         echo '<td bgcolor="#669999"><b><u>Nom</u></b></td>';
         echo '<td bgcolor="#669999"><b><u>Prénom</u></b></td>';
		 echo '<td bgcolor="#669999"><b><u>Sociéte</u></b></td>';
         echo '<td bgcolor="#669999"><b><u>Adresse</u></b></td>';
         echo '<td bgcolor="#669999"><b><u>Code Postal</u></b></td>';
         echo '<td bgcolor="#669999"><b><u>Ville</u></b></td>' ;
         echo '<td bgcolor="#669999"><b><u>Tel</u></b></td>';
	     echo '<td bgcolor="#669999"><b><u>Fax</u></b></td>';
	     echo '<td bgcolor="#669999"><b><u>Email</u></b></td>';
		 echo '<td bgcolor="#CCCCCC">&nbsp;</td>';
	 echo '</tr>'."\n";
 
 // lecture et affichage des résultats sur 2 colonnes, 1 résultat par ligne.    
 
 
 
    echo '<tr>';
        echo '<td bgcolor="#33CCCC">'.$row["nom"].'</td>';
        echo '<td bgcolor="#33CCCC">'.$row["prenom"].'</td>';
		echo '<td bgcolor="#33CCCC">'.$row["societe"].'</td>';
        echo '<td bgcolor="#33CCCC">'.$row["adresse"].'</td>';
        echo '<td bgcolor="#33CCCC">'.$row["cp"].'</td>';
        echo '<td bgcolor="#33CCCC">'.$row["ville"].'</td>';
	    echo '<td bgcolor="#33CCCC">'.$row["tel"].'</td>';
	    echo '<td bgcolor="#33CCCC">'.$row["fax"].'</td>';
	    echo '<td bgcolor="#33CCCC">'.$row["email"].'</td>';
 
 
        echo '</tr>'."\n";
 
    echo '</table>'."\n";
    // fin du tableau.
 
 
?>
je trouve pas la requête. (celle que j ai mise ne fonctione pas


Merci
xtiand4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h39   #2
Expert Confirmé

 
Avatar de Amara
 
Inscription : juillet 2004
Messages : 2 684
Détails du profil
Informations personnelles :
Localisation : France, Sarthe (Pays de la Loire)

Informations forums :
Inscription : juillet 2004
Messages : 2 684
Points : 2 910
Points : 2 910
Si concaténator passait par là

Essaie ça :

Code :
1
2
$requete="select nom,prenom,societe,cp,ville,tel,fax,email from " . $table_client . ", " . $table_demande . " where id_produit=" . $id . " and " . $table_demande . ".pdt_id_clt=table_client.id_client";
$row = mysql_query($requete) or die(mysql_error());
$table_client et $tab_demande sont définis dans le fichier appelé dans le require je suppose...
__________________
Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)
Amara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h40   #3
Membre éclairé
 
Avatar de supernova
 
Développeur informatique
Inscription : juillet 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2005
Messages : 443
Points : 359
Points : 359
Il vaux mieux quoter ta requête dans un premier temps :

Code :
$requete="select nom,prenom,societe,cp,ville,tel,fax,email from " . $table_client . "," . $table_demande . " where id_produit= '" . $id . "' and " $table_demande.pdt_id_clt . "='table_client.id_client'";
supernova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h40   #4
Membre éclairé
 
Avatar de supernova
 
Développeur informatique
Inscription : juillet 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2005
Messages : 443
Points : 359
Points : 359
Oups JWhite a été plus rapide
supernova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h43   #5
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 220
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 220
Points : 37
Points : 37
Envoyer un message via MSN à xtiand4
Voici l erreur:


Code :
Champ 'id_produit' inconnu dans where clause
xtiand4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h47   #6
Membre éclairé
 
Avatar de supernova
 
Développeur informatique
Inscription : juillet 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2005
Messages : 443
Points : 359
Points : 359
le champ est de type text ou Entier dans la définition de la table
supernova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h49   #7
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 220
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 220
Points : 37
Points : 37
Envoyer un message via MSN à xtiand4
il est du type INT
xtiand4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h51   #8
Membre éclairé
 
Avatar de supernova
 
Développeur informatique
Inscription : juillet 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2005
Messages : 443
Points : 359
Points : 359
Peux tu faire un echo de $requete et poster la chaine.
supernova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h52   #9
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 220
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 220
Points : 37
Points : 37
Envoyer un message via MSN à xtiand4
je la met ou et je sais pas comment on la fait sorry!
xtiand4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h55   #10
Membre éclairé
 
Avatar de supernova
 
Développeur informatique
Inscription : juillet 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2005
Messages : 443
Points : 359
Points : 359
Tu fais

qlque part dans ton code (avant $row....) par exemple et tu actualises ta page qui devrait afficher le code de la requête.
supernova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h58   #11
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
Citation:
Envoyé par JWhite
Si concaténator passait par là
J'ai vu un point dans le ciel je réponds à ton appel

Quoi c'est déjà fini ?

Bon tant pis
__________________
Le . est la base de toute bonne concaténation, marre de voir des
echo "Mavar1 = $toto et Mavar2 = $titi";
ou pire echo 'Mavar1 = ',$toto,' et Mavar2 = ',$titi;
pratiquez plutôt le echo 'Mavar1 = '.$toto.' et Mavar2 = '.$titi;
guitou12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 14h59   #12
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 220
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 220
Points : 37
Points : 37
Envoyer un message via MSN à xtiand4
Code :
elect nom,prenom,societe,cp,ville,tel,fax,email from client, demande where id_produit=23 and demande.pdt_id_clt=table_client.id_clientChamp 'id_produit' inconnu dans where clause
xtiand4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 15h01   #13
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
Tu mets from client et 3 mots plus loin table_client.id_client Ensuite ne manquerait il pas une table produit par hasard ? car id_produit est inconnu...

Ou plutôt id_client étant donné que tu veux des infos sur le client...
__________________
Le . est la base de toute bonne concaténation, marre de voir des
echo "Mavar1 = $toto et Mavar2 = $titi";
ou pire echo 'Mavar1 = ',$toto,' et Mavar2 = ',$titi;
pratiquez plutôt le echo 'Mavar1 = '.$toto.' et Mavar2 = '.$titi;
guitou12 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 15h05   #14
Membre éclairé
 
Avatar de supernova
 
Développeur informatique
Inscription : juillet 2005
Messages : 443
Détails du profil
Informations personnelles :
Localisation : France, Moselle (Lorraine)

Informations professionnelles :
Activité : Développeur informatique

Informations forums :
Inscription : juillet 2005
Messages : 443
Points : 359
Points : 359
L'orthographe du champ id_produit est bonne?

prefixe par le nom de la table

table.id_produit = 23
supernova est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 15h06   #15
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 220
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 220
Points : 37
Points : 37
Envoyer un message via MSN à xtiand4
Code :
select nom, prenom, societe, cp, ville, tel, fax, email from client, demande where id_produit=23 and demande.pdt_id_clt=client.id_clientChamp 'id_produit' inconnu dans where clause
j'avais oublié le $ devant le table_client
xtiand4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 15h13   #16
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 220
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 220
Points : 37
Points : 37
Envoyer un message via MSN à xtiand4
j'ai modifié ma requête

Code :
1
2
$id =$_GET['id'];
$requete="select nom, prenom, societe, cp, ville, tel, fax, email from " . $table_client . ", " . $table_demande . " where" .$table_stock.".id_produit=" . $id . " and " . $table_stock . ".pdt_id_clt=" .$table_client.".id_client";
et voici l erreur:

Code :
select nom, prenom, societe, cp, ville, tel, fax, email from client, demande whereproduit.id_produit=23 and produit.pdt_id_clt=client.id_clientErreur de syntaxe près de '.id_produit=23 and produit.pdt_id_clt=client.id_client' à la ligne 1
j'ai rajouté le nom de la table devant ou se trouve id_produit
xtiand4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 15h18   #17
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
met un espace apres le where
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 15h21   #18
Nouveau Membre du Club
 
Inscription : mai 2006
Messages : 220
Détails du profil
Informations forums :
Inscription : mai 2006
Messages : 220
Points : 37
Points : 37
Envoyer un message via MSN à xtiand4
Code :
select nom, prenom, societe, cp, ville, tel, fax, email from client, demande where produit.id_produit=23 and produit.pdt_id_clt=client.id_clientTable inconnue 'produit' dans where clause
tjrs la même erreur
xtiand4 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 15h24   #19
Membre émérite
 
Inscription : juillet 2005
Messages : 775
Détails du profil
Informations personnelles :
Âge : 29

Informations forums :
Inscription : juillet 2005
Messages : 775
Points : 858
Points : 858
Envoyer un message via AIM à ouatmad Envoyer un message via MSN à ouatmad Envoyer un message via Yahoo à ouatmad
tu ne cite pas la table produit dans dans clause from
__________________
Les hommes naissent et demeurent libres et egaux en dignité et en droit. Les distinctions sociales ne peuvent etre fondées que sur l'utilité commune. Article 1 droits et de l'homme et du citoyen. 1789
ouatmad est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/07/2006, 15h27   #20
Membre émérite
 
Avatar de guitou12
 
Guillaume
Inscription : juillet 2006
Messages : 813
Détails du profil
Informations personnelles :
Nom : Guillaume
Âge : 29

Informations forums :
Inscription : juillet 2006
Messages : 813
Points : 905
Points : 905
Envoyer un message via MSN à guitou12
Ca serait pas mal d'apprendre à lire les erreurs et à les comprendre parcequ'on ne va pas te débugguer à chaque fois que tu oublies de faire un espace ou que tu te gourres de nom de table...
__________________
Le . est la base de toute bonne concaténation, marre de voir des
echo "Mavar1 = $toto et Mavar2 = $titi";
ou pire echo 'Mavar1 = ',$toto,' et Mavar2 = ',$titi;
pratiquez plutôt le echo 'Mavar1 = '.$toto.' et Mavar2 = '.$titi;
guitou12 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 11h20.


 
 
 
 
Partenaires

Hébergement Web