2 requettes SQL, 2 tables, 1 seul tableau PHP
Résolu/Fermé
CyPile
Messages postés
23
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
29 janvier 2009
-
29 janv. 2009 à 11:39
dreadoune - 25 mars 2009 à 11:47
dreadoune - 25 mars 2009 à 11:47
A voir également:
- 2 requettes SQL, 2 tables, 1 seul tableau PHP
- Tableau word - Guide
- 2 ecran pc - Guide
- Word numéro de page 1/2 - Guide
- Tableau ascii - Guide
- Tableau croisé dynamique - Guide
14 réponses
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
29 janv. 2009 à 13:28
29 janv. 2009 à 13:28
Ah ok ^^
Bon alors essaye ça comme requete :
select t1.IDProblem, t2.Nom, t2.Description, t2.NbProblem FROM tbl_nbPrbl t1 INNER JOIN tbl_problem t2 ON t1.IDProblem = t2.IDprbl WHERE IDImprimante=$IDimprimante"
Ca devrait fonctionner si IDprbl est une clé étrangère de IDProblem ! =)
Bon alors essaye ça comme requete :
select t1.IDProblem, t2.Nom, t2.Description, t2.NbProblem FROM tbl_nbPrbl t1 INNER JOIN tbl_problem t2 ON t1.IDProblem = t2.IDprbl WHERE IDImprimante=$IDimprimante"
Ca devrait fonctionner si IDprbl est une clé étrangère de IDProblem ! =)
CyPile
Messages postés
23
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
29 janvier 2009
1
29 janv. 2009 à 12:23
29 janv. 2009 à 12:23
Oui elles ont un lien par IDProblem...
Ma syntaxe est fausse ?? parce que la il me dit que la syntax jou pas....
Ma syntaxe est fausse ?? parce que la il me dit que la syntax jou pas....
CyPile
Messages postés
23
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
29 janvier 2009
1
29 janv. 2009 à 12:27
29 janv. 2009 à 12:27
voila le message il a un peu changer...
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] At most one record can be returned by this subquery., SQL state S1000 in SQLExecDirect in C:\wamp\www\ImprimanteProblem\resume.php on line 43
Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] At most one record can be returned by this subquery., SQL state S1000 in SQLExecDirect in C:\wamp\www\ImprimanteProblem\resume.php on line 43
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
29 janv. 2009 à 13:59
29 janv. 2009 à 13:59
Ah oui pardon ... Remplace IDImprimante par t1.IDImprimante
Le problème est qu'il trouvait IDImprimante dans les deux tables, il fallait donc lui préciser dans laquelle il devait le prendre.
J'ai mis t1 mais tu devrais pouvoir mettre t2 et avoir le même résultat je pense ...
Sinon pour la clé primaire, le principe reste le même ^^
EDIT : par curiosité tu utilises quel SGBD?
Le problème est qu'il trouvait IDImprimante dans les deux tables, il fallait donc lui préciser dans laquelle il devait le prendre.
J'ai mis t1 mais tu devrais pouvoir mettre t2 et avoir le même résultat je pense ...
Sinon pour la clé primaire, le principe reste le même ^^
EDIT : par curiosité tu utilises quel SGBD?
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
29 janv. 2009 à 14:20
29 janv. 2009 à 14:20
Ooki bah c'est cool !
Bon courage pour la suite ! :)
Bon courage pour la suite ! :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
29 janv. 2009 à 12:05
29 janv. 2009 à 12:05
Tu as essayé quelque chose du genre :
while(odbc_fetch_row($query2) or odbc_fetch_row($query2)) {
Je n'ai pas testé mais bon on ne sait jamais ^^
Si ça ne marche pas essaie avec and à la place de or (qui ne tente rien n'a rien ;) ^^ )
while(odbc_fetch_row($query2) or odbc_fetch_row($query2)) {
Je n'ai pas testé mais bon on ne sait jamais ^^
Si ça ne marche pas essaie avec and à la place de or (qui ne tente rien n'a rien ;) ^^ )
CyPile
Messages postés
23
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
29 janvier 2009
1
29 janv. 2009 à 12:15
29 janv. 2009 à 12:15
Merci de ta reponse!
Malheureusement il aime pas du tout... lol
Je devrai peu etre plutot me diriger sur faire une seul requette... mais en faisant tout simplement
$query2= odbc_exec( $cnx, "select Nom,Description,NbProblem from tbl_problem where IDImprimante= ("select IDProblem from tbl_nbPrbl where IDImprimante=$IDimprimante") " );
Mais il aime pas non plus... il aime pas grand chose d ailleur..... lOol
Malheureusement il aime pas du tout... lol
Je devrai peu etre plutot me diriger sur faire une seul requette... mais en faisant tout simplement
$query2= odbc_exec( $cnx, "select Nom,Description,NbProblem from tbl_problem where IDImprimante= ("select IDProblem from tbl_nbPrbl where IDImprimante=$IDimprimante") " );
Mais il aime pas non plus... il aime pas grand chose d ailleur..... lOol
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
29 janv. 2009 à 12:19
29 janv. 2009 à 12:19
Une question : est ce que tes deux tables ont un lien entre elles (ou toutes les deux liées à la même table ^^ )?
Parce que si c'est le cas, une requete suffira.
Quelques jointures et ça sera bon ! :)
Parce que si c'est le cas, une requete suffira.
Quelques jointures et ça sera bon ! :)
974_Vin's_974
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
29 janv. 2009 à 12:20
29 janv. 2009 à 12:20
Fait tout en une seule requete !!!!
Et tu verras, tu te complikera bcp moins la vie !!!
Et tu verras, tu te complikera bcp moins la vie !!!
Passarinho44
Messages postés
963
Date d'inscription
mercredi 28 mai 2008
Statut
Contributeur
Dernière intervention
13 juin 2012
132
29 janv. 2009 à 12:27
29 janv. 2009 à 12:27
Ta requete devrait alors donner quelque chose du genre :
"select t1.IDProblem, t2.Nom, t2.Description, t2.NbProblem FROM tbl_nbPrbl t1 INNER JOIN tbl_problem ON t1.IDImprimante = t2.IDImprimante WHERE IDImprimante=$IDimprimante"
Ce que je ne comprends pas, ta table tbl_problem contient un IDImprimante, pourquoi ne pas afficher celui-là simplement?
"select t1.IDProblem, t2.Nom, t2.Description, t2.NbProblem FROM tbl_nbPrbl t1 INNER JOIN tbl_problem ON t1.IDImprimante = t2.IDImprimante WHERE IDImprimante=$IDimprimante"
Ce que je ne comprends pas, ta table tbl_problem contient un IDImprimante, pourquoi ne pas afficher celui-là simplement?
974_Vin's_974
Messages postés
547
Date d'inscription
vendredi 23 janvier 2009
Statut
Membre
Dernière intervention
19 février 2009
102
29 janv. 2009 à 12:27
29 janv. 2009 à 12:27
C'est ce que je t'ai di .. Vaut mieux faire une seule requete .. Et te complique pas à choisir ce que tu veux selectionner .. Fait un select * et on en parle plus lool !!!
Et ensuite tu récupere toute les données ke ta besoin ..
Compri ??
Et ensuite tu récupere toute les données ke ta besoin ..
Compri ??
CyPile
Messages postés
23
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
29 janvier 2009
1
29 janv. 2009 à 12:33
29 janv. 2009 à 12:33
Je me suis tromper la requete est comme ceci :
"select Nom,Description,NbProblem from tbl_problem where IDprbl=(select IDProblem from tbl_nbPrbl where IDImprimante=$IDimprimante)"
Non il contient pas IDImprimante... sa sera trop facile sinon lOol
"select Nom,Description,NbProblem from tbl_problem where IDprbl=(select IDProblem from tbl_nbPrbl where IDImprimante=$IDimprimante)"
Non il contient pas IDImprimante... sa sera trop facile sinon lOol
CyPile
Messages postés
23
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
29 janvier 2009
1
29 janv. 2009 à 13:54
29 janv. 2009 à 13:54
Merci de ta reponse!
c est le contraire en fait... la cle primaire est IDprbl... et non IDProblem...
sa me donne l erreur suivante...
The specified field 'IDImprimante' could refer to more than one table listed in the FROM clause of your SQL statement., SQL state S1000 in SQLExecDirect in C:\wamp\www\ImprimanteProblem\resume.php on line 47
c est le contraire en fait... la cle primaire est IDprbl... et non IDProblem...
sa me donne l erreur suivante...
The specified field 'IDImprimante' could refer to more than one table listed in the FROM clause of your SQL statement., SQL state S1000 in SQLExecDirect in C:\wamp\www\ImprimanteProblem\resume.php on line 47
CyPile
Messages postés
23
Date d'inscription
mardi 20 mars 2007
Statut
Membre
Dernière intervention
29 janvier 2009
1
29 janv. 2009 à 14:07
29 janv. 2009 à 14:07
Sa marche!!!!!!
tu as assurer merci... j ai appris c est truc mais c etai y a bien lgt lOol..
J ai honte... c est une base Access.... (bon en mm temps ya pas plus de 20 entrees... )
Merci beaucoup en tt cas... et bonne apre midi
tu as assurer merci... j ai appris c est truc mais c etai y a bien lgt lOol..
J ai honte... c est une base Access.... (bon en mm temps ya pas plus de 20 entrees... )
Merci beaucoup en tt cas... et bonne apre midi
Salut
J'ai un peu pres le meme probleme mais ca ne fontionne pas chez moi
2 tables : contacts / prospection
cle primaire contacts = id_clients
cle primaire prospection =id_prospects
j'ai besoin de mettre à jour les 2 tables en meme temps depuis les données d'un formulaire que je recuperes.
id = Request.QueryString("id")
la requête :
sql = "SELECT contacts.id_clients, prospection.id_clients FROM contacts INNER JOIN prospection ON contacts.id_clients = prospection.id_clients WHERE id_clients=" & id"
erreur retournée :
Unterminated string constant
/test/prospection/maj-contactsOk.asp, line 42
sql = "SELECT contacts.id_clients, prospection.id_clients FROM contacts INNER JOIN prospection ON contacts.id_clients = prospection.id_clients WHERE id_clients=" & id"
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------^
Si kkun a une idee Svp ?
merci
J'ai un peu pres le meme probleme mais ca ne fontionne pas chez moi
2 tables : contacts / prospection
cle primaire contacts = id_clients
cle primaire prospection =id_prospects
j'ai besoin de mettre à jour les 2 tables en meme temps depuis les données d'un formulaire que je recuperes.
id = Request.QueryString("id")
la requête :
sql = "SELECT contacts.id_clients, prospection.id_clients FROM contacts INNER JOIN prospection ON contacts.id_clients = prospection.id_clients WHERE id_clients=" & id"
erreur retournée :
Unterminated string constant
/test/prospection/maj-contactsOk.asp, line 42
sql = "SELECT contacts.id_clients, prospection.id_clients FROM contacts INNER JOIN prospection ON contacts.id_clients = prospection.id_clients WHERE id_clients=" & id"
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------^
Si kkun a une idee Svp ?
merci