这里我想使用当前表中的id从另一个表中获取用户名。
$sql = "SELECT product_name,product_category,product_image_url,product_proposed_user_id
FROM product_list";
while($row = $result->fetch_assoc()) {
echo "<tr>
<td>". $row["product_name"]."</td>
<td>
<a href=''><span class='glyphicon glyphicon-remove'></span>Remove</a>
</td>
<td>
<a href='edit-product.php'><span class='glyphicon glyphicon-edit'></span>Edit</a>
</td>
</tr>";}
我在这里从表中获取详细信息。我在此查询中也有用户ID,但我想要做的是我想将用户ID引用到users
表并获取该id的用户名并打印值
我该怎么做?如何使用子查询来执行此操作?
答案 0 :(得分:3)
我没有看到你执行查询字符串的位置,你的代码应该是这样的:
$sql = "SELECT product_name,product_category,product_image_url,product_proposed_user_id
FROM product_list";
$result =$mysqli->query($sql);
while($row = $result->fetch_assoc()) {
echo "<tr><td>". $row["product_name"].
"</td><td><a href=''><span class='glyphicon glyphicon-remove'></span>
Remove</a></td><td><a href='edit-product.php'>
<span class='glyphicon glyphicon-edit'></span>Edit</a></td></tr>";
}
以下是您的查询的修补程序(获取用户详细信息):
$sql = "SELECT p.product_name,p.product_category,p.product_image_url,
p.product_proposed_user_id,u.user_name
FROM product_list p, user u
WHERE p.product_proposed_user_id = u.user_id ";
答案 1 :(得分:0)
您可以将join
与用户表一起使用:
$sql = "SELECT product_name,product_category,product_image_url,
product_proposed_user_id,u.user_name
FROM product_list pl
INNER JOIN users u on u.id = pl.product_proposed_user_id";
答案 2 :(得分:0)
您需要的是实际加入users表(获取名称):
使用此(根据您的具体情况,您可能需要替换“users”表名和“first / last_name”列):
SELECT product_name,product_category,product_image_url,product_proposed_user_id,
users.first_name, users.last_name
FROM product_list
LEFT JOIN users
ON product_list.product_proposed_user_id = users.user_id
然后在PHP代码中根据需要使用名字和姓氏。