Column count doesn't match value count at row
fabieng_45
Messages postés
89
Statut
Membre
-
le père -
le père -
Bonjour,
e ne comprends pas pourquoi j ai cette phrase lorsque j'ai fini de remplir mon formulaire:
"it doesn't match value count at row 1 "
J ai une page formulaire.php, et une page choix.php ( le bouton valider du formulaire envoie sur choix.php, et c est dans la page choix.php que j'ai la petite phrase!!)
mes scripts:
Formulaire.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>formulaire</title>
</head>
<body>
<form method="post" action="choix.php">
<p class="titre">Vos souhaits</p>
<fieldset id="coordonnees">
<label>Etudiant : </label>
<select name="etudiant">
<option value="fabien">Fabien </option>
<option value="adrien">Adrien </option>
<option value="davy">Davy </option>
</select><br>
<br>
<br>
<label>Polyclinique: </label>
<input name="poly" value="peu" type="radio">Peu
<input name="poly" value="normal" type="radio">Normal
<input name="poly" value="beaucoup" type="radio">Beaucoup
</p>
<br>
<label>Patho: </label>
<input name="patho" value="peu" type="radio">Peu
<input name="patho" value="normal" type="radio">Normal
<input name="patho" value="beaucoup" type="radio">Beaucoup
</p>
<br>
<br>
<label>Urgence: </label>
<input name="urgence" value="peu" type="radio">Peu
<input name="urgence" value="normal" type="radio">Normal
<input name="urgence" value="beaucoup" type="radio">Beaucoup
</p>
<br> <br>
<label>Contrats non validés en: </label>
<input name="interets[]" value="paro" type="checkbox">Paro
<input name="interets[]" value="patho" type="checkbox">Patho
<input name="interets[]" value="prothese" type="checkbox">Prothèse
<input name="interets[]" value="valide" type="checkbox">A tout validé
</p>
</fieldset>
<p class="titre">Message</p>
<fieldset id="message">
<textarea name="comments" rows="5" cols="40"></textarea>
</fieldset>
<p id="buttons">
<input value="Envoyer" type="submit">
<input value="Recommencer" type="reset">
</p>
</form>
<form method="post" action="autre.php">
<p id="buttons">
<input value="Voir les autres" type="submit">
</p>
</form>
</body>
</html>
choix.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php // Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "root");
mysql_select_db("formulaire");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM clinique");
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
// vérification des champs
if (empty($_POST['etudiant']))
$message .= "Votre nom<br/>";
if (empty($_POST['poly']))
$message .= "Vacation polyclinique<br/>";
if (empty($_POST['patho']))
$message .= "Vacation patho<br/>";
if (empty($_POST['urgence']))
$message .= "Vacation urgence<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
}
$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}
$sql = "INSERT INTO formulaire VALUES ('', '".$etudiant."', '".$poly."', '".$patho."', '".$urgence."', '".$sqlinterets."', '".$message."', now())";
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
}
?>
</head>
<body>
<table style="text-align: left; margin-left: auto; margin-right: auto; width: 600px;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="text-align: center; height: 35px; width: 77px;"><span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);">Etudiant</span></td>
<td style="text-align: center; width: 77px;"><small><span style="font-style: italic; color: rgb(255, 0, 0); font-weight: bold;">Polyclinique</span></small></td>
<td style="text-align: center; width: 77px;"><span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;">Patho</span></td>
<td style="width: 77px; text-align: center;"><span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;">Urgences</span></td>
<td style="width: 77px; text-align: center;"><span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;">Contrats</span></td>
<td style="width: 77px; text-align: center;"><span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;">Message</span></td>
</tr>
</tbody>
</table>
<?php // Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "root");
mysql_select_db("formulaire");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM clinique");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<table style="width: 600px; text-align: left; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 200px;">
<div style="text-align: center;">
</div>
<p style="text-align: center;"><?php echo $donnees['etudiant']; ?></p>
</td>
<td style="width: 200px;">
<p style="text-align: center;"><?php echo $donnees['poly']; ?></p>
</td>
<td style="width: 200px;">
<p style="text-align: center;"><?php echo $donnees['patho']; ?></p>
</td>
<td style="width: 200px; height: 30px;">
<p style="text-align: center;"><?php echo $donnees['urgence']; ?></p>
</td>
<td style="width: 200px;">
<p style="text-align: center;"><?php echo $donnees['sqlinterets']; ?></p>
</td>
<td style="width: 200px;">
<p style="text-align: center;"><?php echo $donnees['message']; ?></p>
</td>
</tr>
</tbody>
</table>
<?php }
// Fin de la boucle, le script est terminé !
?>
</body>
</html>
Merci
e ne comprends pas pourquoi j ai cette phrase lorsque j'ai fini de remplir mon formulaire:
"it doesn't match value count at row 1 "
J ai une page formulaire.php, et une page choix.php ( le bouton valider du formulaire envoie sur choix.php, et c est dans la page choix.php que j'ai la petite phrase!!)
mes scripts:
Formulaire.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>formulaire</title>
</head>
<body>
<form method="post" action="choix.php">
<p class="titre">Vos souhaits</p>
<fieldset id="coordonnees">
<label>Etudiant : </label>
<select name="etudiant">
<option value="fabien">Fabien </option>
<option value="adrien">Adrien </option>
<option value="davy">Davy </option>
</select><br>
<br>
<br>
<label>Polyclinique: </label>
<input name="poly" value="peu" type="radio">Peu
<input name="poly" value="normal" type="radio">Normal
<input name="poly" value="beaucoup" type="radio">Beaucoup
</p>
<br>
<label>Patho: </label>
<input name="patho" value="peu" type="radio">Peu
<input name="patho" value="normal" type="radio">Normal
<input name="patho" value="beaucoup" type="radio">Beaucoup
</p>
<br>
<br>
<label>Urgence: </label>
<input name="urgence" value="peu" type="radio">Peu
<input name="urgence" value="normal" type="radio">Normal
<input name="urgence" value="beaucoup" type="radio">Beaucoup
</p>
<br> <br>
<label>Contrats non validés en: </label>
<input name="interets[]" value="paro" type="checkbox">Paro
<input name="interets[]" value="patho" type="checkbox">Patho
<input name="interets[]" value="prothese" type="checkbox">Prothèse
<input name="interets[]" value="valide" type="checkbox">A tout validé
</p>
</fieldset>
<p class="titre">Message</p>
<fieldset id="message">
<textarea name="comments" rows="5" cols="40"></textarea>
</fieldset>
<p id="buttons">
<input value="Envoyer" type="submit">
<input value="Recommencer" type="reset">
</p>
</form>
<form method="post" action="autre.php">
<p id="buttons">
<input value="Voir les autres" type="submit">
</p>
</form>
</body>
</html>
choix.php:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<?php // Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "root");
mysql_select_db("formulaire");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM clinique");
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
// vérification des champs
if (empty($_POST['etudiant']))
$message .= "Votre nom<br/>";
if (empty($_POST['poly']))
$message .= "Vacation polyclinique<br/>";
if (empty($_POST['patho']))
$message .= "Vacation patho<br/>";
if (empty($_POST['urgence']))
$message .= "Vacation urgence<br/>";
// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {
echo $message;
// sinon c'est ok
} else {
foreach($_POST as $index => $valeur) {
$$index = mysql_real_escape_string(trim($valeur));
}
$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}
$sql = "INSERT INTO formulaire VALUES ('', '".$etudiant."', '".$poly."', '".$patho."', '".$urgence."', '".$sqlinterets."', '".$message."', now())";
$res = mysql_query($sql);
if ($res) {
echo $msg_ok;
} else {
echo mysql_error();
}
}
?>
</head>
<body>
<table style="text-align: left; margin-left: auto; margin-right: auto; width: 600px;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="text-align: center; height: 35px; width: 77px;"><span style="font-weight: bold; font-style: italic; color: rgb(255, 0, 0);">Etudiant</span></td>
<td style="text-align: center; width: 77px;"><small><span style="font-style: italic; color: rgb(255, 0, 0); font-weight: bold;">Polyclinique</span></small></td>
<td style="text-align: center; width: 77px;"><span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;">Patho</span></td>
<td style="width: 77px; text-align: center;"><span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;">Urgences</span></td>
<td style="width: 77px; text-align: center;"><span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;">Contrats</span></td>
<td style="width: 77px; text-align: center;"><span style="color: rgb(255, 0, 0); font-weight: bold; font-style: italic;">Message</span></td>
</tr>
</tbody>
</table>
<?php // Maintenant on doit récupérer les 10 dernières entrées de la table
// On se connecte d'abord à MySQL :
mysql_connect("localhost", "root");
mysql_select_db("formulaire");
// On utilise la requête suivante pour récupérer les 10 derniers messages :
$reponse = mysql_query("SELECT * FROM clinique");
// On se déconnecte de MySQL
mysql_close();
// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees = mysql_fetch_array($reponse) )
{
?>
<table style="width: 600px; text-align: left; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 200px;">
<div style="text-align: center;">
</div>
<p style="text-align: center;"><?php echo $donnees['etudiant']; ?></p>
</td>
<td style="width: 200px;">
<p style="text-align: center;"><?php echo $donnees['poly']; ?></p>
</td>
<td style="width: 200px;">
<p style="text-align: center;"><?php echo $donnees['patho']; ?></p>
</td>
<td style="width: 200px; height: 30px;">
<p style="text-align: center;"><?php echo $donnees['urgence']; ?></p>
</td>
<td style="width: 200px;">
<p style="text-align: center;"><?php echo $donnees['sqlinterets']; ?></p>
</td>
<td style="width: 200px;">
<p style="text-align: center;"><?php echo $donnees['message']; ?></p>
</td>
</tr>
</tbody>
</table>
<?php }
// Fin de la boucle, le script est terminé !
?>
</body>
</html>
Merci
A voir également:
- Column count doesn't match value count at row
- Mysql error in file: /engine/classes/mysql.php at line 53 ✓ - Forum Réseaux sociaux
- Seti at home - Télécharger - Web & Internet
- System doesn't permit flashing bios - Forum Windows 8 / 8.1
- World at arms - Télécharger - Rôle RPG
- Justin tv match - Forum Réseaux sociaux
3 réponses
Bonsoir
Non tu n'es pas obligé. Tu as deux options :
. tu les insères tous avec INSERT INTO table VALUES ( 'valeur1', 'valeur 2', .. TOUTES les valeurs)
ou, si tu ne veux pas mettre toutes les valeurs, il faut préciser lesquelles tu veux mettre (c'est logique, non ?)
INSERT INTO table (champ1, champ3, champ7 ) VALUES ( 'valeur1', 'valeur3', 'valeur7')
Non tu n'es pas obligé. Tu as deux options :
. tu les insères tous avec INSERT INTO table VALUES ( 'valeur1', 'valeur 2', .. TOUTES les valeurs)
ou, si tu ne veux pas mettre toutes les valeurs, il faut préciser lesquelles tu veux mettre (c'est logique, non ?)
INSERT INTO table (champ1, champ3, champ7 ) VALUES ( 'valeur1', 'valeur3', 'valeur7')