如何使用查询从数组中的id获取名称?

时间:2017-07-12 08:56:44

标签: php mysql thinkphp

我有数组值作为原因

Ex:$ cause = $ _REQUEST ['原因'];

ie。,$ cause = 2,3,4

如何从查询中获取该数组值导致名称

我的表名是' cp_cause'

enter image description here

如何从上表中获取2,3,4原因名称。

thinkphp 中的示例查询模型是

$cause_name = $GLOBALS['db']->getAll("select category from ".DB_PREFIX."category where id = '".$cause."'");

我想要劳动,健康,女性的名字

2 个答案:

答案 0 :(得分:2)

如果我做对了:你得到逗号分隔的ID并想查询它?

SELECT * FROM cp_cause WHERE id IN (2, 3, 4)

PHP:

$cpCauses = $GLOBALS['db']->getAll("select * from cp_cause where id in('".$cause."')");

结果应该是一个包含匹配行的列表。但我们不知道,你的getAll-Method会返回什么!

示例:如果result是数组,则可以迭代:

foreach($cpCauses as $cause) {
    echo $cause['cause_name'];
}

答案 1 :(得分:1)

您需要创建类似'2','3','4'的字符串,以便使用MySql in子句进行检查。

例如

<?php
    $cause = array();
    $cause[] = '2';
    $cause[] = '3';
    $cause[] = '4';
    $sql_where = array(); 
    foreach($cause as $values){
        $sql_where[] = "'".$values."'";
    }
    $sql_where = implode(",",$sql_where);
    $cause_name = $GLOBALS['db']->getAll("select category from ".DB_PREFIX."category where id in '".$sql_where."'");
?>