Pb pour recuperer une var en auto-increment
shadowdad
-
shadowdad -
shadowdad -
Bonjour,
J'ai un petit souci concernant le php
J'ai crée des tables à l'aide de PhpMyAdmin, puis ai crée des pages html pour les traiter.
Dans mon exemple, dans une table compte j'insère un nouveau compte (pour l'instant, rien de sorcier) à l'aide d'une requête, et j'aimerai utiliser l'id incrémentée automatiquement pour l'insérer dans une autre table
Avec ce que j'ai essayé de faire, il m'affiche le message d'erreur suivant:
Column count doesn't match value count at row 1
Le code php que j'ai utilisé est le suivant:
<?
mysql_connect("**********");
Mysql_select_db("********");
$form="<form method=\"POST\">
<p>id_pro : <input type=\"text\" name=\"id_pro\" size=\"5\"
value=\"\"></p>
<p>num_client : <input type=\"text\" name=\"num_client\" size=\"30\"
value=\"\"></p>
<p>num_personnel : <input type=\"text\" name=\"num_personnel\" size=\"30\" value=\"\"></p>
<p>num_equipe : <input type=\"text\" name=\"num_equipe\" size=\"30\"
value=\"\"></p>
<p>type_compte : <input type=\"text\" name=\"type_compte\" size=\"30\"
<p>date de souscription : <input type=\"text\" name=\"date_action\" size=\"30\"
<p><input type=\"submit\" value=\"Valider\" name=\"B1\"></p>
</form>";
echo $form;
if (isset($_POST['B1'])){
Mysql_select_db("Projet_BD_2008");
$id_pro=$_POST['id_pro'];
$num_client=$_POST['num_client'];
$num_personnel=$_POST['num_personnel'];
$num_equipe=$_POST['num_equipe'];
$type_compte=$_POST['type_compte'];
$date_action=$_POST['date_action'];
$requete="INSERT INTO COMPTE VALUES ( '', '$type_compte', 0, 2, $num_client)";
mysql_query ($requete);
$requete2="SELECT COMPTE.num_compte FROM COMPTE WHERE COMPTE.type_compte='$type_compte' AND COMPTE.solde=0 AND COMPTE.id_type=2 AND COMPTE.num_client=$num_client";
$valeur=mysql_query($requete2) or die (mysql_error());
$tableau=mysql_fetch_array($valeur);
$num_compt="$tableau[$num_compte]";
print("$num_compt");
echo "<br><br>";
$requete3="INSERT INTO Action VALUES ( '', 'souscription_compte', $num_equipe, $num_personnel, $num_client, 'NULL', '$num_compt', '$date_action' )";
mysql_query ($requete3) or die (mysql_error());
}
?>
Avec les tables COMPTE et Action de la forme:
COMPTE:
Champ Type Null Extra
num_compte int(11) Non auto_increment
type_compte varchar(100) Non
solde int(11) Non
id_type int(11) Non
num_client int(11) Non
-----------------
ACTION:
Champ TypeAttributs Null Défaut Extra
id_action int(11) Non auto_increment
type_action varchar(100) Non
num_equipe int(11) Oui NULL
num_personnel int(11) Oui NULL
num_client int(11) Non
num_contrat int(11) Oui NULL
num_compte int(11) Oui NULL
Somme int(11) Oui NULL
date_action date Non
SI quelqu'un pouvait m'aider a résoudre mon problème, j'en serais très reconnaissant
Merci d'avance
J'ai un petit souci concernant le php
J'ai crée des tables à l'aide de PhpMyAdmin, puis ai crée des pages html pour les traiter.
Dans mon exemple, dans une table compte j'insère un nouveau compte (pour l'instant, rien de sorcier) à l'aide d'une requête, et j'aimerai utiliser l'id incrémentée automatiquement pour l'insérer dans une autre table
Avec ce que j'ai essayé de faire, il m'affiche le message d'erreur suivant:
Column count doesn't match value count at row 1
Le code php que j'ai utilisé est le suivant:
<?
mysql_connect("**********");
Mysql_select_db("********");
$form="<form method=\"POST\">
<p>id_pro : <input type=\"text\" name=\"id_pro\" size=\"5\"
value=\"\"></p>
<p>num_client : <input type=\"text\" name=\"num_client\" size=\"30\"
value=\"\"></p>
<p>num_personnel : <input type=\"text\" name=\"num_personnel\" size=\"30\" value=\"\"></p>
<p>num_equipe : <input type=\"text\" name=\"num_equipe\" size=\"30\"
value=\"\"></p>
<p>type_compte : <input type=\"text\" name=\"type_compte\" size=\"30\"
<p>date de souscription : <input type=\"text\" name=\"date_action\" size=\"30\"
<p><input type=\"submit\" value=\"Valider\" name=\"B1\"></p>
</form>";
echo $form;
if (isset($_POST['B1'])){
Mysql_select_db("Projet_BD_2008");
$id_pro=$_POST['id_pro'];
$num_client=$_POST['num_client'];
$num_personnel=$_POST['num_personnel'];
$num_equipe=$_POST['num_equipe'];
$type_compte=$_POST['type_compte'];
$date_action=$_POST['date_action'];
$requete="INSERT INTO COMPTE VALUES ( '', '$type_compte', 0, 2, $num_client)";
mysql_query ($requete);
$requete2="SELECT COMPTE.num_compte FROM COMPTE WHERE COMPTE.type_compte='$type_compte' AND COMPTE.solde=0 AND COMPTE.id_type=2 AND COMPTE.num_client=$num_client";
$valeur=mysql_query($requete2) or die (mysql_error());
$tableau=mysql_fetch_array($valeur);
$num_compt="$tableau[$num_compte]";
print("$num_compt");
echo "<br><br>";
$requete3="INSERT INTO Action VALUES ( '', 'souscription_compte', $num_equipe, $num_personnel, $num_client, 'NULL', '$num_compt', '$date_action' )";
mysql_query ($requete3) or die (mysql_error());
}
?>
Avec les tables COMPTE et Action de la forme:
COMPTE:
Champ Type Null Extra
num_compte int(11) Non auto_increment
type_compte varchar(100) Non
solde int(11) Non
id_type int(11) Non
num_client int(11) Non
-----------------
ACTION:
Champ TypeAttributs Null Défaut Extra
id_action int(11) Non auto_increment
type_action varchar(100) Non
num_equipe int(11) Oui NULL
num_personnel int(11) Oui NULL
num_client int(11) Non
num_contrat int(11) Oui NULL
num_compte int(11) Oui NULL
Somme int(11) Oui NULL
date_action date Non
SI quelqu'un pouvait m'aider a résoudre mon problème, j'en serais très reconnaissant
Merci d'avance
A voir également:
- Pb pour recuperer une var en auto-increment
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
- Recuperer le son d'une video - Guide
4 réponses
Bonjour,
à la place de $requete="INSERT INTO COMPTE VALUES ( '', '$type_compte', 0, 2, $num_client)"; essaye $requete="INSERT INTO COMPTE VALUES ( , '$type_compte', 0, 2, $num_client)";
à la place de $requete="INSERT INTO COMPTE VALUES ( '', '$type_compte', 0, 2, $num_client)"; essaye $requete="INSERT INTO COMPTE VALUES ( , '$type_compte', 0, 2, $num_client)";
shadowdad
hmm nan ça change rien, toujours le même message, et pas le résultat estompé
j'ai oublié une virgule devant '$type_... Tu l'a fait pour toutes tes requetes où il y a un auto_increment ?