Insertion de valeurs de chekbox
Fermé
debutantephp
Messages postés
13
Date d'inscription
mardi 10 mai 2011
Statut
Membre
Dernière intervention
25 juin 2011
-
23 juin 2011 à 20:39
debutantephp Messages postés 13 Date d'inscription mardi 10 mai 2011 Statut Membre Dernière intervention 25 juin 2011 - 25 juin 2011 à 00:41
debutantephp Messages postés 13 Date d'inscription mardi 10 mai 2011 Statut Membre Dernière intervention 25 juin 2011 - 25 juin 2011 à 00:41
A voir également:
- Insertion de valeurs de chekbox
- Insertion liste déroulante excel - Guide
- Insertion sommaire word - Guide
- Insertion signature word - Guide
- Insertion filigrane word - Guide
- Touche insertion clavier - Guide
4 réponses
:/
Pas évident de s'y retrouver là-dedans.
Quelques petites choses en vrac :
- "$reponse_utilisateur[1]" <= il doit y avoir une erreur sur "[1]"
- Pour insérer plusieurs lignes d'un coup avec un INSERT INTO .. VALUES, il faut faire ainsi :
VALUES ('a','c'), ('b','d')
et non
VALUES ('a','c','b','d')
- L'opération "$nombredechamps2=$nombredechamps-2;" me parait hautement hasardeuse, pourquoi - 2 ?
- Il y a des doublons de test : tester "if (isset($_SESSION['question' . $data[0]])) " dans "if (isset($_SESSION['question' . $data[0]]))" ne sert pas
- "$check" est défini mais n'est pas utilisé
Etait-il nécessaire que les données du formulaire soient présentes en $_SESSION ?
Bref, un peu confus :)
Si on revenait au besoin de base : qu'est-ce que c'est censé faire ? Quelles sont les données en entrée (formulaire ? résultat de requêtes SQL ?) ? Que souhaite-t-on en faire ?
Pas évident de s'y retrouver là-dedans.
Quelques petites choses en vrac :
- "$reponse_utilisateur[1]" <= il doit y avoir une erreur sur "[1]"
- Pour insérer plusieurs lignes d'un coup avec un INSERT INTO .. VALUES, il faut faire ainsi :
VALUES ('a','c'), ('b','d')
et non
VALUES ('a','c','b','d')
- L'opération "$nombredechamps2=$nombredechamps-2;" me parait hautement hasardeuse, pourquoi - 2 ?
- Il y a des doublons de test : tester "if (isset($_SESSION['question' . $data[0]])) " dans "if (isset($_SESSION['question' . $data[0]]))" ne sert pas
- "$check" est défini mais n'est pas utilisé
Etait-il nécessaire que les données du formulaire soient présentes en $_SESSION ?
Bref, un peu confus :)
Si on revenait au besoin de base : qu'est-ce que c'est censé faire ? Quelles sont les données en entrée (formulaire ? résultat de requêtes SQL ?) ? Que souhaite-t-on en faire ?
debutantephp
Messages postés
13
Date d'inscription
mardi 10 mai 2011
Statut
Membre
Dernière intervention
25 juin 2011
23 juin 2011 à 22:37
23 juin 2011 à 22:37
bsr
bon ma base contient 3 tables :
-questions: des questions soit de type champs de texte/chois unique/choix multiple si le cas et de question de choix unique ou multiple les posiblités de reponse sont enregistré dans:
- la table reponse qui contient le id de question la posiblité de reponse et le id de chaque posiblité de reponse
-table etablissement_universitaire:ou on va trouver les reponse sur notre formulaire
le formulaire donc est dynamique tout dépend de ce qui est dans (question/reponse)
le variable $nombredechamps est calculer par une fonction et si je ne fais pas -2 l'enregistrement ne se fait pas car il faut enlever le id de table etablissemnt_universitaire j'utilise les sessions parce que c 'est dynamique et je travaille avec pagination at passe de valeurs de chaque formulaire de page en page ben voila
merci parce que vous avez lu la totalité de mon code
bon ma base contient 3 tables :
-questions: des questions soit de type champs de texte/chois unique/choix multiple si le cas et de question de choix unique ou multiple les posiblités de reponse sont enregistré dans:
- la table reponse qui contient le id de question la posiblité de reponse et le id de chaque posiblité de reponse
-table etablissement_universitaire:ou on va trouver les reponse sur notre formulaire
le formulaire donc est dynamique tout dépend de ce qui est dans (question/reponse)
le variable $nombredechamps est calculer par une fonction et si je ne fais pas -2 l'enregistrement ne se fait pas car il faut enlever le id de table etablissemnt_universitaire j'utilise les sessions parce que c 'est dynamique et je travaille avec pagination at passe de valeurs de chaque formulaire de page en page ben voila
merci parce que vous avez lu la totalité de mon code
Je comprends mieux l'usage de $_SESSION (conservation des réponses faites de page en page), et devine un peu mieux comment ça y est structuré :)
Un truc du genre
array(
'question1' => 3,
'question8' => array(
4, 9
),
....
)
Par contre, je ne suis pas sûr d'avoir bien compris comment étaient les données dans "etablissement_universitaire". Y a-t-il une ligne par formulaire complété ou une ligne par réponse dans le formulaire complété ?
Quelques autres petites choses :
- "$reponse="/".$chkbx;" => $reponse est écrasé à chaque itération du foreach.
- "$reponse_utilisateur[1] =$reponse.",".$reponse;" => concatène 2 fois la même valeur, pas sûr que ce soit le but recherché
- Si une table a ce type de structure ( ID auto-incrémenté, champ1, champ2 ), il est possible de faire, pour MySQL :
INSERT INTO table1 (champ1, champ2) VALUES ( 'valeur1','valeur2' );
ou
INSERT INTO table1 VALUES ( NULL, 'valeur1','valeur2' );
Un truc du genre
array(
'question1' => 3,
'question8' => array(
4, 9
),
....
)
Par contre, je ne suis pas sûr d'avoir bien compris comment étaient les données dans "etablissement_universitaire". Y a-t-il une ligne par formulaire complété ou une ligne par réponse dans le formulaire complété ?
Quelques autres petites choses :
- "$reponse="/".$chkbx;" => $reponse est écrasé à chaque itération du foreach.
- "$reponse_utilisateur[1] =$reponse.",".$reponse;" => concatène 2 fois la même valeur, pas sûr que ce soit le but recherché
- Si une table a ce type de structure ( ID auto-incrémenté, champ1, champ2 ), il est possible de faire, pour MySQL :
INSERT INTO table1 (champ1, champ2) VALUES ( 'valeur1','valeur2' );
ou
INSERT INTO table1 VALUES ( NULL, 'valeur1','valeur2' );
debutantephp
Messages postés
13
Date d'inscription
mardi 10 mai 2011
Statut
Membre
Dernière intervention
25 juin 2011
25 juin 2011 à 00:41
25 juin 2011 à 00:41
bsr
ben j'ai changer l'ideé et por les questions de chek box
mais reste le probleme de variable vide l'enregistrement dans la base est n'est pas corecte
ben dans la tabel etablissement_universitaire chaque ligne est une réponse d'une question dans le formulaire
ben j'ai changer l'ideé et por les questions de chek box
elseif ($data[1]=="Multichoix") { $sqlcheckbox="SELECT * FROM reponse WHERE id_question=".$data[0]; $check = mysql_query($sqlcheckbox)or die (mysql_error()); while( $check_resultat = mysql_fetch_row($check) ) { if (isset($_SESSION['question' . $data[0]])) if (in_array($check_resultat[1], $_SESSION['question' . $data[0]])) { $reponse_utilisateur[] ="Oui"; } else $reponse_utilisateur[] ="Non"; } }
mais reste le probleme de variable vide l'enregistrement dans la base est n'est pas corecte
ben dans la tabel etablissement_universitaire chaque ligne est une réponse d'une question dans le formulaire