Récupération dernier numéro

aureliemerlin Messages postés 82 Date d'inscription jeudi 24 juin 2010 Statut Membre Dernière intervention 17 avril 2013 - 5 janv. 2011 à 11:50
aureliemerlin Messages postés 82 Date d'inscription jeudi 24 juin 2010 Statut Membre Dernière intervention 17 avril 2013 - 11 janv. 2011 à 11:25
Bonjour à tous
et une bonne année et une bonne santé

Voici mon problème :

je voudrais récupérer le dernier numéro de mon client qui vient d'être ajouter pour pouvoir créer une ligne avec ce numéro dans une autre table
voici le code qui permet de créer ma fiche client :
<?php
if (isset($_POST['NomEmp']))
{
require_once('includes/bd.inc.php');
$NomEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NomEmp']));
$CodeCom = mysqli_real_escape_string($lien, $_POST['CodeCom']);
$PreEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['PreEmp']));
$DatNaisEmp = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatNaisEmp']));
if(empty($DatNaisEmp))
{
$DatNaisEmp = NULL;
}
else
{
$DatNaisEmp = $DatNaisEmp;
}
$Mois = date("m");
$Annee = date("Y");
$LieuNaisEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['LieuNaisEmp']));
$AdrEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['AdrEmp']));
$CPEmp = mysqli_real_escape_string($lien, $_POST['CPEmp']);
$VilleEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['VilleEmp']));
$TelEmp = mysqli_real_escape_string($lien, $_POST['TelEmp']);
$MailEmp = mysqli_real_escape_string($lien, $_POST['MailEmp']);
$NbEnf = mysqli_real_escape_string($lien, $_POST['NbEnf']);
$NationaliteEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NationaliteEmp']));
$DepEmp = mysqli_real_escape_string($lien, $_POST['DepEmp']);
$PortableEmp = mysqli_real_escape_string($lien, $_POST['PortableEmp']);
$NomConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NomConj']));
$PreConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['PreConj']));
$NomNouvAdr = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NomNouvAdr']));
$AdrNouvAdr = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['AdrNouvAdr']));
$CPNouvAdr = mysqli_real_escape_string($lien, $_POST['CPNouvAdr']);
$VilleNouvAdr = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['VilleNouvAdr']));
$ProfEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['ProfEmp']));
$ProfCoEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['ProfCoEmp']));
$DatEntEmp = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatEntEmp']));
if(empty($DatEntEmp))
{
$DatEntEmp = NULL;
}
else
{
$DatEntEmp = $DatEntEmp;
}
$DatEntCoEmp = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatEntCoEmp']));
if(empty($DatEntCoEmp))
{
$DatEntCoEmp = NULL;
}
else
{
$DatEntCoEmp = $DatEntCoEmp;
}
$DatNaisConj = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatNaisConj']));
if(empty($DatNaisConj))
{
$DatNaisConj = NULL;
}
else
{
$DatNaisConj = $DatNaisConj;
}
$LieuNaisConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['LieuNaisConj']));
$AdrConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['AdrConj']));
$CPConj = mysqli_real_escape_string($lien, $_POST['CPConj']);
$VilleConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['VilleConj']));
$TelCoEmp = mysqli_real_escape_string($lien, $_POST['TelCoEmp']);
$MailCoEmp = mysqli_real_escape_string($lien, $_POST['MailCoEmp']);
$NationaliteCoEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NationaliteCoEmp']));
$DepCoEmp = mysqli_real_escape_string($lien, $_POST['DepCoEmp']);
$PortableCoEmp = mysqli_real_escape_string($lien, $_POST['PortableCoEmp']);
$TypeClient1 = 'client';
$TypeClient2 = 'particulier';
if (isset($_POST['CivMCoEmp']) == 'oui') {
$CivMCoEmp='oui';
} else {
$CivMCoEmp='';
}
if (isset($_POST['CivMdeCoEmp']) == 'oui') {
$CivMdeCoEmp='oui';
} else {
$CivMdeCoEmp='';
}
if (isset($_POST['CivMelleCoEmp']) == 'oui') {
$CivMCoEmp='oui';
} else {
$CivMelleCoEmp='';
}
if (isset($_POST['CivMEmp']) == 'oui') {
$CivMEmp='oui';
} else {
$CivMEmp='';
}
if (isset($_POST['CivMdeEmp']) == 'oui') {
$CivMdeEmp='oui';
} else {
$CivMdeEmp='';
}
if (isset($_POST['CivMelleEmp']) == 'oui') {
$CivMelleEmp='oui';
} else {
$CivMelleEmp='';
}
if (isset($_POST['MasculinEmp']) == 'oui') {
$MasculinEmp='oui';
} else {
$MasculinEmp='';
}
if (isset($_POST['MasculinCoEmp']) == 'oui') {
$MasculinCoEmp='oui';
} else {
$MasculinCoEmp='';
}
if (isset($_POST['FemininEmp']) == 'oui') {
$FemininEmp='oui';
} else {
$FemininEmp='';
}
if (isset($_POST['FemininCoEmp']) == 'oui') {
$FemininCoEmp='oui';
} else {
$FemininCoEmp='';
}
if (isset($_POST['SitMarEmp']) == 'oui') {
$SitMarEmp='oui';
} else {
$SitMarEmp='';
}
if (isset($_POST['SitCelEmp']) == 'oui') {
$SitCelEmp='oui';
} else {
$SitCelEmp='';
}
if (isset($_POST['SitVeufEmp']) == 'oui') {
$SitVeufEmp='oui';
} else {
$SitVeufEmp='';
}
if (isset($_POST['SitDivEmp']) == 'oui') {
$SitDivEmp='oui';
} else {
$SitDivEmp='';
}
if (isset($_POST['SitPacseEmp']) == 'oui') {
$SitPacseEmp='oui';
} else {
$SitPacseEmp='';
}
if (isset($_POST['UnionLibreEmp']) == 'oui') {
$UnionLibreEmp='oui';
} else {
$UnionLibreEmp='';
}
if (isset($_POST['SitMarCoEmp']) == 'oui') {
$SitMarCoEmp='oui';
} else {
$SitMarCoEmp='';
}
if (isset($_POST['SitCelCoEmp']) == 'oui') {
$SitCelCoEmp='oui';
} else {
$SitCelCoEmp='';
}
if (isset($_POST['SitVeufCoEmp']) == 'oui') {
$SitVeufCoEmp='oui';
} else {
$SitVeufCoEmp='';
}
if (isset($_POST['SitDivCoEmp']) == 'oui') {
$SitDivCoEmp='oui';
} else {
$SitDivCoEmp='';
}
if (isset($_POST['SitPacseCoEmp']) == 'oui') {
$SitPacseCoEmp='oui';
} else {
$SitPacseCoEmp='';
}
if (isset($_POST['UnionLibreCoEmp']) == 'oui') {
$UnionLibreCoEmp='oui';
} else {
$UnionLibreCoEmp='';
}
$sql 'INSERT INTO bdclient set NomEmp "' .$NomEmp . '", CodeCom = "' .$CodeCom .'", PreEmp = "' .$PreEmp .'", DatNaisEmp = "' .$DatNaisEmp .'", LieuNaisEmp ="' .$LieuNaisEmp .'", AdrEmp = "' .$AdrEmp .'", CPEmp = "' .$CPEmp .'", VilleEmp = "' .$VilleEmp .'", TelEmp = "' .$TelEmp .'", MailEmp = "' .$MailEmp . '", NbEnf = "' .$NbEnf .'", NationaliteEmp = "' .$NationaliteEmp . '", DepEmp = "' .$DepEmp .'", PortableEmp = "' .$PortableEmp .'", NomConj = "' .$NomConj .'", PreConj = "' .$PreConj .'", DatNaisConj = "' .$DatNaisConj .'", LieuNaisConj = "' .$LieuNaisConj .'", AdrConj = "' .$AdrConj .'", CPConj = "' .$CPConj .'", VilleConj = "' .$VilleConj .'", TelCoEmp = "' .$TelCoEmp .'", MailCoEmp = "' .$MailCoEmp .'", NationaliteCoEmp = "' .$NationaliteCoEmp .'", DepCoEmp = "' .$DepCoEmp .'", PortableCoEmp = "' .$PortableCoEmp .'", CivMCoEmp = "' .$CivMCoEmp .'", CivMdeCoEmp = "' .$CivMdeCoEmp .'", CivMelleCoEmp = "' .$CivMelleCoEmp .'", CivMEmp = "' .$CivMEmp .'", CivMdeEmp = "' .$CivMdeEmp .'", CivMelleEmp = "' .$CivMelleEmp .'", MasculinEmp = "' .$MasculinEmp .'", FemininEmp = "' .$FemininEmp .'", MasculinCoEmp = "' .$MasculinCoEmp .'", FemininCoEmp = "' .$FemininCoEmp .'", SitMarEmp = "' .$SitMarEmp .'", SitCelEmp = "' .$SitCelEmp .'", SitVeufEmp = "' .$SitVeufEmp .'", SitDivEmp = "' .$SitDivEmp .'", SitPacseEmp = "' .$SitPacseEmp .'", UnionLibreEmp = "' .$UnionLibreEmp .'", SitMarCoEmp = "' .$SitMarCoEmp .'", SitCelCoEmp = "' .$SitCelCoEmp .'", SitVeufCoEmp = "' .$SitVeufCoEmp .'", SitDivCoEmp = "' .$SitDivCoEmp .'", SitPacseCoEmp = "' .$SitPacseCoEmp .'", UnionLibreCoEmp = "' .$UnionLibreCoEmp .'", TypeClient1 = "' .$TypeClient1 .'", TypeClient2 = "' .$TypeClient2 .'", NomNouvAdr = "' .$NomNouvAdr .'", AdrNouvAdr = "' .$AdrNouvAdr .'", CPNouvAdr = "' .$CPNouvAdr .'", VilleNouvAdr = "' .$VilleNouvAdr .'", ProfEmp = "' .$ProfEmp .'", ProfCoEmp = "' .$ProfCoEmp .'", DatEntEmp = "' .$DatEntEmp .'", DatEntCoEmp = "' .$DatEntCoEmp .'", Mois = "' .$Mois .'", Annee = "' .$Annee .'"';



