2009-10-08 6 views
0

J'essaie de faire un menu avec plusieurs sous-menus.J'ai besoin de faire une requête qui prend le résultat de la requête précédente et ne laisse que des résultats distincts de certains champs.Si je fais nouvelle requête chaque fois que le serveur bogues parce que la requête recherche dans la grande base de données veri. Donc, en bref quelque chose comme ça: sélectionnez distinct (champ) formulaire (déjà fait requête) Est-il possible dans mysql ou php que cela peut être fait?Vérifiez la requête déjà faite pour les valeurs de champs distincts, mais sans faire d'autres requêtes

Répondre

0

en php, vous pouvez boucle sur la première requête résultat d'une construction d'un tableau contenant des champs distincts:

$result = mysql_query($sql);// result of 1st query 

$arr = array();//an array that will contain distinct field values 

while ($row = mysql_fetch_assoc($result)) {// for each row 
    if (!in_array($row["field"], $arr)) // check if it's not in the array 
     $arr[] = $row["field"]    // add it 
} 
1

Pouvez-vous pas seulement utiliser une sous-requête? SELECT DISTINCT field FROM (SELECT * FROM menus WHERE ...) More information on subqueries in MySQL. Une sous-requête vous permettra de faire la sélection externe, par rapport aux résultats de la sélection interne.

Questions connexes