簡體   English   中英

使用結果中的 ID 創建 MySQL 查詢

[英]Create MySQL query with IDs from results

我有一個表單,讓用戶選擇他們想要顯示的內容。 現在這個結果看起來像這樣: 9, 10, 11 這些是表中的 ID。

這些是它們要顯示的類型的 ID。 我已經有了我的查詢,但我想在查詢的末尾添加這部分。

所以在這種情況下:

$query = "type_ID = $result1 or type_ID = $result2 or type_ID = $result3"

如果用 echo 打印出來:

type_ID = 9 or type_ID = 10 or type_ID = 11

我怎樣才能做到這一點?

我試圖循環它,但是這不起作用,我很困惑如何將 MySQL 代碼添加到它。

$result = $result . $_GET['type_ID'][$i]

我有點不確定您想要實現的目標,但據我所知,這應該做到:

<?php
$tID = $_GET['type_ID'];

$query = 'SELECT * FROM table WHERE';

$i = 0;
foreach($tID AS $id){
    if($i == 0){
        $query .= ' type_ID = ' . $id;
        $i++;
    }else{
        $query .= ' OR type_ID = ' . $id;
    }
}

雖然如果你只是在尋找 type_ID 我仍然建議使用IN()像這樣:

<?php
$tID = $_GET['type_ID'];

$query = "SELECT * FROM table WHERE type_ID IN (" . implode(',',$tID) . ")";

在工作中就像 OR,只需使用單個IN()即可,而不必編寫多個OR

你試過這個嗎?

$sql = "SELECT * FROM table WHERE ".$query;

暫無
暫無

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

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