PHP/SQL从DB中选择id列表并在查询中使用它

PHP/SQL从DB中选择id列表并在查询中使用它,php,mysql,sql,Php,Mysql,Sql,嗨,我在我的网站上做了一个页面,在我的数据库中查找quest 我现在使用的方法很有效,但每次都要更新 $demande = "SELECT * FROM quest_quest WHERE id IN (584,585,586,587,589,599,601,617,608,615,616) LIMIT ".(($cPage-1)*$perPage).",$perPage"; 相反,我希望查询我的数据库并在查询中使用id 我有一个带有TagID和IDquest的表,我想做一个查询来保存所有的

嗨,我在我的网站上做了一个页面,在我的数据库中查找quest

我现在使用的方法很有效,但每次都要更新

$demande = "SELECT * FROM quest_quest WHERE id IN (584,585,586,587,589,599,601,617,608,615,616) LIMIT ".(($cPage-1)*$perPage).",$perPage"; 
相反,我希望查询我的数据库并在查询中使用id

我有一个带有TagID和IDquest的表,我想做一个查询来保存所有的questid,并在我的查询中使用它

例如:

$questsfind = mysql_query("SELECT * FROM `quest_statetag` WHERE idTag ='8'");
我想要一个这样的变量(22158711551255585)


注意:Sry对于我的英语来说不是我的母语:S

不确定我是否理解这个问题,但我相信您希望在一个变量中保存一组ID(来自一个查询),然后从中创建另一个查询

$first = mysql_query("SELECT * FROM quest_quest WHERE id IN (1,2,3,4)");

if( ! $first )
    die('Something went wrong...');

$ids = array();

while( $row = mysql_fetch_assoc($first) ) {
    $ids[] = $row['id'];
}

$query_ids = implode(',', $ids);

$second = mysql_query("SELECT * FROM quest_statetag WHERE idTag IN ($query_ids)");

希望这有帮助…

首先,您必须将关联数组转换为字符串

$questsfinds=内爆(',',$questsfind)

然后您可以尝试在集合中查找集合


SELECT*FROM quest_quest WHERE FIND_IN_SET(id,$questsfinds')

如何查询数据库以获得阵列中的所有ID$TagQueryAray0=mysql_query(“从
quest\u statetag
WHERE-idTag='8'”中选择*);这只返回我一个身份证正常的结果应该给我25个身份证和更多不知道你的意思。您正在尝试将ID数组保存到数据库中吗?我发布的答案基本上会返回带有这些ID之一的任何结果…$TagQueryAY0=array();$TagQueryAray0=mysql_query(“从
quest\u statetag
WHERE-idTag='8'”中选择*);$query_id=内爆(“,”,$TagQueryAray0);$demande=mysql\u query(“从任务中选择*并在其中输入id($query\u id)”);我想查询一个sql表以获取任务ID,并在其他查询中使用它修改我的答案。见上文
$first = mysql_query("SELECT * FROM quest_quest WHERE id IN (1,2,3,4)");

if( ! $first )
    die('Something went wrong...');

$ids = array();

while( $row = mysql_fetch_assoc($first) ) {
    $ids[] = $row['id'];
}

$query_ids = implode(',', $ids);

$second = mysql_query("SELECT * FROM quest_statetag WHERE idTag IN ($query_ids)");