if (!mysqli_query($lien, $sql))
{

$erreur = "erreur dans l ajout du client :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
header('Location: http://127.0.0.1/gescompt/listeclients.php', true, 303);


exit();
}

?>
<?php
function changedatefrus($datefr)
{
$dateus=$datefr{6}.$datefr{7}.$datefr{8}.$datefr{9}."-".$datefr{3}.$datefr{4}."-".$datefr{0}.$datefr{1};
return $dateus;
}
?>

je ne sais pas comment faire quelqu'un peut il m'aider ???

merci d'avance

bonne journée

Aurélie

11 réponses

cod57 Messages postés 1653 Date d'inscription dimanche 7 septembre 2008 Statut Membre Dernière intervention 11 septembre 2013 19
5 janv. 2011 à 14:01
bonjour
bonne année

<?php
//query...
mysql_query("INSERT etc...");
// trouve id de la ligne ajoutée...
$id = mysql_insert_id();
// affiche...
echo $id;
?>
a++
0
aureliemerlin Messages postés 82 Date d'inscription jeudi 24 juin 2010 Statut Membre Dernière intervention 17 avril 2013
5 janv. 2011 à 15:29
merci pour votre réponse

voici le code modifié :

if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l ajout du client :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
//header('Location: http://127.0.0.1/gescompt/listeclients.php', true, 303);

