php - 选择数组()

标签 php mysql select

我正在尝试过滤一个表以根据条件选择某些行的值。第一个相当复杂的 SELECT 工作正常,为我提供了一组 id。但是我想在第二个 SELECT 的数组中使用这个 id 组 ($art_id) 来更直接地获取行。希望有人提出建议。谢谢,艾伦。

此处不包括第一个 SELECT -- 我确实使用 print $art_id 获取值; ...但只有最后一个值显示在我的图像列表 SELECT 中,因为我需要正确使用数组

$QUERY1="SELECT.....etc,..."   ///this works fine

$res = mysql_query($QUERY1);
   $num = mysql_num_rows($res);
   if($num>0){
   while($row = mysql_fetch_array($res)){
       $art_id = $row['art_id'];

print $art_id;
$a1 = array($art_id); ///this $a1 var didn't work in the SELECT below.
   }
}
///here is where I need to have an array var instead of just $art_id
$QUERY2="SELECT * FROM artWork WHERE art_id = '$art_id'";  

    $res = mysql_query($QUERY2);
   $num = mysql_num_rows($res);
   if($num>0){

   while($row = mysql_fetch_array($res)){
       $art_title = $row['art_title'];
       $artist_name = $row['artist_name'];
       $art_id = $row['art_id'];
                 $media = $row['media'];

  echo.....etc,...../// only one image (the last, of course) shows up here

最佳答案

如果愿意,您可以只使用查询来解决此问题:

假设您首先查询从表 table1 中获取 art_id,因此:

SELECT art_id FROM table1

然后你下一个查询是:

SELECT * FROM artWork WHERE art_id = '$art_id'

通过合并其他 2 个查询得到的最终查询:

SELECT * FROM artWork WHERE art_id in ( SELECT art_id FROM table1 );

关于php - 选择数组(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3946901/

相关文章:

php - 从两个表中提取的 MySQL 查询,显示在正确的字段中

php - 在 PHP 中,将 lambda 表达式用于可调用对象是否比字符串(或数组)更有效?

php - Codeigniter 3.0.6 hmvc 不适用于单个模块

PHP:选择更改时,将表单发布给自己

php - 如何使用 jquery html 和 php 将标签插入数据库

php - 从 url 获取 id 号并将其添加到 mysql where 子句?

mysql - 根据mysql查询中的case语句选择列的总和

qt - 是否可以获得 Qt 使用的 X11 文件描述符,以便我可以对其执行 poll() ?

php - 使用附加列将 PHP 数组放入 MySQL

php - 使用 php/mysql 在 googlemaps 上动态绘制折线