Php 从表A中选择选项后显示表B中的数据

Php 从表A中选择选项后显示表B中的数据,php,jquery,mysql,ajax,Php,Jquery,Mysql,Ajax,我想在从表格工厂选择选项后显示表格foom中的一些数据。选择选项是从表工厂填充的数据 表格设计如下图所示: 图1=表工厂 图2=桌子间 以下是我的代码,用于仅从表工厂填充选择选项: <p>Select Factory:</p> <?php if($stmt = $link->query("SELECT * from factory")){ echo "<select id=

我想在从表格工厂选择选项后显示表格foom中的一些数据。选择选项是从表工厂填充的数据

表格设计如下图所示:

图1=表工厂

图2=桌子间

以下是我的代码,用于仅从表工厂填充选择选项:

<p>Select Factory:</p>
            <?php

            if($stmt = $link->query("SELECT * from factory")){

              echo "<select  id='exampleFormControlSelect1' name='Fac_Name' class='form-control'>";
              while ($row = $stmt->fetch_assoc()) {
              echo "<option value=$row[Fac_ID]>$row[Fac_Name]</option>";
              }
              echo "</select>";
              }else{
              echo $link->error;
              }
            ?>
如果选择F05,我希望在PHP表中显示属于F05的所有房间,即MR1和MR2。

答案如下

我会用


我建议使用ajax并为execute room创建新文件。您可以选择工厂id exampleFormControlSelect1,因此在选择更改时调用ajax

executeRoom.php

<?php
$facId = $_GET['facId'];
$result = [];
$stmt = $link->prepare("SELECT * from room where Fac_ID = ?");
$stmt->execute($facId);
foreach($stmt->fetchAll() as $row) {
     $result[] = ['facId' => $row['Fac_ID'], 'facName' => $row['Fac_Name']];
}
echo json_encode($result);

提示:尝试在factory.Fac_Name=table2.Room_DescOP上使用JOIN SELECT*from factory LEFT JOIN table2,但您的答案使用的是PDO。一般来说,选择PDO而不是mysqli是一个好主意,但OP可能已经用mysqli编写了他的代码,答案应该反映出这一点。链接已修复,我的谢意。顺便说一句,我会避免链接到这个网站。那里的教程质量很低,并且建议非常糟糕的编程实践。如果您想要一个关于PDO的好教程,请查看此网站:老实说,我获取了第一个链接,其中包含了连接的好代码:
<?php
$facId = $_GET['facId'];
$result = [];
$stmt = $link->prepare("SELECT * from room where Fac_ID = ?");
$stmt->execute($facId);
foreach($stmt->fetchAll() as $row) {
     $result[] = ['facId' => $row['Fac_ID'], 'facName' => $row['Fac_Name']];
}
echo json_encode($result);