Salut tout le monde ,

j'ai plusieurs liste déroulante alimenter depuis la bdd , et j'ai aussi plusieurs textearea , j'aimerais au moment on change d'un selecte(exemple Select1) remplir le textrea 01 aussi
j'ai essayé ce bout de code mais j'ai un probleme de l'index sur la page get_my_content , je pense car j'ai plusieurs select et plusieurs textrea c'est pour ca il a pas connu l'index

<?php
mysql_connect('localhost','root','root');
mysql_select_db('NAW') or die (mysql_error());
$strSQL = "SELECT Titel FROM NAW.Mail";
$sql_result = mysql_query($strSQL);
?>

    <form id="myform">
        <td valign=top>Nieuwsbrief:</td>
        <td>
        <?php
        echo "<select id=\"NieuwsbriefSelect\" name=\"show\">"; 
        echo "<option size =30 selected>Select</option>";
        if(mysql_num_rows($sql_result)) 
        { 
        while($row = mysql_fetch_assoc($sql_result)) 
        { 
        echo "<option value=\"$row[Titel]\">$row[Titel]</option>"; 
        } 
        } 
        else {
        echo "<option>No Names Present</option>";  
        } 
        ?>
    Bericht:</td><td align="left"><textarea name="content" cols="50" rows="15"></textarea></td></tr>
</form>
<script>
// variable to hold request
var request;
$(document).ready(function() {
$('#NieuwsbriefSelect').change(function() {
  //send Ajax call to get new contents
  var selected_text = $(this).val();
  // setup some local variables
  var $form = $("#myform");
  // let's select and cache all the fields
  var $inputs = $form.find("input, select, button, textarea");
  // serialize the data in the form
  var serializedData = $form.serialize();
  // fire off the request to /get_my_contents.php
  request = $.ajax({
    url: "/get_my_contents.php",
    type: "post",
    data: serializedData
   });

   // callback handler that will be called on success
   request.done(function (response, textStatus, jqXHR){
    //populate the TextArea
    $("textarea[name='content']").html(response);
   });

});
});
</script>

<?php
$title = $_POST"show"];
mysql_connect('localhost','root','root');
mysql_select_db('NAW') or die (mysql_error());
$strSQL = "SELECT Content from NAW.Mail where Titel = '$title' ";
$sql_result = mysql_query($strSQL);
$row = mysql_fetch_assoc($sql_result)
print $row"Content"];
?>

1 réponse


bonsoir,

C'est surtout bizarre ce que tu as fait dans tonn javascript ^^
De ce que j'ai compris tu veux envoyé l'information $title à ton fichier get_my_contents.php aussi tu as besoin de lui envoyé qu'une seul info non ?
pourquoi tu fais un serialize ici ?
on est d'accord que le titre que tu cherche à récupérer se trouve dans ton select ? donc dans la value de l'option ?
c'est cette data que tu doit envoyé et pas ce que tu envoie !

moi je ferai

$('#NieuwsbriefSelect').change(function() {
   var titre = $("#NieuwsbriefSelect option:selected").val();

  // fire off the request to /get_my_contents.php
  request = $.ajax({
    url: "/get_my_contents.php",
    type: "post",
    data: titre
   });

   // callback handler that will be called on success
   request.done(function (response, textStatus, jqXHR){
    //populate the TextArea
    $("textarea[name='content']").html(response);
   });

quelque chose comme ça mais pas testé donc pas sur ! :)