簡體   English   中英

PHP MYSQL 根據兩個匹配的行列檢索數據

[英]PHP MYSQL retrieve data based on two matching row column

我有一個表,我需要檢查或比較兩行兩列相等然后我只需要檢索數據

我的表結構是

id | route_id | stop_id | bus_id | bus_time | trip | direction

如果我執行以下查詢

select routes.route_name,stops.stop_name,buses.bus_name,bus_timings.bus_time,bus_timings.trip,bus_timings.bus_direction from `bus_timings` 
inner join `stop_orders` on `stop_orders`.`id` = `bus_timings`.`stop_order_id` 
inner join `routes` on `stop_orders`.`route_id` = `routes`.`id` 
inner join `stops` on `stop_orders`.`stop_id` = `stops`.`id` 
inner join `buses` on `buses`.`id` = `bus_timings`.`bus_id` 
where `stops`.`stop_name` in ("sydney","melborne")

輸出

1 | route_1  | Sydney | bus_1 | 07:05 :00 | 1 |1
2 | route_1 | Melbourne| bus_2 | 07:35:00 |1 |1

但在現有查詢中,即使巴士不在悉尼之間行駛,我也會得到墨爾本的結果。 我只需要獲取在悉尼和墨爾本之間落下或旅行的巴士名稱

這樣做的簡單方法,沒有太多模糊,正如你提到的使用 PHP,所以在查詢語句中只使用一個 where 子句,而不是使用 php 過濾數據,例如,在檢索悉尼和墨爾本之間的公共汽車后,做一個foreach 循環並在選定時間使用 if 條件。

另一種方式是,如果您喜歡使用數組,則可以使用任何數組搜索函數匹配每個記錄中的時間,並將鍵取出到另一個數組中。 結果數組將包含城市之間和選定時間之間公交車的過濾數據。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM