[英]Use SQL Result to Query second time and grab more results via php
我正在从数据库中获取学校名称列表。 当用户单击学校名称时,我希望代码获取2-3个与用户单击的学校名称相关的其他属性。
我的单一学校名称列表代码:
$query = mysql_query("Select schoolname, product, username, password from credentials c
join products p on p.productid = c.productid
join schools s on s.schoolid = c.schoolid
join icons i on i.productid = p.productid
order by s.schoolname");
echo '<ul>';
while($row = mysql_fetch_array($query))
{
echo "<li> <a href='#'>" . $row['schoolname'] . "</a> </li>";
}
回声'';
电流输出:
预期产量:
学校名称仅显示一次(区别不起作用,因为每个学校名称都有2-3个产品凭据
用户单击学校的能力。 那么下方的学校名称将向下移动(切换效果),用户可以查看所点击学校的产品,用户名和密码(例如:用户点击了学校A)
productname2,用户名,密码
B学校
1)您应该使用GROUP BY学校名称,但是请注意,这只会给您一个唯一的学校名称行仅一个值,因此您可能会丢失一些其他数据。 另外,如果您想一次获取所有数据且不丢失产品凭据,则可能需要多个GROUP BY语句
2)很少有这样做的方法。 您可以一次获取所有需要的数据,生成带有学校名称和隐藏产品名称的html输出,并通过javascript进行切换。
<div class = "school-name">
School name 1
<div class = "product-name" style="display: none;">Product1</div>
<div class = "product-name" style="display: none;">Product2</div>
<div class = "product-name" style="display: none;">Product3</div>
</div>
和JavaScript,我正在使用jQuery
$(document).ready(function() {
$('.school-name').on('click', function(e) {
$(e.currentTarget).children('.product-name').show();
}
});
一旦您有少量数据,此方法就可以正常工作。 否则,最好使用AJAX调用来获取element的子节点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.