Message d'erreur sous php

Résolu
albs Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
albs Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
J'ai besoin de votre aide svp.Voila mon problème :

Je travail sur une base donnée qui traite la comptabilité et j'ai un message d'erreur :
Warning: Missing argument 24 for majattribut() in /..../achat_grand_compte.class.php on line 78

A la ligne 78 j'ai déclaré ma fonction
fonction majAttributs ( $id,$date_achat ... etc ) // au total j'ai 24 attribut
$this->_id_achat=$id;
$this->_date_achat=$date_achat;
// ici j'ai fais la même chose pour mes 24 attributs

Quand je fais appel à la fonction majAttributs à l'interieur de la fonction selectachat_grand_compte ($num){
$this->majAttributs(
$obj->id_achat,
$obj->date_achat, // même chose pour les 24 attributs

Donc je voulais savoir si quelqu'un sait pourquoi j'ai cette message d'erreur alors que mes 24 attributs sont bien déclarés . Cette erreur me pénalise lorsqu'une personne veut faire des modifications au niveau du Bon De Commande annuel

Merci
A voir également:

6 réponses

Archeus01 Messages postés 1572 Date d'inscription   Statut Membre Dernière intervention   452
 
Oui, lorsque tu as défini ta fonction majattribut, tu as mis un truc du genre

public function majattribut($arg1,$arg2,$arg3...) jsuqu'a 24.
Donc derrière tu dois mettre FORCEMENT

$majattribut($val1,$val2,$val3...)jusqu'a 24!
0
albs Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse Archeus01 mais le problème ne vient pas de la car toutes mes fonctions je les ai déclarer de la même façon et je n'ai pas d'erreur.
0
Archeus01 Messages postés 1572 Date d'inscription   Statut Membre Dernière intervention   452
 
c'est quoi la déclaration de ta fonction (ligne ou tu as le fonction nom_de_lafonction )? Peut-tu la copier ici?
Et la ligne ou tu l'appelles?
0
albs Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Voici le code:
function majAttributs
($id,$date_achat,$gd_compte,$num_fact,$date_fact,$t_transp,$m_transp,$tva_transp,$m_emb,$tva_emb,$m_f_divers,$tva_f_divers,$cn_f_divers,$obs_f_divers,$date_af, $num_dl,$depart,$perssuivi,$etat,$desc,$justif,$date_rep,$num_commande,$listeFacture)
{
// récupération de la date du jour
$this->_id_achat=$id;
$this->_date_achat=$date_achat;
$this->_id_gd_compte=$gd_compte;
$this->_num_facture=$num_fact;
$this->_date_facture=$date_fact;
$this->_t_transp=$t_transp;
$this->_m_transp=$m_transp;
$this->_tva_transp=$tva_transp;
$this->_m_emb=$m_emb;
$this->_tva_emb=$tva_emb;
$this->_m_f_divers=$m_f_divers;
$this->_tva_f_divers=$tva_f_divers;
$this->_cn_f_divers=$cn_f_divers;
$this->_obs_f_divers=$obs_f_divers;
$this->_date_af=$date_af;
$this->_num_dl=$num_dl;
$this->_id_departement=$depart;
$this->_id_perssuivi=$perssuivi;
$this->_etat_achat=$etat;
$this->_desc_achat=$desc;
$this->_justif_achat=$justif;
$this->_date_rep=$date_rep;
$this->_num_commande=$num_commande;
$this->_listeFacture=$listeFacture;
}


function selectachat_grand_compte($num){
$db=new connexion("(nom de ma base de donnée");

$lock=mysql_query("lock tables achat_grand_compte read");
// récupération des données du BDC annuel $num
$res=mysql_query("SELECT * FROM achat_grand_compte WHERE id_achat like '$num'");
$lock=mysql_query("unlock tables");

if(mysql_num_rows($res)>0){
$obj=mysql_fetch_object($res);
$listeFacture = facture::initListe($obj->id_achat);
$this->majAttributs(
$obj->id_achat,
$obj->date_achat,
$obj->id_gd_compte,
$obj->num_facture,
$obj->date_facture,
$obj->t_transp,
$obj->m_transp,
$obj->tva_transp,
$obj->m_emb,
$obj->tva_emb,
$obj->m_f_divers,
$obj->tva_f_divers,
$obj->cn_f_divers,
$obj->obs_f_divers,
$obj->date_af,
$obj->num_dl,
$obj->id_departement,
$obj->id_perssuivi,
$obj->etat_achat,
$obj->desc_achat,
$obj->justif_achat,
$obj->date_rep,
$obj->num_commande,
$listeFacture
);
}
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Archeus01 Messages postés 1572 Date d'inscription   Statut Membre Dernière intervention   452
 
La j'avoue que je ne sais pas.
Je ne peux te donner que des pistes : supprime le $listeFacture , si ça marche pas, repart de 0 argument et essaye de les ajouter un par un...

Désolé de ne pas pouvoir plus t'aider
0
albs Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Salut Archeus01. En faite mon erreur venait d'un bloc d'attributs de la fonction majAttributs. Après trois jours passé dessus à essayer de comprendre pourquoi j'avais ce beug ( le logiciel existe depuis pas mal d'année moi je fais une amélioration) et enfin le miracle c'est produit :). J'ai mis tous les attributs un par un en commentaire pour voir la réaction du logiciel, pas de solution.Puis j'ai mis en commentaire les attributs de la même classe et la boom j'ai trouver la faille. Il y avait un bloc d'attributs ($etat,$desc,$justif,$listeAction,$date_rep,$num_commande) qui fausser le bon fonctionnement de cette fonction donc après les avoir supprimés le problème est résolu.
Je te remerci de l'intérêt que t'a apporter à mon problème.

bon travail cçm.
0