php-mysql在html下拉菜单中查询ouptut
问题描述:
我在数据库命名组中有两个表(groupID,groupName)和userBelongToGroups(userID,groupID)。php-mysql在html下拉菜单中查询ouptut
groups userBelongToGroups
=================== =====================
groupID | groupName userID | groupID
------------------- ---------------------
1 | A 1 | 1
2 | B 1 | 2
3 | C 2 | 2
4 | D 3 | 1
3 | 3
4 | 4
我想显示列组名的所有值的下拉菜单里面的当前用户。
<select class="form-control" id="system_tags" name="system_tags">
<?php
$userID = $_SESSION['userID'];
// select the values from 'groupName' column
$sql = "SELECT groupName FROM groups, userBelongToGroups WHERE userID = '$userID' and `groups.groupID = userBelongToGroups.groupID`";
$result = mysqli_query($connection, $sql);
// display the values from 'groupName' table column
while ($row = mysqli_fetch_array($result)){
echo "<option value='".$row['groupName']."'>".$row['groupName']."</option>";
} ?>
</select>
所以当'$ userID'= 1时,它应该在下拉菜单中显示两个选项A和B.
注意:SQL查询在MySQL中完美运行。
SELECT groupName FROM groups, userBelongToGroups WHERE userID = '1' and groups.groupID = userBelongToGroups.groupID
答
它应该阅读 WHERE userID = '$userID' and groups.groupID = userBelongToGroups.groupID";
也试图从会话设置了$用户ID可能导致出现错误也没有默认值被设置。因此,而不是$userID = $_SESSION['userID']
你应该有这样的:
$userID = 0;
if(isset($_SESSION['userID'])){$userID = $_SESSION['userID'];}
最后,可以考虑这样的查询使用JOIN
,如:
SELECT a.groupName FROM groups a JOIN userBelongToGroups b ON a.groupID = b.groupID AND b.userID = '$userID';
+0
这工作约翰:) –
尝试删除'各地 groups.groupID = userBelongToGroups.groupID –
那么...它有什么作用?问题是什么?你只看到一个,根本没有,你的日志中有错误? ...? – Nic3500