Je rencontre un problème dans la récupération de variables , je créer un tableau de 3 colonnes dans lequel je souhaite :
1er colonne : Insertion SQL depuis une BDD "description"
2em colonne : Récupérer une variable "controle" ayant une valeur : oui ou non ou na
3em colonne : Récupérer un commentaire "commentaire"
J'essaye de récupérer les variables, mais je n'ai pas réussi :
J'ai essayé avec une boucle foreach ou encore une boucle for mais je n'arrive pas a le mettre en place et je pense que je ne récupère pas ou mal les variables contrôle et commentaire
Je souhaite donc connaître vos avis et des possibles solutions si vous en connaissez
Ton premier problème, est que la variable id_mod n'est définie que si un formulaire est soumis, sauf qu'en dehors de la condition, tu cherches à faire une requête SQL en utilisant cette variable, qui par conséquent n'existe pas tant qu'un formulaire n'est pas soumis.
Le second, c'est que tu cherches à définir des attributs value d'input, via des données postées via un formulaire, sans même vérifier si un formulaire à été soumis et que les index dans la variable _POST existent bien.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Je peut récupérer mes valeurs de " . $cmd["description"] . " avec un foreach mais je ne sais pas ,comment je peut récupérer celle de "controle" et "commentaire" .
Pour pouvoir soumettre un formulaire et par conséquent pouvoir en récupérer les données soumises, il te faut par exemple un input de type submit dans le formulaire.
Par contre, il te faut un input de type hidden pour l'id correspondant à l'enregistrement de la table contenu_modele.
Sinon, ce n'est pas sur la balise th que tu dois définir l'attribut namecommentaire, mais sur l'input.
En ce qui concerne la récupération de controle et commentaire, si les données à récupérer se trouvent dans d'autres tables, dans ta requête SQL auprès de la table contenu_modele, il te faut faire des jointures avec les autres tables.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Se baser sur le nom d'un submit et donner le même nom a plusieurs d'entre eux, ce n'est pas la bonne pratique, normal que tu aies des problèmes.
De plus que tu donnes des noms à tes éléments du formulaire des noms sous forme de tableau, alors que tu n'as qu'un seul enregistrement dans le formulaire, c'est totalement inutile et source d'ennuis.
En plus de ça, dans ta dernière condition, tu utilises des variables qui ne sont pas définies, tel que name_array.
Il y a aussi le count($_POST['$commentaire']), tu es sûr d'avoir un index dans tes données postées qui se nomme $commentaire ?
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
J'ai trouvé ça sur : https://stackoverflow.com/questions/18156505/insert-multiple-fields-using-foreach-loop
Sauf que la notation du nom sous forme de tableau n'est à utiliser que quand il y a plusieurs enregistrements de ta table dans le formulaire qui sera soumis, ce qui n'est pas le cas dans ton formulaire qui est dans la boucle while.
Par count($_post['commentaire'])
Non, tu avais count($_post['$commentaire']) et non count($_post['commentaire']) dans ta condition.
Je suis d'accord pour le double "submit" mais j'ai cru comprendre par ton précédent post qu'il fallait que j'en rajoute un dans ma boucle.
Oui, mais tu ne dois pas donner le même nom au submit du formulaire qui se situ dans la boucle while que l'autre, d'ailleurs, l'autre formulaire ne devrait pas englober celui qui est dans la boucle, tu devrais le fermer avant.
- Edité par Lartak 22 mai 2019 à 16:37:42
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Cependant je ne veut qu'un bouton de validation pour l'utilisateur, donc comment envoyer toutes les données et pas seulement un morceau à l'envoi si je n'ai pas les deux même "name="validation"?
<?php
#ap_modele.php
if(isset($_POST["validation"]))
{
$commande = mysqli_real_escape_string($connexion, $_POST["commande"]);
$visa = mysqli_real_escape_string($connexion, $_POST["visa"]);
$modele = mysqli_real_escape_string($connexion, $_POST["modele"]);
$id_modele = mysqli_query($connexion, "SELECT id FROM modele WHERE nom ='" .$modele. "'");
$id_modele = mysqli_fetch_assoc($id_modele);
$id_mod = $id_modele["id"];
if ($id_mod == 1) {
$table_modele = "controle_electrique";
$table_contenu = "contenu_controle_electrique";
}
elseif ($id_mod == 2) {
$table_modele = "rapport_test";
$table_contenu = "contenu_rapport_test";
}
elseif ($id_mod == 3) {
$table_modele = "controle_qualite";
$table_contenu = "contenu_controle_qualite";
}
$id_commande_avant = mysqli_query($connexion, "SELECT id FROM $table_modele WHERE id_commande ='" .$commande. "' AND id_modele ='".$id_mod."' ");
$id_visa = mysqli_query($connexion, "SELECT id FROM utilisateur WHERE nom ='" .$visa. "'");
$id_commande_avant = mysqli_fetch_assoc($id_commande_avant);
$id_comm_avant = $id_commande_avant["id"];
$id_visa = mysqli_fetch_assoc($id_visa);
$id_vis = $id_visa["id"];
if (empty($id_comm_avant)) {
$temp="Nouvelle commande";
$add_commande = mysqli_query($connexion, "INSERT INTO $table_modele (id_commande,id_modele) VALUES ('$commande','$id_mod')");
}
else {
$temp="Commande existante";
$update_commande = mysqli_query($connexion, "UPDATE $table_modele SET id_commande = '".$commande."' , id_modele ='".$id_mod."' ");
}
$id_commande_apres= mysqli_query($connexion, "SELECT id FROM $table_modele WHERE id_commande ='" .$commande. "' AND id_modele ='".$id_mod."' ");
$id_commande_apres = mysqli_fetch_assoc($id_commande_apres);
$id_comm_apres = $id_commande_apres["id"];
$i = 0;
foreach ($_POST as $val) {
$controle = $_POST["controle"][$i];
$commentaire = $_POST["commentaire"][$i];
$id_contenu_modele = $_POST["id_contenu_modele"][$i];
mysqli_query($connexion,"INSERT INTO $table_contenu (id_controle,id_contenu_modele,controle,commentaire,visa) VALUES ('$id_comm_apres', '$id_contenu_modele','$controle','$commentaire','$visa')");
$i++;
}
}
?>
Je ne récupère toujours pas l'ensemble des variables, a cause du double form je reçois l'un ou l'autre (normal)
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Cdt,
Romain.P
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Cdt,
Romain.P
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Cdt,
Romain.P
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Cdt,
Romain.P
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Cdt,
Romain.P
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Cdt,
Romain.P
Cdt,
Romain.P