A voir également:
- Récupérer valeur de checkbox dans bdd
- Recuperer message whatsapp supprimé - Guide
- Recuperer video youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
11 réponses
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
7 oct. 2009 à 18:11
7 oct. 2009 à 18:11
De cette façon.
Attention aussi aux ids de tes input, ils doivent-être uniques ;)
$valeursAutorisees = array('telechargements', 'tutoriaux', 'liens', 'news', 'forum', 'membre'); if( !empty($_POST['souhait']) && is_array($_POST['souhait']) ) { $_POST['souhait'] = array_unique($_POST['souhait']); $values = null; foreach( $_POST['souhait'] as $souhait ) { if( in_array($souhait, $valeursAutorisees) ) $values .= '(' . $souhait . '),'; } if( $values != null ) { $sql= 'INSERT INTO questionnaire(souhait) VALUES ' . rtrim($values, ','); mysql_query($sql) or exit(erreur sur '.$sql.'<br/>'.mysql_error()); // Nombre de lignes insérées echo mysql_affected_rows() . ' lignes insérées'; } }
Attention aussi aux ids de tes input, ils doivent-être uniques ;)
tout d'abord merci de ta réponse, mais j'ai un message d'erreur.
Parse error: syntax error, unexpected T_STRING in .../www/questionnaire2.php on line 73
je ne vois pas ce qui cloche dans cette ligne
mysql_query($sql) or exit(erreur sur '.$sql.'<br/>'.mysql_error());
j'ai également modifié mes ID:
<table align="center" border="0"><tr><td colspan="2"><u> Que souhaiteriez-vous :</u></td></tr>
<tr><td align="right"><input type="checkbox" name="souhait[]" id="telechargements" value="telechargements" /></td><td>Plus de téléchargements</td></tr>
<tr><td align="right"><input type="checkbox" name="souhait[]" id="tutoriaux" value="tutoriaux" /></td><td>Plus de tutoriaux/astuces</td></tr>
<tr><td align="right"><input type="checkbox" name="souhait[]" id="liens" value="liens" /></td><td>Plus de liens</td></tr>
<tr><td align="right"> <input type="checkbox" name="souhait[]" id="news" value="news" /></td><td>Plus de news</td></tr>
<tr><td align="right"> <input type="checkbox" name="souhait[]" id="forum" value="forum" /></td><td>Un forum</td></tr>
<tr><td align="right"> <input type="checkbox" name="souhait[]" id="membre" value="membre" /></td><td>Un espace membre</td></tr></table>
Parse error: syntax error, unexpected T_STRING in .../www/questionnaire2.php on line 73
je ne vois pas ce qui cloche dans cette ligne
mysql_query($sql) or exit(erreur sur '.$sql.'<br/>'.mysql_error());
j'ai également modifié mes ID:
<table align="center" border="0"><tr><td colspan="2"><u> Que souhaiteriez-vous :</u></td></tr>
<tr><td align="right"><input type="checkbox" name="souhait[]" id="telechargements" value="telechargements" /></td><td>Plus de téléchargements</td></tr>
<tr><td align="right"><input type="checkbox" name="souhait[]" id="tutoriaux" value="tutoriaux" /></td><td>Plus de tutoriaux/astuces</td></tr>
<tr><td align="right"><input type="checkbox" name="souhait[]" id="liens" value="liens" /></td><td>Plus de liens</td></tr>
<tr><td align="right"> <input type="checkbox" name="souhait[]" id="news" value="news" /></td><td>Plus de news</td></tr>
<tr><td align="right"> <input type="checkbox" name="souhait[]" id="forum" value="forum" /></td><td>Un forum</td></tr>
<tr><td align="right"> <input type="checkbox" name="souhait[]" id="membre" value="membre" /></td><td>Un espace membre</td></tr></table>
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
7 oct. 2009 à 18:34
7 oct. 2009 à 18:34
Il manque une apostrophe avant erreur dans le exit ;)
hum encore désolé mais je n'arrive pas, j'ai toujours le message d'erreur :
erreur sur INSERT INTO questionnaire(souhait) VALUES (forum)
Unknown column 'forum' in 'field list'
(pour chaque case que je coche)
dans ma table questionnaire j'ai pourtant 'souhait' de type SET avec comme valeurs :
'telechargements', 'tutoriaux', 'liens', 'news', 'forum', 'membre'
ca devrait être bon non? :(
erreur sur INSERT INTO questionnaire(souhait) VALUES (forum)
Unknown column 'forum' in 'field list'
(pour chaque case que je coche)
dans ma table questionnaire j'ai pourtant 'souhait' de type SET avec comme valeurs :
'telechargements', 'tutoriaux', 'liens', 'news', 'forum', 'membre'
ca devrait être bon non? :(
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
7 oct. 2009 à 19:44
7 oct. 2009 à 19:44
Oups désolé, j'ai oublié les quotes.
$values .= '(' . $souhait . '),';
Par :
$values .= '(\'' . $souhait . '\'),';
$values .= '(' . $souhait . '),';
Par :
$values .= '(\'' . $souhait . '\'),';
pas de soucis ;)
bon ca marche mais c'est pas exactement ce a quoi je m'attendais,
si je coche 3 cases j'ai 3 enregistrements, un pour chaque case cochée...
y'a pas moyen d'avoir dans le champ "souhait" les 3 valeurs cochées j'imagine ...
bon ca marche mais c'est pas exactement ce a quoi je m'attendais,
si je coche 3 cases j'ai 3 enregistrements, un pour chaque case cochée...
y'a pas moyen d'avoir dans le champ "souhait" les 3 valeurs cochées j'imagine ...
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
7 oct. 2009 à 22:06
7 oct. 2009 à 22:06
Pourquoi voudrais-tu enregistrer plusieurs valeurs dans un seul champ ?
En faisant ça, tu sera obligé de faire des manips complexes pour compter tes résultats, faire des mises à jour, etc...
Déjà, qu'une seule table pour faire ça, c'est pas le top.
En faisant ça, tu sera obligé de faire des manips complexes pour compter tes résultats, faire des mises à jour, etc...
Déjà, qu'une seule table pour faire ça, c'est pas le top.
en fait c'est un champs de formulaire que je souhaiterai stocker.
voici un apercu de ma table ainsi que du formulaire:
http://i.imagehost.org/0963/Sans_titre.jpg
voici un apercu de ma table ainsi que du formulaire:
http://i.imagehost.org/0963/Sans_titre.jpg
et dans la colonne souhait je souhaiterai pouvoir stocker plusieurs variables (si l'utilisateur coche plusieurs cases de la checkbox)
peu etre qu'il existe un moyen plus simple de le faire...
merci
peu etre qu'il existe un moyen plus simple de le faire...
merci
P@t@ch0n
Messages postés
565
Date d'inscription
mercredi 15 avril 2009
Statut
Membre
Dernière intervention
28 décembre 2009
85
7 oct. 2009 à 23:59
7 oct. 2009 à 23:59
Le meilleur moyen, c'est de créer des tables supplémentaires et de supprimer cette colonne de ta table.
Une première table souhait(id_souhait, nom_souhait) où seront stocker les valeurs "téléchargements, liens, etc...".
Une seconde table membre_souhait(id_membre_souhait, id_membre, id_souhait) qui servira à faire la relation entre ta table souhait et ta table membre dont tu dois ajouter impérativement un id, qui ne contiendra que 3 colonnes.
Cela peut paraitre complexe au premier abord, mais cela te simplifiera grandement la manipulation de tes données en faisant un schéma de table normalisé.
Une première table souhait(id_souhait, nom_souhait) où seront stocker les valeurs "téléchargements, liens, etc...".
Une seconde table membre_souhait(id_membre_souhait, id_membre, id_souhait) qui servira à faire la relation entre ta table souhait et ta table membre dont tu dois ajouter impérativement un id, qui ne contiendra que 3 colonnes.
Cela peut paraitre complexe au premier abord, mais cela te simplifiera grandement la manipulation de tes données en faisant un schéma de table normalisé.