// trouve id de la ligne ajoutée...
$id = mysql_insert_id(Num);
// affiche...
$sql 'INSERT INTO bdenfants set NumCli "'.$id .'"';
if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l ajout des enfants :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
exit();
}


mais lorsque je l'exécute j'arrive bien à créer une ligne mais je récupére 0 au lieu du dernier numéro

je ne sais pas pourquoi avez vous une idée ???

merci

Aurélie
0
Morphinof Messages postés 255 Date d'inscription vendredi 20 avril 2007 Statut Membre Dernière intervention 9 août 2013 4
5 janv. 2011 à 16:59
mysql_insert_id retourne false soit 0 en cas d'echec, ca dois venir de la connexion mysql que tu lui a transmi ici ton parametre $Num ne dois pas etre une resource sql valide, verifier avec un var_dump($Num)
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
6 janv. 2011 à 09:55
Salut,

mysql_insert_id retourne false soit 0 en cas d'echec, ca dois venir de la connexion mysql que tu lui a transmi ici ton parametre $Num ne dois pas etre une resource sql valide, verifier avec un var_dump($Num)

Non. La documentation est très explicite à ce sujet : en cas de connexion foireuse c'est false qui est retourné, 0 c'est uniquement si la requête est bien passée mais que aucune valeur n'a précédemment été générée par AUTO_INCREMENT.

