-1

私はPHPが初めてです..あなたの助けが必要です..

関連する2つのドロップダウンリストがあります:

ドロップダウン 1 : 手動で値を挿入します

ドロップダウン 2 : データベースから値を添付 (ドロップダウン 1 で選択した条件に基づく値)

次に、選択された両方の値が別のフォームのテキストボックスに表示されます。

私の問題は次のとおりです。

1) 2 番目のドロップダウンの値は表示できません。

2) 1 番目のドロップダウンの値は他のフォームに渡すことができますが、2 番目のドロップダウンはできません。

よろしくお願いします。

ここでコードを共有する方法がわかりません。

form1.php

//最初のドロップダウン

<select name="fruit_name" id="fruit_name" style="font-family: Calibri;font-size: 10pt;" onchange="loadXMLDoc(this.value); ">
   <option value="0">-- please choose --</option>
   <option value="Pineapple">Pineapple</option>
   <option value="Apple">Apple</option> 

// 2 番目のドロップダウン

        $fruit_name = $_POST['fruit_name'];
#Connect to MySQL
#Connect to database

$result = mysql_query("SELECT colour FROM fruit WHERE fruit_name = '$fruit_name'");

echo "<select name='colour' id='colour' style='font-family: Calibri;font-size: 10pt;'>";

while($row = mysql_fetch_assoc($result))
{
echo "<option value = ''>" . $row['colour'] . "</option>";
}
echo "</select>";

mysql_free_result($result);

//Closes specified connection
?>

form2.php

 <?php
//connection

        $fruit_name = $_POST['fruit_name'];
        $colour = $_POST['colour'];
?>
  <label>
  <input type="text" name="fruit_name" id="fruit_name" value = "<?php echo $fruit_name;?>" readonly>
  </label>
  <p>
    <label>
    <input type="text" name="colour" id="colour" value="<?php echo $colour;?>" readonly>
    </label>
  </p>
4

1 に答える 1

0

私は通常これを行いませんが、今は余裕があるので、あなたが従うことができる一般的なアプローチを与えるつもりです:

<head>タグの間に次を含めます。

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>

その下に、このコードを貼り付けます

<script type="text/javascript">
    $(function(){
        $('select#fruit_name').change(function(){
                var selectedVal = $(this).val(); // get the selected value

                $.ajax({    // send ajax request to the php file to process data
                    type:'post',
                    url:'php-page-name.php',
                    data:{'value':selectedVal},
                    success:function(ret)   // display the result from php-page-name.php page
                    {
                        $('div#result').html(ret);
                    }
                });

        });
    });
</script>

HTMLに移りましょう

    <select name="fruit_name" id="fruit_name" style="font-family: Calibri;font-size: 10pt;">
   <option value="0">-- please choose --</option>
   <option value="Pineapple">Pineapple</option>
   <option value="Apple">Apple</option> 
   </select>

<div id="result">
    <select>
        <option>Select One</option>
    </select>
</div>

php-page-name.phpページ (このページを作成し、form1.php と同じフォルダーに配置することを忘れないでください)

    <?php
    // put the code to connect to your database here


    $fruit_name = $_POST['value'];  // this will contain the value selected from first dropdown

    $result = mysql_query("SELECT colour FROM fruit WHERE fruit_name = '$fruit_name'");

echo "<select name='colour' id='colour' style='font-family: Calibri;font-size: 10pt;'>";

    while($row = mysql_fetch_assoc($result))
    {
        echo "<option value = '".$row['colour']."'>" . $row['colour'] . "</option>";
    }
    echo "</select>";

mysql_free_result($result);
    ?>

PS :mysql_*この例の関数を使用しているのは、あなたもそうであると想定しているためです。ただし、これらは間もなく非推奨になるため、これはお勧めしません。mysqliまたはに切り替えたい場合がありますPDO

于 2012-11-12T08:08:20.700 に答える