2 回答

TA貢獻1851條經驗 獲得超4個贊
您正在返回一個值。如果我必須出示所有用戶卡,我會這樣做。
<?php?
? ? require "connection.php";
? ? $search = $_POST['search'];
? ? $sql = "SELECT users.first_name, users.second_name, cards.card_number
? ? ? ? ? ? FROM users
? ? ? ? ? ? INNER JOIN cards
? ? ? ? ? ? ON cards.user_id = users.id
? ? ? ? ? ? WHERE
? ? ? ? ? ? users.first_name = '$search'
? ? ? ? ? ? OR users.second_name = '$search'";
? ? $query = mysqli_query($db, $sql);
while ($row = mysqli_fetch_assoc($query)) {
? ? echo $row['first_name']." ".$row['second_name']." ",
? ? $row['card_number'];?
}?
?>
這應該為每張卡打印一行。
您還可以更改類似這樣的 where 子句來查找部分字符串:
users.first_name LIKE '%$search%'?
但是,如果您希望能夠搜索卡號并找到其所有者的所有關聯卡,那么您必須采取一些額外的步驟。
我會去做這樣的事情:
?SELECT t1.customerIDi, cards.number, customer.*?
?FROM CARDS
?LEFT JOIN customer ON cards.CustomerID = customer.id
?INNER JOIN (
? ? ?SELECT customer.id AS customerIDi
? ? ?FROM customer
? ? ?LEFT JOIN cards
? ? ?ON cards.CustomerID = customer.id
? ? ?WHERE
? ? ?Cards.Number = "$search"
?) AS t1
?ON t1.customerIDi = cards.CustomerID
我嵌套了一個選擇來查找卡所有者,然后獲取所有關聯的卡。

TA貢獻1874條經驗 獲得超12個贊
跑步
$results = mysqli_fetch_assoc($query);
foreach( $results as $result) {
echo .....
}
- 2 回答
- 0 關注
- 142 瀏覽
添加回答
舉報