動的ドロップダウンリストから選択したオプションに基づいて、対応するmysql列をhtmlで表示する方法

rookie_programmer

ユーザーが動的ドロップダウンボックスからオプションを選択した後、対応するmysqlテーブルの列を表示するためのヘルプをお願いしたいと思います。どこが間違っていたのか本当にわかりません:(助けてください:(

私は3つのmysqlテーブルを持っています:buildings、delivery_transaction、location、すべて互いに接続されています。メインテーブルは配送トランザクションです。

[delivery_transactionテーブル。building_IDとlocation_IDは、残りの2つのテーブルのFKです] [1]

ここで、ユーザーがドロップダウンリストにある建物名をクリックすると、次のようにメインテーブルからクエリした列のみが表示されます。

これまでの私のコードは次のとおりです。

<form name="bldg_form" method="post" action="">

<?php

//establish sql connection with db


$con = new mysqli("localhost" ,"root" ,"" ,"user_databases");

if(!$con)
{
  echo "Failed to connect!";
}

//select columns from delivery_transaction, buildings and location table
$query = mysqli_query($con, "SELECT delivery_status, starting_time, 
        arrival_time, duration, buildings.building_name, 
        location.location_name from delivery_transaction, buildings, 
        location where delivery_transaction.building_ID = 
        buildings.building_ID and delivery_transaction.location_ID = 
        location.location_ID");
?>
<!--Creates dropdown box-->
<select name = 'bldg'>
<option value = "">Choose Building</option>;
<?php
while($row = mysqli_fetch_assoc($query))
   {
     if($row['building_name'] == $selectedbldg)
     {
       echo '<option value = \"'.$row['building_ID'].'" 
       selected>'.$row['building_name'].'</option>';  
     }
     else
     {
       echo '<option value 
            =\"'.$row['building_ID'].'">'.$row['building_name'].'</option>';
     }
   }
 ?>
</select>
<input type="submit" name="view"/>
</form>

<section class="row text-center placeholders">
<div class="table-responsive">
<p>
 <table class="table table-striped">
  <thead>
   <tr>
     <th>Delivery Status</th>
     <th>Starting Time</th>
     <th>Arrival Time</th>
     <th>Duration</th>
     <th>Location</th>
   </tr>
</thead>
<tbody>
<tr>

<?php
if(isset($_POST['bldg']))
{
  while($row = mysqli_fetch_row($query))
  {
     echo "<tr>"."<td>".$row['delivery_status']."</td>"."
           <td>".$row['starting_time']."</td>"."
           <td>".$row['arrival_time']."</td>"."
           <td>".$row['duration']."</td>"."
           <td>".$row['location_name']."</td>"."</tr>";
   } 
 }
else
{
  echo "No results to display";
}
?>
</tr>
</tbody>
</table>
</p>
</div>
</section>
</main>

What I want to do is if user clicks on an option, it will display the 
corresponding table just like I queried. However, nothing displays :(

[This link shows user choosing an option][2]
[1]: https://i.stack.imgur.com/H78Gp.png
[2]: https://i.stack.imgur.com/pA6gI.png
マイキー

私が正しく理解していれば、すべての建物を表示するための1つのドロップダウンがあります。

提出時に、選択した建物に基づいた配達の表を提示します。

これは2つのクエリです(1つしかありません)。

これが私がそれをする方法です:

// never a bad idea to turn on your PHP error reporting in development
error_reporting(E_ALL);
ini_set('display_errors', 1);

$con = new mysqli("localhost" ,"root" ,"" ,"user_databases");

// always query buildings bc we need it for the dropdown
$bquery = mysqli_query($con, "SELECT building_ID, building_name FROM buildings");

$selectedbldg = null;

// if the form was submitted
if (!empty($_POST['bldg'])) {
    // store selected building_ID
    $selectedbldg = $_POST['bldg'];
    // query deliveries based on building; 
    // note the additional condition (I'm assuming building_ID is an integer)
    $dquery = mysqli_query($con, "
        SELECT  delivery_status, starting_time, arrival_time, duration, buildings.building_name, 
                location.location_name
        FROM    delivery_transaction, buildings, location 
        WHERE   delivery_transaction.building_ID = buildings.building_ID
        AND     delivery_transaction.location_ID = location.location_ID
        AND     buildings.building_ID = {$selectedbldg}
    ");

    // though it is not part of the scope of your question, 
    // you should probably use prepared statement above
}
?>


<form name="bldg_form" method="post" action="">
    <select name="bldg">
        <option value="">Choose Building</option>;
        <?php while ($row = mysqli_fetch_assoc($bquery)) : ?>
            <option value="<?= $row['building_ID'] ?>" <?= $row['building_name'] == $selectedbldg ? 'selected' : '' ?>><?= $row['building_name'] ?></option>
        <?php endwhile ?>
    </select>
    <input type="submit" name="view" />
</form>


<section class="row text-center placeholders">
    <div class="table-responsive">
        <table class="table table-striped">
            <thead>
                <tr>
                    <th>Delivery Status</th>
                    <th>Starting Time</th>
                    <th>Arrival Time</th>
                    <th>Duration</th>
                    <th>Location</th>
                </tr>
            </thead>
            <tbody>
            <?php if (isset($dquery) && mysqli_num_rows($dquery)) : ?>
                <?php while($row = mysqli_fetch_assoc($dquery)) : ?>
                    <tr>
                        <td><?= $row['delivery_status'] ?></td>
                        <td><?= $row['starting_time'] ?></td>
                        <td><?= $row['arrival_time'] ?></td>
                        <td><?= $row['duration'] ?></td>
                        <td><?= $row['location_name'] ?></td>
                    </tr>
                <?php endwhile ?>
            <?php else : ?>
                <tr>
                    <td>No results to display</td>
                </tr>
            <?php endif ?>
            </tbody>
        </table>
    </div>
</section>

読むのが良い:

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ドロップダウンで選択したオプションに基づいてテキストフィールドを表示/非表示にする方法は?

分類Dev

ajaxを使用して、別のドロップダウンリストから選択した値に基づいてドロップダウンリストからオプションを変更するにはどうすればよいですか?

分類Dev

ドロップダウンリストからの選択オプションに基づいてmysqlデータベースを選択する

分類Dev

ドロップダウン メニューから選択したオプションに基づいて HTML でテキストを表示するにはどうすればよいですか?

分類Dev

別のドロップダウンリストから選択した値に基づいて特定のドロップダウンリストを表示する

分類Dev

ドロップダウンリストから選択した入力に基づいて結果を表示する送信ボタンを作成する方法

分類Dev

asp.net Webアプリケーションでjavascriptを使用して、ドロップダウンリストから選択したオプションに応じて異なる入力タイプを表示する方法

分類Dev

選択したチェックボックスの値に基づいてドロップダウンリストオプションを取得する

分類Dev

ドロップダウンリストから選択したオプションを表示するにはどうすればよいですか?

分類Dev

ドロップダウンリストから選択したオプションを表示し続けるにはどうすればよいですか?

分類Dev

選択したドロップダウン値に基づいて反応コンポーネントを動的にレンダリングする方法

分類Dev

選択したドロップダウンオプションに基づいてdivを再表示します

分類Dev

ドロップダウンリストから別のオプションを選択するときに入力ボックスを表示したい

分類Dev

選択したオプションに基づいて動的に作成されたすべてのドロップダウンでオプションを無効/有効にするにはどうすればよいですか?

分類Dev

AngularJSでドロップリストから選択した値に基づいて要素を表示する方法

分類Dev

ドロップダウンリストから選択した値に基づいて関連レコードを表示する

分類Dev

他のドロップダウンボックスで選択したオプションに基づいてドロップダウンリストにデータを入力する

分類Dev

ドロップダウンリストでオプションが選択されている場合、結果を自動的に表示します

分類Dev

ドロップダウンリストから選択した値に基づいてELベースを変更することは可能ですか?

分類Dev

(Javascript)ドロップダウンリストで選択したオプションに基づいて変数値を変更するにはどうすればよいですか?

分類Dev

選択したテキストに基づいてドロップダウンをバインドする方法

分類Dev

anglejsonchangeのドロップダウンの選択されたオプションの値に基づいてdivに動的IDを追加する方法

分類Dev

Javascriptドロップダウン-同じドロップダウンで選択したオプションに基づいて異なるオプションを表示します

分類Dev

他のリストでの選択に基づいて、ドロップダウンリストのオプションを無効にします

分類Dev

jQueryを使用してドロップダウンリストからいくつかのオプションを動的に非表示にする方法

分類Dev

jQueryを使用してドロップダウンリストからいくつかのオプションを動的に非表示にする方法

分類Dev

最初のオプションの選択に基づいて2番目のドロップダウンを変更し、2番目のオプションの選択に基づいて3番目のドロップダウンを変更する方法

分類Dev

MySQLから値を読み取り、ドロップダウンリストから選択されているオプションを比較します

分類Dev

他の「選択」ボックスで選択したオプションに基づいて「選択」ボックスのドロップダウン値を設定する方法

Related 関連記事

  1. 1

    ドロップダウンで選択したオプションに基づいてテキストフィールドを表示/非表示にする方法は?

  2. 2

    ajaxを使用して、別のドロップダウンリストから選択した値に基づいてドロップダウンリストからオプションを変更するにはどうすればよいですか?

  3. 3

    ドロップダウンリストからの選択オプションに基づいてmysqlデータベースを選択する

  4. 4

    ドロップダウン メニューから選択したオプションに基づいて HTML でテキストを表示するにはどうすればよいですか?

  5. 5

    別のドロップダウンリストから選択した値に基づいて特定のドロップダウンリストを表示する

  6. 6

    ドロップダウンリストから選択した入力に基づいて結果を表示する送信ボタンを作成する方法

  7. 7

    asp.net Webアプリケーションでjavascriptを使用して、ドロップダウンリストから選択したオプションに応じて異なる入力タイプを表示する方法

  8. 8

    選択したチェックボックスの値に基づいてドロップダウンリストオプションを取得する

  9. 9

    ドロップダウンリストから選択したオプションを表示するにはどうすればよいですか?

  10. 10

    ドロップダウンリストから選択したオプションを表示し続けるにはどうすればよいですか?

  11. 11

    選択したドロップダウン値に基づいて反応コンポーネントを動的にレンダリングする方法

  12. 12

    選択したドロップダウンオプションに基づいてdivを再表示します

  13. 13

    ドロップダウンリストから別のオプションを選択するときに入力ボックスを表示したい

  14. 14

    選択したオプションに基づいて動的に作成されたすべてのドロップダウンでオプションを無効/有効にするにはどうすればよいですか?

  15. 15

    AngularJSでドロップリストから選択した値に基づいて要素を表示する方法

  16. 16

    ドロップダウンリストから選択した値に基づいて関連レコードを表示する

  17. 17

    他のドロップダウンボックスで選択したオプションに基づいてドロップダウンリストにデータを入力する

  18. 18

    ドロップダウンリストでオプションが選択されている場合、結果を自動的に表示します

  19. 19

    ドロップダウンリストから選択した値に基づいてELベースを変更することは可能ですか?

  20. 20

    (Javascript)ドロップダウンリストで選択したオプションに基づいて変数値を変更するにはどうすればよいですか?

  21. 21

    選択したテキストに基づいてドロップダウンをバインドする方法

  22. 22

    anglejsonchangeのドロップダウンの選択されたオプションの値に基づいてdivに動的IDを追加する方法

  23. 23

    Javascriptドロップダウン-同じドロップダウンで選択したオプションに基づいて異なるオプションを表示します

  24. 24

    他のリストでの選択に基づいて、ドロップダウンリストのオプションを無効にします

  25. 25

    jQueryを使用してドロップダウンリストからいくつかのオプションを動的に非表示にする方法

  26. 26

    jQueryを使用してドロップダウンリストからいくつかのオプションを動的に非表示にする方法

  27. 27

    最初のオプションの選択に基づいて2番目のドロップダウンを変更し、2番目のオプションの選択に基づいて3番目のドロップダウンを変更する方法

  28. 28

    MySQLから値を読み取り、ドロップダウンリストから選択されているオプションを比較します

  29. 29

    他の「選択」ボックスで選択したオプションに基づいて「選択」ボックスのドロップダウン値を設定する方法

ホットタグ

アーカイブ