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

标签 php mysql sql

您好,我在我的网站上创建了一个页面来在我的数据库中查找任务。

我现在使用的方法,它的工作原理,但我必须每次更新它。

$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"; 

nb:对不起,我的英语不是我的母语: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)");

希望有帮助...

关于PHP/SQL 从数据库中选择 id 列表并在查询中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33191403/

相关文章:

sql - 为什么在更改 SQL 表时收到语法错误

mysql - 如何获取同一个表的行之间所有可能的组合

javascript - Symfony Controller 返回的变量始终未定义

php - 如何在 PDO 中使用 RLIKE 转义星号和问号?

mysql - mysql建表出错

sql - 有没有办法重写这个语句而不需要子查询?

php - 如何使用 Php 获取语言环境

php - 关于传递给查询的变量的问题

java - 如何使用 Netbeans 和 MySQL 为 Java 应用程序创建 exe 文件 devolop

mysql - 使用 EJB 查询调用 MySql 例程/存储过程