Faire un SELECT * WHERE xxxx est contenu dans un tableau - PHP - Programmation
Marsh Posté le 05-07-2005 à 10:59:18
j'ai pas tout capté, mais je pense que tu veux un truc du genre :
Code :
|
PS: au lieu de faire 2 requetes au début puis un array_intersect, tu peux réduire à une seule requete
Marsh Posté le 05-07-2005 à 11:02:21
si mes souvenir en bdd sont pas trop mauvais tu doit pouvoir faie un truc du genre
$requete= "SELECT * from nomtable,row3 WHERE ID_ABS.nomtable = ID_ABS.row3;
Marsh Posté le 05-07-2005 à 11:05:48
maire106 a écrit : si mes souvenir en bdd sont pas trop mauvais tu doit pouvoir faie un truc du genre |
je pense que tes souvenirs sont un peu flous , tu mélanges allègrement table/attributs/variable php...
Marsh Posté le 05-07-2005 à 11:13:44
Merci Soju, ça marche tip top en modifiant un peu
$in = '('.join(',', $row3).')';
$requete = "SELECT * from $nomtable WHERE ID_ABS IN $in";
Marsh Posté le 05-07-2005 à 11:15:47
ppierrick a écrit : Merci Soju, ça marche tip top en modifiant un peu |
oups oui, j'avais mis des guillemets simples en oubliant $nomtable
Marsh Posté le 05-07-2005 à 11:22:01
oui il date de deux ou trois ans!! desole, la prochaine fois je me tais . et en plus je faisait de la bdd pure et dure pas avec du php
Marsh Posté le 05-07-2005 à 11:37:59
en fait tu peux même réduire le tout à une seule requete, je te laisse deviner
Marsh Posté le 05-07-2005 à 10:41:57
Bonjour,
Suite à deux requettes, j'ai un tableau d'ID_ABS commun aux deux résutats.
je cherche à faire un select dans une table sur le champs ID_ABS
et je souhaite passer en parametre à mon WHERE ce tableau de resultats communs.
Est-ce possible ??? si oui, est-ce que quelqu'un peut m'aider pour la syntaxe.
Ou y a t'il une solution pour faire ça en une seule requette ???
J'en suis là :
$requete1 = "SELECT * from $nomtable WHERE DATEA_ABS>='$dateA' ORDER BY NOM_ABS";
$requete2 = "SELECT * from $nomtable WHERE DATEP1_ABS<='$dateP' ORDER BY NOM_ABS";
$result1 = mysql_query($requete1,$link) or die ('Erreur : '.mysql_error() );
$result2 = mysql_query($requete2,$link) or die ('Erreur : '.mysql_error() );
$total1 = mysql_num_rows($result1); // nombre de réponse 1
$total2 = mysql_num_rows($result2); // nombre de réponse 2
$i=0; $j=0;
while ($row1 = mysql_fetch_array($result1)) { $tabRow1[$i] = $row1['ID_ABS']; $i++; }
while ($row2 = mysql_fetch_array($result2)) { $tabRow2[$j] = $row2['ID_ABS']; $j++; }
// Recup des ID_ABS en commum aux deux tab
$row3 = array_intersect ($tabRow1, $tabRow2);
// Recup
$requete = "SELECT * from $nomtable WHERE ID_ABS FROM $row3"; // ??????
$result = mysql_query($requete,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
Merci pour vos lumières.