-1

私はプロジェクトに取り組んでいます。データベース値へのアクセスに関する問題に直面しています。これはコンボボックスの私のコードです:

<select name="pp">
    <option>--Title--</option>
    <?php include('DBConnect.php');
    $query = mysqli_query($con,"SELECT * from table");
    while($row = mysqli_fetch_assoc($query)){?>
    <option><?php echo $row['Teach_PPIJ_TNO']; ?></option>
    <?php } ?>
</select>

(ComboBOX 値はmysqlクエリとその動作によって取得されます)

そして私はフォームを持っています、フィールドはテーブルフィールドと同じです

また、フォームには Show(submit) ボタンも含まれています。

問題 : コンボボックスの値を選択し、表示ボタンをクリックして、そのフォームのフィールドにデータベースの値を表示するにはどうすればよいですか。

編集済み:理解を深めるために、このスクリーンショットを確認してください

https://www.dropbox.com/s/w0glc7mhwtnc75q/Untitled.jpg

この画像では、コンボボックスはテーブルの 1 つの列 (「ページ番号付きのタイトル」列) のみを表示し、コンボボックスの値を選択した後、対応する行の値を上記の形式で表示する必要があります。これがあなたを助けることを願っています。

4

1 に答える 1

-1

あなたの問題を正しく理解している場合は、選択した値に応じてフォーム フィールドの値を変更する必要があります。これは、javascript を使用するか、ページを更新して PHP を使用してロードすることで実現できます。

Javascript(jQuery)を利用した方法

<select name="pp" onchange="handleDroplistChange(this);"> 
    <option>--Title--</option> 
    <?php 
    include('DBConnect.php'); 
    $query = mysqli_query("SELECT * from table", $con); 
    while($row = mysqli_fetch_assoc($query)) { 
    ?>
    <option><?php echo $row['Teach_PPIJ_TNO']; ?></option>
    <?php } ?>
</select>

<!-- other input to load after selecting value-->
<input id= "field1" type="text" name="field_name">
<script>
    function handleDroplistChange(droplist)
    {
        var request = jQuery.ajax('somescript.php?selected_value='+droplist.value);
        request.done(function(data){
            var result = JSON.decode(data);
            jq('#field1').val(result.field_name); // assuming that returning object with field names as attributes
        });
    }
</script>

リフレッシュを利用した方法

<select name="pp" onchange="window.location='somescript.php?selected_value='+this.value"> 
    <option>--Title--</option> 
    <?php 
    include('DBConnect.php'); 
    $query = mysqli_query("SELECT * from table", $con); 
    while($row = mysqli_fetch_assoc($query)) { 
    ?>
    <option><?php echo $row['Teach_PPIJ_TNO']; ?></option>
    <?php } ?>
</select>

<!-- other input to load after selecting value-->
<?php
// load values according to selected value
$selected_value = $_GET['selected_value'];
?>

<input id= "field1" type="text" name="field_name" value="<?php echo $retrieved_value;?>">
于 2013-07-29T12:46:41.773 に答える