我正在尝试过滤一个表以根据条件选择某些行的值。第一个相当复杂的 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/