0

私は PHP-to-Mysql を初めて使用するので、他の人がもうサポートされていないと述べている mysql_* 関数を使用しています。しかし、同じような質問をする人が見つからないので、この場所が私の質問をするのに最適だと思います.

基本的に、私の問題は、IF/ELSE ブロック内にドロップダウン リストを残す方法です。別の IF/ELSE ブロックを介して値を渡す (送信する) と、基本的には消えるので、次の IF/ELSE ブロック内のドロップダウン コード全体を書き直す必要がないコードを試しています。私がしようとしているのは、ドロップダウン内で選択されているオプションに応じてテキストボックスを表示することです(自動送信機能があります)。これは可能ですか?または、他のライブラリ (jQuery、javascript など) に頼る必要がありますか?

役立つ場合は、コードの一部を次に示します。

elseif($_POST['question'] == edit ){
    $res = mysql_query("SELECT questionID FROM questions");

    echo "<form action='' method='post'>
    Edit Question No.
        <select name='question_select' onchange=this.form.submit()>
            <option  value=null selected>--</option>";

            while($row = mysql_fetch_array($res))
            {
                echo "<option value=\"".$row['questionID']."\">".$row['questionID']."</option>";
            }

    echo "</select></form>";
  }

//TEXTBOX TO BE DISPLAYED WHEN A NUMBER IS SELECTED IN EDIT EXISTING
if (isset($_POST['question_select'])){
    $res = mysql_query("SELECT question FROM questions WHERE questionID='{$_POST['question_select']}'");
    $row = mysql_fetch_assoc($res);     

    echo "Editing Question ",$_POST['question_select'],"<br>
    <form action='' method='post'>
        <textarea name='edited_question' rows='4' cols='50'>",$row['question'],"</textarea><br>
        <input type='submit' name='save' value='Save'>
        <input type='hidden' name='question_num' value='{$_POST['question_select']}'>
        <input type='submit' name='cancel' value='Cancel'>
    </form>";
}

//PASSING OF VALUES WHEN SAVE IS PRESSED
if (isset($_POST['save'])){
    $edited_question = trim($_POST['edited_question']);
    mysql_query("UPDATE questions SET question='$edited_question' WHERE questionID='{$_POST['question_num']}'") or die(mysql_error);
    header("Location:admin_questions.php");
}
4

2 に答える 2

1

そのためにjqueryを使用します。使いやすく簡単です。依存するドロップダウンの場合、jquery コードは次のとおりです。

$(document).ready(function(e) {
  $("#abc").change(function()
    {
     var firstfeild= $("#firstfeild").val();
     $.post("getdata.php",{"firstfeild":firstfeild},function(data)
       {
        $("#abc").html(data);   
       });
   });
});

getdata.php では、mysql クエリを記述します。

于 2013-03-05T07:52:09.563 に答える
0
function renderDropdown($res)
{
    echo "
    <select name='question_select' onchange=this.form.submit()>
        <option  value=null selected>--</option>";
        while($row = mysql_fetch_array($res))
        {
            echo "<option value=\"".$row['questionID']."\">".$row['questionID']."</option>";
        }
    echo "</select>";
}

if(1==1)
{
    echo "<form action='' method='post'>Edit If Question No.";
    renderDropdown($res);
    echo "</form>";
}
else
{
    // $someOtherRes
    echo "<form action='' method='post'>Edit Else Question No.";
    renderDropdown($someOtherRes);
    echo "</form>";
}
于 2013-03-05T08:05:31.220 に答える