Systeme de formulaire

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

13 sept. 2006, 16:08

"Column count doesn't match value count at row 1"
Je suppose que cette erreur correspond au insert. A priori cela signifies que tu tentes d'inserer plus de valeur que tu n'as de colonnes dans ta table :)

Pour un insert, je te recommande de spécifier les champs dans lesquels tu inseres les valeurs :

Code : Tout sélectionner

INSERT INTO ma_table (champ1, champ2, ... ) VALUES (valeur1, valeur2, ...)
Au moins tu seras sur du nombre et des correspondance (l'ordre est important si les noms des colonnes ne sont pas spécifiés)

Eléphant du PHP | 184 Messages

13 sept. 2006, 16:09

Bon, procédons par étapes, on va s'occuper de ton insert en 1er.

Tu as d'après ta requête 9 champs dans la table Club (faut éviter les majuscules, ca prête à confusion), est-ce le cas?

Préfère une requête du style :
$req = "insert into table (champs1,champs2,...) VALUES (var1,var2,....)";
Ce système t'évite de te tromper et tu peux facilement vérifier que tous tes champs sont remplis ou présents.


edit: deux fois valent mieux qu'une :)
Image

Eléphanteau du PHP | 25 Messages

13 sept. 2006, 16:25

 mysql_query("INSERT INTO Club (discipline, departement, nom, adresse, codePostal, city, tel) VALUES('', '" . $discipline . "', '" . $departement . "','". $nom ."','" . $president ."','". $adresse ."','". $codePostal ."','". $city ."','" . $tel . "')")
		or die(mysql_error());
    }

Avatar du membre
ViPHP
ViPHP | 3008 Messages

13 sept. 2006, 16:28

Regardes bien, tu n'as pas le même nombres de champs. Il te manque ID je pense, avant discipline.
INSERT INTO Club (discipline, departement, 


VALUES('', '" . $discipline . "', '" . $departement . "',
3 contre 2 !
Modifié en dernier par charabia le 13 sept. 2006, 16:31, modifié 1 fois.

Eléphant du PHP | 184 Messages

13 sept. 2006, 16:31

S'il s'agit effectivement d'un ID auto-incrémenté tu peux enlever ", en tout début de la partie des values
Image

Eléphanteau du PHP | 25 Messages

14 sept. 2006, 10:54

  mysql_query("INSERT INTO Club (discipline, departement, nom, adresse, codePostal, city, tel) VALUES('" . $discipline . "', '" . $departement . "','". $nom ."','" . $president ."','". $adresse ."','". $codePostal ."','". $city ."','" . $tel . "')")
		or die(mysql_error());
voila touours la meme erreure

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 sept. 2006, 11:58

Calcules bien le nombre de champs que tu as de chaque côté, ça t'évitera de poster et reposter alors que l'erreur est sous ton nez.

Il faut qu'il y ait une correspondance exacte, ce qui n'est toujours pas le cas dans ta requête.

Invité
Invité n'ayant pas de compte PHPfrance

14 sept. 2006, 14:34

La c'est arrangé et je vous remerci car vous nous faite chercher en nous aidant comment ca on comprend notre erreure

Maintenant ce qui ne marche pas c'est le lien modifier et supprimer lorsque l'on clique pour supprimer un club il le rajouter et de meme pour modifier .

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 sept. 2006, 14:44

As-tu vérifié ta requête ? Si elle te fait un ajout c'est qu'elle n'est pas bonne ;)

Invité
Invité n'ayant pas de compte PHPfrance

14 sept. 2006, 14:47

if (isset($_GET['id'])) 
{
    mysql_query('DELETE FROM Club WHERE id=' . $_GET['id']);
}
qu'en penses tu ?

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 sept. 2006, 14:48

Es-tu bien sûr que ton lien pointe bien vers cette requête ? C'est impossible que oui si ça te fait un ajout au lieu d'une suppression.

Eléphanteau du PHP | 25 Messages

14 sept. 2006, 14:50

<td width="105"><?php echo '<a href="clubi3.php?modifier_Club=' . $donnees['id'] . '">'; ?>Modifier</a></td>
<td width="105"><?php echo '<a href="clubi2.php?supprimer_Club=' . $donnees['id'] . '">'; ?>Supprimer</a></td>
voici mes liens

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 sept. 2006, 14:52

Pourquoi tu utilises $_GET['id'] alors que ta variable s'appelle supprimer_Club ?

Eléphanteau du PHP | 25 Messages

14 sept. 2006, 14:53

oui je me suis apercu et j'ai mis ca
if (isset($_GET['supprimer_club'])) 
{
    mysql_query('DELETE FROM Club WHERE id=' . $_GET['supprimer_Club']'');
}
mais mlagres ca il me rajoute toujours un club :s

Avatar du membre
ViPHP
ViPHP | 3008 Messages

14 sept. 2006, 15:10

Dans ta page clubi3.php tu n'as que cette requête de suppression ?