Bonjour, je bloque sur une requête super simple. J'ai des cases à cocher (ID_type_autre) qui modifient ma requete PHP. Pour l'exemple je teste sur 1 et 6.
J'ai écrit la requête super nulle mais qui marche, mais j'ai plus de 10 critères donc ce n'est pas possible.
J'ai une table avec des produits expert_produit_fiche avec comme ID id_fiche
J'ai une table de croisement des criteres expert_produit_type_autre_tbl avec une clé commune ID_fiche et les ID des criteres ID_type_autre
Dans ma table de croisement je vais trouver des valeurs du genre :
3,6 -> 3 pour ID_fiche et 6 pour ID_type_autre
3,2
3,1
2,1
L'idée finale est d'afficher les fiches qui ont exclusivement les criteres 1 et 6. Faut il tout envoyer dans un tableau ?
$requete_level = mysql_query("SELECT epf.titre FROM expert_produit_fiche epf ");
while ($row_requete_level = mysql_fetch_object($requete_level))
{
$requete_level2 = mysql_query("SELECT * FROM expert_produit_type_autre_tbl eptat WHERE eptat.ID_fiche = $row_requete_level->id_fiche AND eptat.ID_type_autre = 1 ");
if(mysql_fetch_object($requete_level2)!=0)
{
$requete_level3 = mysql_query("SELECT * FROM expert_produit_type_autre_tbl eptat WHERE eptat.ID_fiche = $row_requete_level->id_fiche AND eptat.ID_type_autre = 6 ");
if(mysql_fetch_object($requete_level3)!=0)
{
.... etc
echo '-> '.$row_requete_level2->ID_type_autre.' - '.$row_requete_level->id_fiche.' - '.$row_requete_level->titre.'<br/>';
}
}
}
J'ai essayé avec des requetes du genre : SELECT * FROM expert_produit_fiche epf JOIN expert_produit_type_autre_tbl eptat ON epf.id_fiche = eptat.ID_fiche WHERE eptat.ID_type_autre IN (1,6) GROUP BY eptat.ID_fiche
Mais ce n'est pas discriminant, ca me renvoi tous produits qui on en commun 1 et 6.
Merci
J'ai écrit la requête super nulle mais qui marche, mais j'ai plus de 10 critères donc ce n'est pas possible.
J'ai une table avec des produits expert_produit_fiche avec comme ID id_fiche
J'ai une table de croisement des criteres expert_produit_type_autre_tbl avec une clé commune ID_fiche et les ID des criteres ID_type_autre
Dans ma table de croisement je vais trouver des valeurs du genre :
3,6 -> 3 pour ID_fiche et 6 pour ID_type_autre
3,2
3,1
2,1
L'idée finale est d'afficher les fiches qui ont exclusivement les criteres 1 et 6. Faut il tout envoyer dans un tableau ?
$requete_level = mysql_query("SELECT epf.titre FROM expert_produit_fiche epf ");
while ($row_requete_level = mysql_fetch_object($requete_level))
{
$requete_level2 = mysql_query("SELECT * FROM expert_produit_type_autre_tbl eptat WHERE eptat.ID_fiche = $row_requete_level->id_fiche AND eptat.ID_type_autre = 1 ");
if(mysql_fetch_object($requete_level2)!=0)
{
$requete_level3 = mysql_query("SELECT * FROM expert_produit_type_autre_tbl eptat WHERE eptat.ID_fiche = $row_requete_level->id_fiche AND eptat.ID_type_autre = 6 ");
if(mysql_fetch_object($requete_level3)!=0)
{
.... etc
echo '-> '.$row_requete_level2->ID_type_autre.' - '.$row_requete_level->id_fiche.' - '.$row_requete_level->titre.'<br/>';
}
}
}
J'ai essayé avec des requetes du genre : SELECT * FROM expert_produit_fiche epf JOIN expert_produit_type_autre_tbl eptat ON epf.id_fiche = eptat.ID_fiche WHERE eptat.ID_type_autre IN (1,6) GROUP BY eptat.ID_fiche
Mais ce n'est pas discriminant, ca me renvoi tous produits qui on en commun 1 et 6.
Merci