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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
$sq_les_categs="SELECT id, nom, parent FROM categorie WHERE parent = 0
AND famille='".bdd($_GET['nom'])."' ORDER BY ordre ASC";
$quer_les_categs = mysql_query($sq_les_categs) or die(mysql_error($rs_cat));
$row_les_categs = mysql_num_rows($quer_les_categs);
if($row_les_categs>0){
echo
'Classer dans la catégorie:<br>',"\n",
'<select name="categorie">',"\n",
'<option name="choisir" value="choisir" > - choisir - </option>',"\n";
while ($cat = mysql_fetch_assoc($quer_les_categs)) {
if($assoc3['categorie']==$cat['id']){$id_selected='selected';}
$select=$assoc3['categorie'];
$niveau = 0;
echo
'<option name="'.$cat['id'].'" ',
'value="'.$cat['id'].'" '.$id_selected.' >'.$chevron.$cat['nom'].'</option>',"\n";
liste_cat_select($cat['id'], &$niveau, $select);
}
echo
'</select>',"\n";
// la fonction :
function liste_cat_select($fils, &$niveau, $select) {// Attention => &$niveau
$rs_cat = mysql_query("SELECT id, nom, parent FROM categorie WHERE parent = '".(int)$fils."'
AND famille='".bdd($_GET['nom'])."' ORDER BY ordre ASC") or die(mysql_error($rs_cat));
$tot_cat = mysql_num_rows($rs_cat);
//
if ($tot_cat <= 0 && (int)$niveau > 0) $niveau--;
$chevron = '';
for ($i=0; $i <= $niveau; $i++) $chevron .= ' > ';
//
if ((int)$tot_cat > 0) {
//$i = 0;
while ($cat = mysql_fetch_assoc($rs_cat)) {
$niveau++;
if($select==$cat['id']){$id_selected='selected';}
//echo $chevron.'(id:'.$cat['id'].'-par:'.$cat['parent'].') '.$cat['nom'].'<br />';
//echo $chevron.$cat['nom'].'<br />';
echo '<option name="'.$cat['id'].'" ',
'value="'.$cat['id'].'" '.$id_selected.' >'.$chevron.$cat['nom'].'</option>',"\n";
// et on boucle en recursivité
liste_cat_select($cat['id'], &$niveau, $select);
}
}
} |
Partager