0

わかりました、すべてを明確にするために、すべてをできるだけ明確に説明し、画像を含めます. このような非常に長い質問になる可能性がありますが、すべてを明確にしたいだけです。

さて、私は現在、次のようなテキストファイルからhtmlを表示している「テキストボックス」(TinyMCE AJAX File Manager)を持っています:

ここに画像の説明を入力 これは、この ATM のコードです。

Bericht:</td><td align="left"><textarea name="content" cols="50" rows="15"><?php echo "$show"?></textarea></td></tr>

と:

<?php
if (file_exists("prwyswig.txt")){
$show = file_get_contents('prwysiwyg.txt');
}
else{
$show = file_get_contents('tabel.txt');
}
?>

私が望むのは、テキストファイルをもう使用しないことですが、MySQL データベースに保存されている html コードを選択したいと考えています。「ニュースレター」の名前を含む動的なドロップダウン リストを作成しました。

私が望むのは、ドロップダウン リストからニュースレターを選択し、そのタイトルに属する html をテキストエリアにロードすることです。私は自分でいくつかのことを試しましたが、これを管理する方法がわかりません。

別のクエリを作成する必要がありますか? 送信ボタンを使用してテキストエリアにデータをロードできるようにするには、ドロップダウンリストを別のフォームに配置する必要がありますか?

おそらく必要になるので、残りのコードと私のDBテーブル構造を以下に投稿します^^他に質問がある場合は、コメントで質問してください。

注: mysql_* を使用すべきではないことはわかっていますが、それはここでは問題ではありません。後でPDOに変更します!

DB + クエリに接続して、適切なデータを選択します。

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

動的ドロップダウン リスト:

<td valign=top>Nieuwsbrief:</td>
<td>
<?php
echo "<select name=\"show\">"; 
echo "<option size =30 selected>Select</option>";
if(mysql_num_rows($sql_result)) 
{ 
while($row = mysql_fetch_assoc($sql_result)) 
{ 
echo "<option>$row[Titel]</option>"; 
} 

} 
else {
echo "<option>No Names Present</option>";  
} 
?>

データベース テーブル:

ID  Content                 Datum       Titel
1  (lots of encoded html)   18-03-13    test
2  (lots of encoded html)   18-03-13    test2
4  (lots of encoded html)   18-03-13    alles weer testen
5  (lots of encoded html)   20-03-13    testje
6  (lots of encoded html)   21-03-13    Statusupdate week 6
4

1 に答える 1

1

次のように実行できます。フォームの HTML および PHP コードは次のようになります。

<?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>

JQueryを使用して、このようなonChangeイベントを追加します<Select>

<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>

最後に、get_my_contents.phpは次のようになります

<?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"];
?>

問題が解決することを願っています。

EDIT このフィドルを試すことができます (クライアント側のコードだけでは、Ajax は機能しません) http://jsfiddle.net/jjWdF/

于 2013-03-27T13:11:00.807 に答える