簡體   English   中英

PHP使用結果查詢選擇

[英]PHP select using result query

嗨,我是php的中級生。 我想從一個表中獲取數據,並使用該獲取的數據從另一個表中選擇另一個項目。 然后將所有結果值放入數組。

我的原始php代碼如下所示。

$res = mysqli_query($con, "select title, nickname, date, cos_id, likecount from A where area_tag='$tag'");
$result=array();
while($row=mysqli_fetch_array($res)){
array_push($result, array('title'=>$row[0], 'nickname'=>$row[1], 'date'=>$row[2], 'cos_id'=>$row[3], 'likecount'=>$row[4]));    
}

echo json_encode(array("result"=>$result));

“ cos_id”是一個字符串值,例如“ ABC,Hello,Good”。 因此,如果我從表A中獲取cos_id,我想將該字符串拆分為“ ABC”,“ Hello”,“ Good”。 然后使用每個字符串,例如:

select name from B where tag='ABC',
select name from B where tag='Hello',
select name from B where tag='Good'

最終,我也希望將這三個結果值放入數組中

array_push($result, array('title'=>$row[0], 'nickname'=>$row[1], 'date'=>$row[2], 'cos_id'=>$row[3], 'likecount'=>$row[4], 'ABCResult'=>$row[5], 'HelloResult'=>$row[6], 'GoodResult'=>$row[7]));   

這可能嗎? 我發現了一些拆分String的信息,但是我不知道如何選擇並將新結果值放入原始結果數組。

由於cos_id數據類似於ABC,Hello,Good ...,請選擇contentid,然后從標記為IN(cos_id)的B處命中

然后我得到一些這樣的價值。 contentid點擊1111 1 2222 2 3333 3

我想將這些結果放入此數組中... array_push($ result,array('title'=> $ row [0],'nickname'=> $ row [1],'date'=> $ row [2 ],'cos_id'=> $ row [3],'likecount'=> $ row [4]));

而不是下面:

select name from B where tag='ABC',
select name from B where tag='Hello',
select name from B where tag='Good'

您可以執行如下查詢:

select name from B where tag IN ("ABC, HELLO, GOOD");

這是一個帶有值數組的測試

$arr=["ABC, Hello, Good","DFG, Sup, Bad"];
$temp = implode(',',$arr);

$exp=explode(',',$temp);
   $sql = "SELECT name from B Where tag IN ('" . implode("','", $exp) . "') ";

       echo $sql;

從B中選擇名稱,其中標記為IN('ABC','Hello','Good','DFG','Sup','Bad')

$row[3 ]代替$arr

暫無
暫無

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

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