Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 03/11/2006, 10h43   #1
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 132
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 132
Points : 17
Points : 17
Par défaut [Conception] deboguage d'une fonction

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 :
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
eclipse012 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2006, 23h40   #2
Membre émérite
 
Inscription : juin 2002
Messages : 1 013
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 1 013
Points : 959
Points : 959
tu es certain que dans l'appel de ta fonction, le paramètre est bien un tableau ?
francis m est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2006, 10h09   #3
Membre chevronné
 
David DRAPEAU
Consultant OpenERP
Inscription : juin 2003
Messages : 807
Détails du profil
Informations personnelles :
Nom : David DRAPEAU

Informations professionnelles :
Activité : Consultant OpenERP

Informations forums :
Inscription : juin 2003
Messages : 807
Points : 728
Points : 728
Envoyer un message via MSN à zyongh Envoyer un message via Skype™ à zyongh
Par défaut tu fais un champ supplémentaire

Tu fais un champ
Code :
niveau INT UNSIGNED NOT NULL
Tu mets à 1 pour MAQ, PR, MOP, etc...
Tu mets à 2 pour 00, 10, A, B, etc..
Tu mets à 3 pour 430, 470, etc...
et ainsi de suite

Ce sera beaucoup plus facile d'incrémenter en sachant à quel niveau ça se trouve. Toi tu le sais mais l'ordinateur non!!!
zyongh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h12.


 
 
 
 
Partenaires

Hébergement Web