Enfin bref, vu que Aurélie ne nous dit pas comment elle à affiché le résultat, on peut penser que false ait été transformé en sa valeur numérique (donc 0) pour s'afficher, si c'est le cas il existe bien un problème au niveau de la connexion avec MySQL.

Une fois que l'on a écarté tout soucis de connexion, on peux se pencher sur le second problème : personne en semble avoir remarqué qu'Aurélie utilises les fonctions de la famille de mysqli et non mysql. Bien que travaillant toutes deux sur MySQL, ces deux familles de fonctions n'interagissent pas entre elles, ce qui fait que mysql_insert_id() ne peux pas prendre en compte les requêtes effectuées avec mysqli_query(). Bref, pour continuer à utiliser mysqli il faut donc utiliser l'équivalent de mysqli_query() pour cette famille, équivalent qui est mysqli_insert_id().

Une fois ce remplacement effectué, si mysqli_insert_id() ne retourne pas ce que l'on veux il faudra alors se pencher sur la structure de la table ainsi que sur la requête qui a inséré la dernière entrée.
0

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

Posez votre question
aureliemerlin Messages postés 82 Date d'inscription jeudi 24 juin 2010 Statut Membre Dernière intervention 17 avril 2013
7 janv. 2011 à 14:36
bonjour,

je viens d'essayer en mettant mysqli_insert_id
mais je récupère toujours 0


que puis je faire d'autre

merci d'avance

Aurélie
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
7 janv. 2011 à 16:11
Salut,

Montre donc l'état actuel de ton code ainsi que la structure de ta table `bdclient` stp.
0
NextGenration Messages postés 9 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 7 mai 2011
8 janv. 2011 à 10:29
Bonjour,

Au risque de me ridiculiser
...
// trouve id de la ligne ajoutée...
$id = mysql_insert_id(Num);
// affiche... 
...


Hors en suivant le lien posté par "TychoBrahe" on peut lire dans la section Exemple, Style procédural :
...
printf ("Le nouvel enregistrement a l'id %d.\n", mysqli_insert_id($link));
...


Je te suggère donc une petite modification :
...
// trouve id de la ligne ajoutée...
// $id = mysql_insert_id(Num);
$id = mysql_insert_id($Num);
// affiche... 
...


C'est pas grave si je suis ridicule, ça ne tue pas à se que l'on dit
0
aureliemerlin Messages postés 82 Date d'inscription jeudi 24 juin 2010 Statut Membre Dernière intervention 17 avril 2013
10 janv. 2011 à 13:20
bonjour

