Problème requête imbriquée
Résolu/Fermé
ssx32
Messages postés
10
Date d'inscription
mercredi 18 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
-
9 déc. 2013 à 09:21
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 9 déc. 2013 à 14:03
ThEBiShOp Messages postés 8378 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 8 février 2021 - 9 déc. 2013 à 14:03
A voir également:
- Quelle requête écrire pour demander au moteur de recherche de présenter de préférence les pages web traitant de pomme mais pas de pomme de terre ?
- Impossible de supprimer une page word - Guide
- Google moteur de recherche page d'accueil - Guide
- Web office - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Word numéro de page 1/2 - Guide
3 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
9 déc. 2013 à 09:32
9 déc. 2013 à 09:32
Salut,
Déjà, à la suite de tes mysql_query, tu devrais rajouter un die :
S'il y a une erreur dans ta requête, ça te donnera des infos.
Ce que tu peux faire aussi, c'est afficher ton $sql pour être certain que la requête a été bien construite.
Déjà, à la suite de tes mysql_query, tu devrais rajouter un die :
$s = mysql_query($sql) or die(mysql_error());
S'il y a une erreur dans ta requête, ça te donnera des infos.
Ce que tu peux faire aussi, c'est afficher ton $sql pour être certain que la requête a été bien construite.
ssx32
Messages postés
10
Date d'inscription
mercredi 18 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
9 déc. 2013 à 09:47
9 déc. 2013 à 09:47
merci ThEBiShOp pour ta réponse rapide,
séparément mes requêtes fonctionnent mais quand elles sont imbriquées ça plante.
avec le mysql_error() ça me dit que j'ai une erreur de syntaxe après le IN
séparément mes requêtes fonctionnent mais quand elles sont imbriquées ça plante.
avec le mysql_error() ça me dit que j'ai une erreur de syntaxe après le IN
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
9 déc. 2013 à 09:50
9 déc. 2013 à 09:50
Fais un echo $sql; avant ton mysql_query, je parie que ton erreur va te sauter aux yeux.
ssx32
Messages postés
10
Date d'inscription
mercredi 18 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
9 déc. 2013 à 10:12
9 déc. 2013 à 10:12
quand j'affiche la requête ce qui cloche c'est que après IN les résultats doivent être séparé par "," donc j'ai fait :
mais ça marche toujours pas :s
while ($row=mysql_fetch_array($rep)){ $repti=$repti .$row[nom]; $repti = $repti.",";
mais ça marche toujours pas :s
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
9 déc. 2013 à 10:14
9 déc. 2013 à 10:14
Et qu'est ce qui cloche ce coup ci ? :)
ssx32
Messages postés
10
Date d'inscription
mercredi 18 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
9 déc. 2013 à 10:26
9 déc. 2013 à 10:26
c'est encore la syntaxe du IN
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
9 déc. 2013 à 10:27
9 déc. 2013 à 10:27
oui
ssx32
Messages postés
10
Date d'inscription
mercredi 18 septembre 2013
Statut
Membre
Dernière intervention
9 décembre 2013
9 déc. 2013 à 13:57
9 déc. 2013 à 13:57
j'ai trouvé la solution je post si quelqu'un en aura besoin
la clause in doit avoir cette syntaxe: IN ('var1','var2','var3') et mon code affiche ( var1,var2,var3,)
pour y remedier :
la clause in doit avoir cette syntaxe: IN ('var1','var2','var3') et mon code affiche ( var1,var2,var3,)
pour y remedier :
$c = " AND 1=1"; if (!EMPTY($_POST['pays'])) { $rep=mysql_query("SELECT nom FROM client WHERE pays= '".$_POST['pays']."'"); while ($row=mysql_fetch_array($rep)){ $repti=$repti." ' " . $row[nom]; //ajouter le separateur " ' " avant la variable $repti = $repti." '," ; //ajouter le separateur " ' , " aprés la variable } $go=substr($repti, 0, -1); // enlever la dérniere virgule $c = $c . " AND liste_commande.client IN (".$go.")"; } $sql = "SELECT DISTINCT liste_commande.n_of,liste_commande.id,liste_commande.date,liste_commande.client,liste_commande.n_commande_client,liste_commande.reference_produit,liste_commande.designation,liste_commande.reference_client,liste_commande.delai_demande,liste_commande.site_concerne,liste_commande.quantite WHERE ".$c." ORDER BY liste_commande.date "; $s = mysql_query($sql); while ($r = mysql_fetch_array($s)){ // affichage des données }
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
9 déc. 2013 à 14:03
9 déc. 2013 à 14:03
C'est une des possibilités, sinon tu peux utiliser la fonction implode