繁体   English   中英

使用SQL结果第二次查询并通过php获取更多结果

[英]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>";
}

回声'';

电流输出:

  • 学校A
  • 学校A
  • B学校
  • B学校
  • B学校
  • C校
  • C校

预期产量:

  1. 学校名称仅显示一次(区别不起作用,因为每个学校名称都有2-3个产品凭据

    • 学校A
    • B学校
    • C校
  2. 用户单击学校的能力。 那么下方的学校名称将向下移动(切换效果),用户可以查看所点击学校的产品,用户名和密码(例如:用户点击了学校A)

    • 学校A
    • 产品名称1,用户名,密码
    • productname2,用户名,密码

    • B学校

    • C校

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM