1 pièce(s) jointe(s)
Formulaire dans une boucle
Bonjour,
J'ai un problème au niveau de mon formulaire : dans celui-ci une liste d'enregistrement est affichée depuis la bdd et quand je clique sur "envoi" le message est bien envoyé avec l'id de l'enregistrement ; mais il n'envoie pas seulement celui modifié mais toute la liste d'enregistrement et donc le message ne vient pas s'ajouter dans la bdd. Je ne comprend pas trop pourquoi.... si quelqu'un a une idée !
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| <html>
<head>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
function envoie(formreponse){
var message = document.formreponse.msg.value;
var rep = document.formreponse.rep.value;
$.ajax({
url : "reponseamdin.php",
type : "POST",
data : "message=" + message + "&rep=" + rep,
success : function(html){
$('#conversation').append(html);
$('#msg').val('');
}
});
}
</script>
</head>
<body>
<div id="container">
<h2>Administrateur</h2>
<h3>Notifications</h3>
<cite>Les questions rester sans reponses par les utilisateurs</cite>
<div id="notification">
<?php
include'../bdd.php';
$req = $dbh -> query('SELECT * FROM conversation WHERE reponse=""');
echo"<table><form method='POST' name='formreponse'><tr><th>Question</th><th>Reponse</th><th>ok</th></tr>";
while ($data = $req -> fetch()){
$result = $data['question'];
$rep = $data['id'];
echo "<tr><input type='hidden' value='$rep' name='rep' id='rep'/><td>$result</td> <td><input type='text' name='msg' id='msg'/></td><td><input type='submit' onclick='envoie();'/></td></tr>";
}
echo"</form></table>";
?>
</div>
<div id="conversation" name="conversation"></div>
</div>
</body>
</html> |
de plus j'envoie les données de mon formulaire grâce à une fonction js et voici ce que j'ai dans ma console :
Pièce jointe 238232
ensuite ma page reponseamdin est censé envoyer le message en fonction de l'id dans la bdd
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?php
$message = $_POST['message'];
$rep = $_POST['rep'];
//si le message est vide on affiche la reponse
if (!empty($message)){
include'../bdd.php';
$req = $dbh->query("UPDATE `conversation` SET `reponse` = '$message' WHERE id = '$rep' ");
}
else {
$reponse = "Le message est vide";
echo $reponse;
}
?> |
mais il affiche "Le message est vide"
CDT