簡體   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