Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1149 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Faire un SELECT * WHERE xxxx est contenu dans un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire un SELECT * WHERE xxxx est contenu dans un tableau

n°1140073
ppierrick
Ctrl Atl Suppr ...
Posté le 05-07-2005 à 10:41:57  profilanswer
 

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.

mood
Publicité
Posté le 05-07-2005 à 10:41:57  profilanswer
 

n°1140109
soju
One shot !
Posté le 05-07-2005 à 10:59:18  profilanswer
 

j'ai pas tout capté, mais je pense que tu veux un truc du genre :

Code :
  1. $in = '('.join(',', $row3).')';
  2. $requete = 'SELECT * from $nomtable WHERE ID_ABS IN '.$in;


PS: au lieu de faire 2 requetes au début puis un array_intersect, tu peux réduire à une seule requete

n°1140117
maire106
Posté le 05-07-2005 à 11:02:21  profilanswer
 

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;

n°1140126
soju
One shot !
Posté le 05-07-2005 à 11:05:48  profilanswer
 

maire106 a écrit :

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;


je pense que tes souvenirs sont un peu flous ;), tu mélanges allègrement table/attributs/variable php...

n°1140143
ppierrick
Ctrl Atl Suppr ...
Posté le 05-07-2005 à 11:13:44  profilanswer
 

Merci Soju, ça marche tip top en modifiant un peu
 
$in = '('.join(',', $row3).')';  
$requete = "SELECT * from $nomtable WHERE ID_ABS IN $in";

n°1140146
soju
One shot !
Posté le 05-07-2005 à 11:15:47  profilanswer
 

ppierrick a écrit :

Merci Soju, ça marche tip top en modifiant un peu


oups oui, j'avais mis des guillemets simples en oubliant $nomtable

n°1140157
maire106
Posté le 05-07-2005 à 11:22:01  profilanswer
 

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

n°1140185
soju
One shot !
Posté le 05-07-2005 à 11:37:59  profilanswer
 

en fait tu peux même réduire le tout à une seule requete, je te laisse deviner


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Faire un SELECT * WHERE xxxx est contenu dans un tableau

 

Sujets relatifs
[CSS] Bug IE : le positionnement entre les div et les champ <select> ?Alignement d'un select et d'un text...
(RESOLU) [PHP / Mysql] Requete SELECT très complexeProblème variable dynamique et tableau
Php et menu <select mulitple>probleme d affichage avec un tableau html
afficher le contenu d'un input text sur le meme formulaireaffectation tableau 2D???
script php ôur copier contenuchanger la couleur d'une ligne d'un tableau avec les css
Plus de sujets relatifs à : Faire un SELECT * WHERE xxxx est contenu dans un tableau


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR