Problème de boucle dans un tableau
Posté : 09 févr. 2007, 00:35
Bonsoir à toute la communauté.
Voici mon problème :
Dans une première requête, je selectionne un certains nombre d’enregistrement dans ma BD.
Le résultat de cette requête est déclaré en tant que tableau.
$query1 = « SELECT Item1,Item2,Item3 FROM MaTable1”;
$result = mysql_query($query1);
$resultat = mysql_fetch_array($result);
Je m’intéresse ensuite aux différentes valeurs de Item1 dans le tableau $resultat.
Admettons que la première requête me donne 3 enregistrements (donc 3 valeurs de Item1). Je souhaite, dans une deuxième requête, passer une à une les 3 valeurs de Item1 pour voir si 1 des 3 passages me donne au moins un enregistrement. Je dois, à la suite de la deuxième requête avoir un « témoin » m’indiquant si les 3 test me donnent au moins un résultat, ou bien rien du tout.
J’ai donc bricolé la suite de mon code avec un foreach, puis un test dont je sors( break) dès qu’une valeur est retournée. Mais cela ne me donne pas satisfaction :
foreach($resultat7 as $val)
{
$query2 = "SELECT Champs1, champs2, Champs3 FROM MaTable2 WHERE Champs1 = ‘”.CritèreItem1.”’”;
$result2 = mysql_query($query2);
$resultat2 = mysql_fetch_array($result2);
if(!empty($resultat2['Champs1s']))
{$zzz = "A";
break;
}
else
{
$zzz = "B";
}
}
Je pense que ma solution est très alambiquée et qu’il doit y avoir bien plus simple.
Pourrez-vous me donner votre avis ?
Merci d'avance.
Voici mon problème :
Dans une première requête, je selectionne un certains nombre d’enregistrement dans ma BD.
Le résultat de cette requête est déclaré en tant que tableau.
$query1 = « SELECT Item1,Item2,Item3 FROM MaTable1”;
$result = mysql_query($query1);
$resultat = mysql_fetch_array($result);
Je m’intéresse ensuite aux différentes valeurs de Item1 dans le tableau $resultat.
Admettons que la première requête me donne 3 enregistrements (donc 3 valeurs de Item1). Je souhaite, dans une deuxième requête, passer une à une les 3 valeurs de Item1 pour voir si 1 des 3 passages me donne au moins un enregistrement. Je dois, à la suite de la deuxième requête avoir un « témoin » m’indiquant si les 3 test me donnent au moins un résultat, ou bien rien du tout.
J’ai donc bricolé la suite de mon code avec un foreach, puis un test dont je sors( break) dès qu’une valeur est retournée. Mais cela ne me donne pas satisfaction :
foreach($resultat7 as $val)
{
$query2 = "SELECT Champs1, champs2, Champs3 FROM MaTable2 WHERE Champs1 = ‘”.CritèreItem1.”’”;
$result2 = mysql_query($query2);
$resultat2 = mysql_fetch_array($result2);
if(!empty($resultat2['Champs1s']))
{$zzz = "A";
break;
}
else
{
$zzz = "B";
}
}
Je pense que ma solution est très alambiquée et qu’il doit y avoir bien plus simple.
Pourrez-vous me donner votre avis ?
Merci d'avance.