Il faudrait nous montrer tout les formulaire (les étapes)="<?php echo votant_id; ?>" .
Il va la chercher ou
Comme est t'elle transmise


if (isset($_POST['critere_valeur']))
{
var_dump($_POST['critere_valeur']);
}
ce qui m'affiche bien les deux critères choisies :C'est ce que j'essaie d'apprendre à faire.Si tu veux réaliser plusieurs insertions, il faudrait commencer par lui dire d'effectuer plusieurs insertions.
j'ai fait ces recherches (je fais des tas de recherches, je n'arrête pas), elles m'expliquent bien comment parcourir un tableau, mais pas comment enregistrer les données d'un tableau dans une bdd, sur plusieurs lignes selon le nombre de checkbox choisies.Pour tes recherches : parcourir données tableau php
mot clef secondaire : foreach
solution: boucle
elles m'expliquent bien comment parcourir un tableau, mais pas comment enregistrer les données d'un tableau dans une bdd,
Code : Tout sélectionner
mysql_query("
INSERT INTO concours_insc_crit_vot (icv_id, icv_votant_id, icv_inscrit_id, icv_valeur)
VALUES ('', '".$_POST['votant_id']."', '".$_POST['inscrit_id']."', '".$_POST['critere_valeur']."') ") or die (mysql_error()); vois du côté de foreach ?sur plusieurs lignes selon le nombre de checkbox choisies.
Pourtant tu as toutes les cartes en main...Je vais me débrouiller autrement, merci bonne journée.
$critere_valeur = array($_POST['critere_valeur'][1],
$_POST['critere_valeur'][2],
$_POST['critere_valeur'][3],
$_POST['critere_valeur'][4]);
foreach($critere_valeur as $inc_critere_valeur) {
$req = "INSERT INTO
concours_insc_crit_vot
icv_crit_id = '',
icv_votant_id = '".mysql_real_escape_string($_POST['votant_id'])."',
icv_inscrit_id = '".mysql_real_escape_string($_POST['inscrit_id'])."',
icv_valeur = '".mysql_real_escape_string($inc_critere_valeur)."'
";
$result = mysql_query($req) or die("Erreur MySQL : Impossible de sauvegarder les données");
}
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.
Code : Tout sélectionner
INSERT INTO machin VALUES ('truc','bidule'), ('machin', 'machintruc'), …
J'ai modifierOn ne met pas une requète dans une boucle. On utilise des insertions multiples :Code : Tout sélectionner
INSERT INTO machin VALUES ('truc','bidule'), ('machin', 'machintruc'), …
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.
A part ton erreur sur le SET, l'autre problème n'est pas vraiment une erreur, mais c'est un problème d'optimisation, c'est qu'une requète dans une boucle ca consomme beaucoup plus de ressources. Il faut donc faire en sorte de faire des requètes plus évoluées. Dans ce cas, comme je te dis, il vaut mieux faire une requète d'insertion multiple qui insère tous les enregistrements en même temps, plutôt que de faire n requètes insérant chacune un seul enregistrement.
.
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.Si on part là dedans, on peut aussi mettre un LOCK TABLE à write...On ne met pas une requète dans une boucle. On utilise des insertions multiples :Code : Tout sélectionner
INSERT INTO machin VALUES ('truc','bidule'), ('machin', 'machintruc'), …