voici mon code :
<?php
if (isset($_POST['NomEmp']))
{
require_once('includes/bd.inc.php');
$NomEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NomEmp']));
$CodeCom = mysqli_real_escape_string($lien, $_POST['CodeCom']);
$PreEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['PreEmp']));
$DatNaisEmp = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatNaisEmp']));
if(empty($DatNaisEmp))
{
$DatNaisEmp = NULL;
}
else
{
$DatNaisEmp = $DatNaisEmp;
}
$Mois = date("m");
$Annee = date("Y");
$LieuNaisEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['LieuNaisEmp']));
$AdrEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['AdrEmp']));
$CPEmp = mysqli_real_escape_string($lien, $_POST['CPEmp']);
$VilleEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['VilleEmp']));
$TelEmp = mysqli_real_escape_string($lien, $_POST['TelEmp']);
$MailEmp = mysqli_real_escape_string($lien, $_POST['MailEmp']);
$NbEnf = mysqli_real_escape_string($lien, $_POST['NbEnf']);
$NationaliteEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NationaliteEmp']));
$DepEmp = mysqli_real_escape_string($lien, $_POST['DepEmp']);
$PortableEmp = mysqli_real_escape_string($lien, $_POST['PortableEmp']);
$NomConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NomConj']));
$PreConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['PreConj']));
$NomNouvAdr = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NomNouvAdr']));
$AdrNouvAdr = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['AdrNouvAdr']));
$CPNouvAdr = mysqli_real_escape_string($lien, $_POST['CPNouvAdr']);
$VilleNouvAdr = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['VilleNouvAdr']));
$ProfEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['ProfEmp']));
$ProfCoEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['ProfCoEmp']));
$DatEntEmp = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatEntEmp']));
if(empty($DatEntEmp))
{
$DatEntEmp = NULL;
}
else
{
$DatEntEmp = $DatEntEmp;
}
$DatEntCoEmp = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatEntCoEmp']));
if(empty($DatEntCoEmp))
{
$DatEntCoEmp = NULL;
}
else
{
$DatEntCoEmp = $DatEntCoEmp;
}
$DatNaisConj = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatNaisConj']));
if(empty($DatNaisConj))
{
$DatNaisConj = NULL;
}
else
{
$DatNaisConj = $DatNaisConj;
}
$LieuNaisConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['LieuNaisConj']));
$AdrConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['AdrConj']));
$CPConj = mysqli_real_escape_string($lien, $_POST['CPConj']);
$VilleConj = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['VilleConj']));
$TelCoEmp = mysqli_real_escape_string($lien, $_POST['TelCoEmp']);
$MailCoEmp = mysqli_real_escape_string($lien, $_POST['MailCoEmp']);
$NationaliteCoEmp = htmlspecialchars(mysqli_real_escape_string($lien, $_POST['NationaliteCoEmp']));
$DepCoEmp = mysqli_real_escape_string($lien, $_POST['DepCoEmp']);
$PortableCoEmp = mysqli_real_escape_string($lien, $_POST['PortableCoEmp']);
$TypeClient1 = 'client';
$TypeClient2 = 'particulier';
if (isset($_POST['CivMCoEmp']) == 'oui') {
$CivMCoEmp='oui';
} else {
$CivMCoEmp='';
}
if (isset($_POST['CivMdeCoEmp']) == 'oui') {
$CivMdeCoEmp='oui';
} else {
$CivMdeCoEmp='';
}
if (isset($_POST['CivMelleCoEmp']) == 'oui') {
$CivMCoEmp='oui';
} else {
$CivMelleCoEmp='';
}
if (isset($_POST['CivMEmp']) == 'oui') {
$CivMEmp='oui';
} else {
$CivMEmp='';
}
if (isset($_POST['CivMdeEmp']) == 'oui') {
$CivMdeEmp='oui';
} else {
$CivMdeEmp='';
}
if (isset($_POST['CivMelleEmp']) == 'oui') {
$CivMelleEmp='oui';
} else {
$CivMelleEmp='';
}
if (isset($_POST['MasculinEmp']) == 'oui') {
$MasculinEmp='oui';
} else {
$MasculinEmp='';
}
if (isset($_POST['MasculinCoEmp']) == 'oui') {
$MasculinCoEmp='oui';
} else {
$MasculinCoEmp='';
}
if (isset($_POST['FemininEmp']) == 'oui') {
$FemininEmp='oui';
} else {
$FemininEmp='';
}
if (isset($_POST['FemininCoEmp']) == 'oui') {
$FemininCoEmp='oui';
} else {
$FemininCoEmp='';
}
if (isset($_POST['SitMarEmp']) == 'oui') {
$SitMarEmp='oui';
} else {
$SitMarEmp='';
}
if (isset($_POST['SitCelEmp']) == 'oui') {
$SitCelEmp='oui';
} else {
$SitCelEmp='';
}
if (isset($_POST['SitVeufEmp']) == 'oui') {
$SitVeufEmp='oui';
} else {
$SitVeufEmp='';
}
if (isset($_POST['SitDivEmp']) == 'oui') {
$SitDivEmp='oui';
} else {
$SitDivEmp='';
}
if (isset($_POST['SitPacseEmp']) == 'oui') {
$SitPacseEmp='oui';
} else {
$SitPacseEmp='';
}
if (isset($_POST['UnionLibreEmp']) == 'oui') {
$UnionLibreEmp='oui';
} else {
$UnionLibreEmp='';
}
if (isset($_POST['SitMarCoEmp']) == 'oui') {
$SitMarCoEmp='oui';
} else {
$SitMarCoEmp='';
}
if (isset($_POST['SitCelCoEmp']) == 'oui') {
$SitCelCoEmp='oui';
} else {
$SitCelCoEmp='';
}
if (isset($_POST['SitVeufCoEmp']) == 'oui') {
$SitVeufCoEmp='oui';
} else {
$SitVeufCoEmp='';
}
if (isset($_POST['SitDivCoEmp']) == 'oui') {
$SitDivCoEmp='oui';
} else {
$SitDivCoEmp='';
}
if (isset($_POST['SitPacseCoEmp']) == 'oui') {
$SitPacseCoEmp='oui';
} else {
$SitPacseCoEmp='';
}
if (isset($_POST['UnionLibreCoEmp']) == 'oui') {
$UnionLibreCoEmp='oui';
} else {
$UnionLibreCoEmp='';
}
$sql 'INSERT INTO bdclient set NomEmp "' .$NomEmp . '", CodeCom = "' .$CodeCom .'", PreEmp = "' .$PreEmp .'", DatNaisEmp = "' .$DatNaisEmp .'", LieuNaisEmp ="' .$LieuNaisEmp .'", AdrEmp = "' .$AdrEmp .'", CPEmp = "' .$CPEmp .'", VilleEmp = "' .$VilleEmp .'", TelEmp = "' .$TelEmp .'", MailEmp = "' .$MailEmp . '", NbEnf = "' .$NbEnf .'", NationaliteEmp = "' .$NationaliteEmp . '", DepEmp = "' .$DepEmp .'", PortableEmp = "' .$PortableEmp .'", NomConj = "' .$NomConj .'", PreConj = "' .$PreConj .'", DatNaisConj = "' .$DatNaisConj .'", LieuNaisConj = "' .$LieuNaisConj .'", AdrConj = "' .$AdrConj .'", CPConj = "' .$CPConj .'", VilleConj = "' .$VilleConj .'", TelCoEmp = "' .$TelCoEmp .'", MailCoEmp = "' .$MailCoEmp .'", NationaliteCoEmp = "' .$NationaliteCoEmp .'", DepCoEmp = "' .$DepCoEmp .'", PortableCoEmp = "' .$PortableCoEmp .'", CivMCoEmp = "' .$CivMCoEmp .'", CivMdeCoEmp = "' .$CivMdeCoEmp .'", CivMelleCoEmp = "' .$CivMelleCoEmp .'", CivMEmp = "' .$CivMEmp .'", CivMdeEmp = "' .$CivMdeEmp .'", CivMelleEmp = "' .$CivMelleEmp .'", MasculinEmp = "' .$MasculinEmp .'", FemininEmp = "' .$FemininEmp .'", MasculinCoEmp = "' .$MasculinCoEmp .'", FemininCoEmp = "' .$FemininCoEmp .'", SitMarEmp = "' .$SitMarEmp .'", SitCelEmp = "' .$SitCelEmp .'", SitVeufEmp = "' .$SitVeufEmp .'", SitDivEmp = "' .$SitDivEmp .'", SitPacseEmp = "' .$SitPacseEmp .'", UnionLibreEmp = "' .$UnionLibreEmp .'", SitMarCoEmp = "' .$SitMarCoEmp .'", SitCelCoEmp = "' .$SitCelCoEmp .'", SitVeufCoEmp = "' .$SitVeufCoEmp .'", SitDivCoEmp = "' .$SitDivCoEmp .'", SitPacseCoEmp = "' .$SitPacseCoEmp .'", UnionLibreCoEmp = "' .$UnionLibreCoEmp .'", TypeClient1 = "' .$TypeClient1 .'", TypeClient2 = "' .$TypeClient2 .'", NomNouvAdr = "' .$NomNouvAdr .'", AdrNouvAdr = "' .$AdrNouvAdr .'", CPNouvAdr = "' .$CPNouvAdr .'", VilleNouvAdr = "' .$VilleNouvAdr .'", ProfEmp = "' .$ProfEmp .'", ProfCoEmp = "' .$ProfCoEmp .'", DatEntEmp = "' .$DatEntEmp .'", DatEntCoEmp = "' .$DatEntCoEmp .'", Mois = "' .$Mois .'", Annee = "' .$Annee .'"';



