Voilà je souhaite exécuter une procédure stockée qui me renverrai un ensemble de données, cela fonctionne correctement.
Je parcours ensuite le résultat et enregistre tout dans un tableau
Puis je parcours le tableau pour faire mes insertions dans une table cible.
Cependant, l'insertion ne se fait pas, je suppose que c'est du au fait que le CALL ne libère pas la connexion mais je ne souhaite pas en ouvrir une deuxième pour ça.
Pouvez vous m'aider ?
$sqlLignesFac="CALL ant_Facturation_Elements(".$_POST['id_Affaire'].",'".$_POST['datedeb']."','".$_POST['datefin']."')";
$result = mysqli_query( $idCnx , $sqlLignesFac);
$intI=0;
while($rec = mysqli_fetch_array($result, MYSQL_ASSOC))
{
$tabLignes[$intI]['id_Candidat']=$rec['id_Candidat'];
$tabLignes[$intI]['id_FactDeclencheur']=$rec['id_FactDeclencheur'];
$tabLignes[$intI]['id_PhaseFacturation']=$rec['id_PhaseFacturation'];
$tabLignes[$intI]['id_FactDeclencheurTerme']=$rec['id_FactDeclencheurTerme'];
$tabLignes[$intI]['ordre_Declencheur']=$rec['ordre_Declencheur'];
$tabLignes[$intI]['ordre_Terme']=$rec['ordre_Terme'];
$tabLignes[$intI]['lib_Declencheur']=$rec['lib_Declencheur'];
$tabLignes[$intI]['ordre_Ligne']=$rec['ordre_Ligne'];
$tabLignes[$intI]['lib_Ligne']=$rec['lib_Ligne'];
$tabLignes[$intI]['Qte']=$rec['Qte'];
$tabLignes[$intI]['PU_HT']=$rec['PU_HT'];
$intI++;
};
for($intJ=0;$intJ<$intI;$intJ++)
{
$sqlInsertLigne="INSERT INTO ant_facture_ligne(id_Facture,id_Candidat,id_FactDeclencheur,id_PhaseFacturation,id_FactDeclencheurTerme,ordre_Declencheur,ordre_Terme, "
." lib_Declencheur,ordre_Ligne,lib_Ligne,Qte,PU_HT) "
." VALUES (".$idFacture.",".$tabLignes[$intJ]['id_Candidat'].",".$tabLignes[$intJ]['id_FactDeclencheur'].",".$tabLignes[$intJ]['id_PhaseFacturation'].",".$tabLignes[$intJ]['id_FactDeclencheurTerme']
.",".$tabLignes[$intJ]['ordre_Declencheur'].",".$tabLignes[$intJ]['ordre_Terme'].",'".$tabLignes[$intJ]['lib_Declencheur']."',".$tabLignes[$intJ]['ordre_Ligne'].",'".$tabLignes[$intJ]['lib_Ligne']."',".$tabLignes[$intJ]['Qte'].",".$tabLignes[$intJ]['PU_HT'].")";
$result = mysqli_query( $idCnx , $sqlInsertLigne);
}