Message d'erreur sous php

Résolu/Fermé
albs Messages postés 8 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 19 juin 2009 - 16 avril 2009 à 11:23
albs Messages postés 8 Date d'inscription dimanche 20 juin 2004 Statut Membre Dernière intervention 19 juin 2009 - 17 avril 2009 à 10:49
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

6 réponses

Archeus01 Messages postés 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 450
16 avril 2009 à 12:10
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 dimanche 20 juin 2004 Statut Membre Dernière intervention 19 juin 2009
16 avril 2009 à 13:32
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 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 450
16 avril 2009 à 14:20
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 dimanche 20 juin 2004 Statut Membre Dernière intervention 19 juin 2009
16 avril 2009 à 15:18
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 1571 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 9 juin 2022 450
16 avril 2009 à 17:04
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 dimanche 20 juin 2004 Statut Membre Dernière intervention 19 juin 2009
17 avril 2009 à 10:49
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