【发布时间】:2015-02-17 13:54:22
【问题描述】:
我想从 phpmyadmin 数据库中提取人名并将它们放置在 HTML 选择框中,当用户从选择框中选择名称时,它应该在表格中显示该人的数据库中的详细信息。我似乎无法让它工作,我可以从数据库中获取名称并显示在选择框中,但是当您单击名称时,它似乎会显示数据库中的每条记录,而不仅仅是一个为那个人。我使用的是 mysql 而不是 mysql。这是我的代码
这是我的后端资料
<?php
$conn = mysqli_connect("localhost", "root", "root") or die ("No connection");
mysqli_select_db($conn, "flat") or die("db will not open");
$query = "select FlatCode, Address from FLAT";
$result = mysqli_query($conn, $query) or die("Invalid query");
echo "<table border='1'><tr><th>modulecode</th><th>studentnum</th></tr>";
while($row = mysqli_fetch_array($result))
{
echo "<tr><td>" . $row[0] . "</td><td>" . $row[1] . "</td></tr>";
}
echo "</table>";
mysqli_close($conn);
?>
这是我的前端工作
<font size="4"> Choose an Owner Name</font><br><br>
<form action="flat.php" method="post">
<select name="name">
<?php
$con = mysqli_connect("localhost", "root", "root") or die ("No connection");
mysqli_select_db($con , "flat") or die ("db will not open");
$query = "SELECT distinct OwnerName, FlatCode, Address from FLAT";
/*$query= $_POST ("name")
function change_guery($query)
mysqli_use_result*/
$result = mysqli_query($con, $query) or die("Invalid query");
while($rows = mysqli_fetch_array($result))
{
echo "<option value=\"" . $rows[0] . "\">" . $rows[0] . "</option>";
}
echo "</select>";
mysqli_close($con);
?>
<input type="submit" value="Submit Value">
</form></body></html>
【问题讨论】:
-
您的意思是选择框包含所有数据库条目,而不仅仅是您想要的那些?那是因为您的查询选择了所有内容。例如,
$query = "select FlatCode, Address from FLAT";不包含任何WHERE子句。 -
这不起作用,因为我已经尝试过了
-
您已将
$query= $_POST ("name")注释掉。那是无效的语法。它应该是带有方括号的$query= $_POST["name"];。但是,我会将其更改为$name = $_POST["name"];,然后以$query = "SELECT distinct OwnerName, FlatCode, Address from FLAT WHERE column_x = '$name'";为例。column_x是您要查询的列,因为我不知道您要使用哪一个。 -
你试过什么?包括
WHERE?据我所知,您希望拥有当前登录或选择的用户的单位/地址。因此,在您的表flat中,您必须有一个用户标识符。然后您需要对此进行查询,例如:$query = "select FlatCode, Address from FLAT where userid='123' "; -
很遗憾这不起作用
标签: php mysqli phpmyadmin