Bonjour,

Je réalise dans un script des requête de ce type. (celle-ci est un exemple)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
//preparation de la requete pour aller chercher le nombre d articles
$sql_nb_articles = "SELECT count(id_article) as count FROM categories_articles WHERE (";
$nb_cats = sizeof($list_all_cats);
for ($i=0;$i<$nb_cats-1;$i++)
//on rajoute toutes les sous-categories
$sql_nb_articles .= "id_categorie = '$list_all_cats[$i]' or ";
$sql_nb_articles .= "id_categorie = '$list_all_cats[$i]') ";
 
//envoi de la requete					
$res_nb_articles = mysql_query($sql_nb_articles) or die(mysql_error());
La requête fonctionne très bien pour l'instant car je teste sur une base contenant 4000 articles et pas trop de catégorie et sous-categorie.

$list_all_cats s'alimente avec une requête précédente et je me demande si en production le script marchera toujours car il risque d'y avoir une grande quantité de OR dans certain cas.

Y'a t-il une limite de conditions dans une requête ?

Existe t-il une meilleur methode ?

Merci