两个相关下拉列表中的问题

时间:2017-09-15 10:57:54

标签: php mysql

我的数据库名为课程

数据库中的表格是国家/地区大学

国家/地区包含字段

id --->作为主键

国家/地区 ---->作为唯一键

大学包含在字段

大学 --->作为唯一键

id ---->作为外键

我正在尝试在下拉列表中显示表国家/地区的字段国家/地区

并尝试对表大学执行相同的操作。

我的代码没有错误,但它现在显示我发送下拉列表。

<!DOCTYPE html>

<html>

<body>

<?php
//=======================================================================
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "courses";
//========================================================================
//========================================================================
$conn = new mysqli($servername, $username, $password, $dbname);
//========================================================================
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
//========================================================================

$sql = "SELECT id, countries FROM countries";
$result = $conn->query($sql);

if ($result->num_rows > 0) {

    while($row = $result->fetch_assoc()) {

        echo "<select>";

            echo "<option value= ".$row["id"]."> ". $row["countries"]." </option>";

        echo "</select>";

    }
} else {
    echo "0 results";
}

//=============================================================================

    $sql1 = "SELECT universities FROM universities where id = ' ".$row["id"]." '";

    $result1 = $conn->query($sql1);


    if ($result1->num_rows > 0) {

    while($row1 = $result1 -> fetch_assoc()) {



        echo "<select>";

                echo "<option value= > ". $row1["universities"]." </option>";

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

    $conn->close();
//=======================================================================================
?>

</body>

</html>

2 个答案:

答案 0 :(得分:0)

您的循环已经在上方关闭了,您将获取行[&#39; id&#39;],如何获取该行。

您可以通过

进行验证

$ sql1 =&#34; SELECT大学从大学大学加入各国的大学.id = countries.id&#34 ;;  $ result1 = $ conn-&gt; query($ sql1);

的var_dump($ RESULT1);显示你实际上是否有价值。

答案 1 :(得分:0)

$ row [&#34; id&#34;] 此值不会出现在循环之外。请尝试以下代码,

cyl