Bonjour à tous,
J'ai un formulaire pour créer des articles, lors de la validation d'un articles je peu choisir la catégorie dans lequel il sera posté, j'aimerais le poster dans plusieurs catégories donc j'ai ajouté [] au select
et j'ai utiliser la commande implode (séparé par une virgule).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $list = "<select class='selcat' size='3' class='select' multiple='true' name='" . $name_field . "[]'>\n"; $list_cats[] = "<option label=\"$path \" value=\"$resultat[id]\">$path</option>";
Dans ma BDD tout est correcte j'ai une table $T_sites et ma structure est ID | DESCRIPTION | TITRE | ID_CAT qui me donne 1652 | ma descrption | mon titre | 106,107.
Sur mon accueil j'ai toutes les catégories avec le nombre d'articles présents, les articles dans une seule catégorie apparaissent les autres non, voici le code qui me permet de récupérer les sites :
Je sais qu'il faut lui dire de vérifier si il y a des "," mais je ne sais pas comment faire, j'ai essayé pas mal de chose mais je débute alors un petit coup de main serait sympa.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 function get_nbsites($cat) //retourne le nombre de sites presents dans une categorie ainsi que dans ses sous-categories { global $T_categories,$T_sites; //noms des tables utilisees //on place la categorie dans un tableau $list_all_cats[] = $cat; while (list($cle,$id_cat) = each ($list_all_cats)) //tant qu'on a encore des nouvelles categories { //on va chercher toutes les sous-categories de id_cat $sql_scats = "SELECT id FROM $T_categories WHERE id_cat_mere = '$id_cat' AND activation = 1 "; //on envoie la requete $res_scats = send_sql($sql_scats,"trouver le nombre de sous-catégories de $id_cat"); //ajout des categories dans le tableau while ($result = mysql_fetch_array($res_scats,MYSQL_ASSOC)) $list_all_cats[] = $result["id"]; } //preparation de la requete pour aller chercher le nombre de site $sql_nb_sites = "SELECT count(id) as count FROM $T_sites WHERE activation = 1 and ("; $nb_cats = sizeof($list_all_cats); for ($i=0;$i<$nb_cats-1;$i++) //on rajoute toutes les sous-categories $sql_nb_sites .= "id_cat = '$list_all_cats[$i]' or "; $sql_nb_sites .= "id_cat = '$list_all_cats[$i]') "; //envoi de la requete $res_nb_sites = send_sql($sql_nb_sites,"trouver le nombre de sites dans la catégorie $id_cat"); return mysql_result($res_nb_sites,0,"count"); }
Merci d'avance.
Partager