[英]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.