iT邦幫忙

0

在同一個資料表顯示不同值的筆?

SELECT * FROM `user_cart` as c
        JOIN
          `product` AS b ON c.prod_id = b.prod_id
        WHERE
          c.id = '{$_SESSION["user-id"]}'

我在 product 中每一筆有個值叫做 from ,不是 a 就是 b
只是現在顯示的是只要是 id 符合就會全部顯示出來

while($row = mysqli_fetch_array($data)){
....
}

但我現在想要分的是
假設該筆from值是 a 的,則顯示在上半部
如果 from 是 b 的就顯示在下半部?

1 個回答

0
weiclin
iT邦高手 5 級 ‧ 2018-07-09 12:46:55
最佳解答

大概像這樣吧:

$all_b = [];
while($row = mysqli_fetch_array($data)){
    if ($row['from'] === 'a') {
        // 顯示 a
    } else {
        $all_b[] = $row;
    }
}

foreach ($all_b as $row) {
    // 顯示 b
}

或是你在 SQL 用 from 做排序應該也行

asys0512 iT邦新手 2 級 ‧ 2018-07-09 12:58:22 檢舉

我有想過用 sql 排序,但這樣我沒辦法分開顯示?一定要在同一個 whle..

weiclin iT邦高手 5 級 ‧ 2018-07-09 13:08:23 檢舉

要分開就照上面給的方式吧

我要發表回答

立即登入回答