PHP / SQL 从数据库中选择id列表,并在查询中使用它。
PHP / SQL 从数据库中选择id列表,并在查询中使用它。
嗨,我在我的网站上创建了一个页面,用于在我的数据库中寻找任务。目前我使用的方法是有效的,但我必须每次更新它。
$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'");
我希望有一个这样的变量(221,587,1155,1255,5585)
$demande = "SELECT * FROM quest_quest WHERE id IN ('".$questsfind."') LIMIT ".(($cPage-1)*$perPage).",$perPage";
注:对不起我的英语不是我的母语:S
PHP / SQL Select list of id from DB and use it in query 这个问题的出现的原因是需要从数据库中选择一组id,并将其用于查询。解决方法是将关联数组转换为字符串,然后使用 FIND_IN_SET 方法进行查询。
首先,我们需要将关联数组转换为字符串。在PHP中,可以使用 implode 函数实现这一点。下面是示例代码:
$questsfinds = implode(',', $questsfind);
其中,$questsfind 是包含一组id的关联数组。
接下来,我们可以使用 FIND_IN_SET 方法进行查询。它可以在给定的字符串列表中查找指定的值。下面是示例代码:
SELECT * FROM quest_quest WHERE FIND_IN_SET(id,'$questsfinds');
其中,quest_quest 是数据库中的表名,id 是需要查找的列名。
使用这种方法,我们可以从数据库中选择一组id,并将其用于查询。这样可以方便地进行批量查询操作。
问题的出现原因是用户想要从数据库中选择一系列的ID,并将这些ID用于创建另一个查询。解决方法是使用PHP和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);
接下来,用户可以使用这些ID来创建另一个查询:
$second = mysql_query("SELECT * FROM quest_statetag WHERE idTag IN ($query_ids)");
这样,用户就可以使用从第一个查询中获得的ID来执行第二个查询。
以上就是问题的原因和解决方法,用户可以根据自己的需求进行相应的修改和使用。