bonjour,

j'ai besoin d'aide pour corriger une erreur

en fait j'ai ecrit une fonction qui va me mettre a jour l'ordre_type (c'est le nom de la colonne dans la table type_document dans ma base de données)

ordre qui est actuellement a 0 dans la BD pour les types fils comme vous pouvez le constater ici :



et moi j'aimerai bien que ma fonction me fasse la numerotation suivante dans la BD
: (j'ai mis en evidence en rose fluo les tpyes parents)


pour cela , j'ai ecrit cette fonction pour laquelle je ne suis meme pas sure que l'algo fonctionne bien

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
<?php
 
function update_ordre_type ($tab){                                      //met a jour l'ordre dans le tableau des types
$childArray = array();                                                //tableau des fils
 
foreach ($tab as $id => $element) {                                 //pour chaque type du niveau courant du tableau des types      
$cpt=0;
$tmp = update_ordre_type($element["childs"]);             //on met a jour l'ordre de des types fils
if ($tmp != NULL) {                                                      //si il reste des types fils a examiner
      $cpt ++;
      $requete= "UPADTE type_document set ordre_type =".$cpt."WHERE TYPE_PARENT=".$element['id'];
      $resultat=db_send_query($lang_error['sql update failed'], $requete);
      $element['childs'] = $tmp;                                                                               // affecte le nouveau tableau des types
      $childArray[$element['id']] = $element;
      }
}
if(sizeof($childArray)>0) return $childArray;
      else
            return NULL;      
}
 
?>
mais ca me renvoie cette erreur alors que je ne vois pas ce qui est incorrecte dans l'argument de la fonction

Warning: Invalid argument supplied for foreach() in ../includes/functions.php on line 1085

est ce que vous pouvez m'aider svp

merci d'avance