if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l ajout du client :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
//header('Location: http://127.0.0.1/gescompt/listeclients.php', true, 303);

// trouve id de la ligne ajoutée...
$id = mysqli_insert_id(Num);
echo $id
// affiche...
$sql 'INSERT INTO bdenfants set NumCli "'.$id .'"';
if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l ajout des enfants :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
exit();
}

?>
<?php
function changedatefrus($datefr)
{
$dateus=$datefr{6}.$datefr{7}.$datefr{8}.$datefr{9}."-".$datefr{3}.$datefr{4}."-".$datefr{0}.$datefr{1};
return $dateus;
}
?>


et voici la structure de ma table bdclient :
Num int(11) Non Aucun AUTO_INCREMENT
CodeCom varchar(50) utf8_general_ci Oui NULL
NomEmp varchar(100) utf8_general_ci Oui NULL
....


Num BTREE Oui Non Num 173 A
faut il toute la table ????
voila

merci d'avance

Aurélie
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
10 janv. 2011 à 20:07
Salut,

$id = mysqli_insert_id(Num);

Avant d'utiliser une fonction regarde la documentation à son sujet, ça évitera ce genre d'erreur bête (et sur laquelle des remarques ont déjà été faites par d'autres personnes). Bref, ce n'est pas le nom du champ que tu dois passer mais le lien mysqli :

$id = mysqli_insert_id($lien);
0
NextGenration Messages postés 9 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 7 mai 2011
11 janv. 2011 à 01:24
Si je peut me permettre,

J'ai noté une autre chose "étrange" dans ta manière de coder (je vais très certainement m'attirer les foudres ???).

