Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用结果查询的PHP选择_Php_Mysql_Arrays - Fatal编程技术网

使用结果查询的PHP选择

使用结果查询的PHP选择,php,mysql,arrays,Php,Mysql,Arrays,嗨,我是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($r

嗨,我是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]));   
这可能吗? 我发现了一些关于拆分字符串的信息,但是我不知道如何选择新的结果值并将其放入原始结果数组中

因为cos_id数据类似于ABC,你好,很好。。。 选择contentid,从标签所在的B处点击(cos_id)

然后我得到一些像这样的值。 contentid命中率 1111 1 2222 2 3333 3

我想把这些结果放到这个数组中。。。 数组推送($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");
而不是以下内容:

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中选择名称('ABC','Hello','Good','DFG','Sup','Bad'))


$arr

替换为
$row[3
],这是一个带有值数组的测试

$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中选择名称('ABC','Hello','Good','DFG','Sup','Bad'))


$row[3
]替换为
$arr

您可以使用sql中的where IN子句来选择数据。表B的架构是什么?@Maulikasavaliya例如,我想从表B中提取名称、hit和图像,其中标记为“ABC”。我必须使用循环语句吗?@TheDongster不,您可以通过在MySql中使用IN语句进行单个查询来实现。检查下面的答案。@TheDongster我不能写评论,你可以在这里问你想要什么。:)您可以使用sql中的where IN子句来选择数据。表B的架构是什么?@MaulikSavaliya例如,我想从表B中提取名称、hit、图像,其中标记为“ABC”。我必须使用循环语句吗?@TheDongster不,您可以通过在MySql中使用IN语句进行单个查询来实现。检查下面的答案。@TheDongster我不能写评论,你可以在这里问你想要什么。:)哇,我应该试试这个。通过在语句中查找一些信息,我实际上可以试一试~!谢谢,我能再问一个吗?若我得到了三个结果值集,那个么我应该如何将这三个结果值集合并到那个结果数组中呢?有什么想法吗?哇,我应该试试这个。通过在语句中查找一些信息,我实际上可以试一试~!谢谢,我能再问一个吗?若我得到了三个结果值集,那个么我应该如何将这三个结果值集合并到那个结果数组中呢?有什么想法吗?