Cela m'intrigue et me fait m'interroger sur ma manière de coder. Si d'autres veulent donner leurs avis sur ce qui suit ? :

<?php
if (isset($_POST['NomEmp']))
{
require_once('includes/bd.inc.php');
...

...
$DatNaisEmp = changedatefrus(mysqli_real_escape_string($lien, $_POST['DatNaisEmp']));
if(empty($DatNaisEmp))
{
$DatNaisEmp = NULL;
}
else
{
$DatNaisEmp = $DatNaisEmp;
}
...

...
?>

Dans la variable $DatNaisEmp tu affecte la valeur du champ DatNaisEmp.
Tu vérifie que la variable ne soit pas vide ou NULL.
Si tel est le cas, tu affecte NULL à ta variable.
Sinon, tu prend la valeur de la variable $DatNaisEmp que tu réaffecte à la même variable $DatNaisEmp.

Et c'est surtout là, que j'ai du mal à te suivre !

Concernant la condition de vérification du contenu de la variable, je peut comprendre que tu souhaite systématiquement affecter la valeur NULL pour une valeur équivalente à 0 ou "0" ...
Pourquoi réaffecter une valeur contenu dans une variable dans la même variable ? Cette dite variable contient déjà la valeur.
Il n'est donc pas nécessaire de réaffecter à la même variable sa propre valeur. Enfin je crois ?

Tu réduiras considérablement ton code ainsi.
0
aureliemerlin Messages postés 82 Date d'inscription jeudi 24 juin 2010 Statut Membre Dernière intervention 17 avril 2013
11 janv. 2011 à 11:25
[size=100]bonjour

merci pour vos réponses
cela fonctionne en mettant mysqli_insert_id($lien)

une fois que j'ai insérer la ligne dans ma table je voudrais récupérer l'identifiant de la ligne que je viens d'insérer mais je récupère 0

voici le code :
// trouve id de la ligne ajoutée dans la table client
$id = mysqli_insert_id($lien);
//boucle permettant de creer 4 lignes dans la table enfants
$compteur = 1;
while ($compteur <=4)
{
$sql 'INSERT INTO bdenfants set NumCli "'.$id .'", Commercial = "' .$CodeCom .'"';
if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l ajout des enfants :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
++$compteur;
}
//creation d une ligne dans la table operations
$sql 'INSERT INTO bdoperations set NumCli "'.$id .'", CodeCom = "' .$CodeCom .'"';
if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l ajout des operations :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
$idnum = mysqli_insert_id($lien);
//boucle permettant de creer 5 lignes dans la table pret
$compteur = 1;
while ($compteur <=5)
{
$sql 'INSERT INTO bdpret set NumCli "'.$id .'", CodeCom = "' .$CodeCom .'", NumOp = "' .idnum .'"';
if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l ajout des enfants :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
++$compteur;
}
//boucle permettant de creer 3 lignes dans la table patrimoine
$compteur = 1;
while ($compteur <=3)
{
$sql 'INSERT INTO bdpatrimoine set NumCli "'.$id .'", CodeCom = "' .$CodeCom .'", NumOp = "' .idnum .'"';
if (!mysqli_query($lien, $sql))
{
$erreur = "erreur dans l ajout des enfants :" .mysqli_error($lien);
include 'erreur.html.php';
exit();
}
++$compteur;
}

je ne comprend pas pourquoi je ne récupère pas la bonne valeur

merci d'avance bonne journée

Aurélie
0
Rejoignez-nous