Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SQL-选择id不在数组中的id_Php_Mysql_Sql_Codeigniter - Fatal编程技术网

Php SQL-选择id不在数组中的id

Php SQL-选择id不在数组中的id,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,我想从表中选择4条新闻后的最后12条。 我试过了,但没有结果。我得到了未定义的$news public function get_all_news_home() { $news = array(); # ne conectam la baza de date $this->load->database(); # selectam stirile de top $last_news_query = $this->db->query("

我想从表中选择4条新闻后的最后12条。 我试过了,但没有结果。我得到了未定义的$news

public function get_all_news_home()
{
    $news = array();
    # ne conectam la baza de date
    $this->load->database();
    # selectam stirile de top
    $last_news_query = $this->db->query("SELECT * FROM News WHERE Type = 1 AND Ready='Y' ORDER BY Date DESC LIMIT 4");
    $last_news = $this->db->query($last_news_query);
    $last_news = ($last_news->num_rows()) ? $last_news->result_array() : NULL;
    foreach ($last_news as $ln) 
    {
        array_push($news,array('id' => $ln['ID']));
    }

    $all_news = $this->db->query("SELECT * FROM News WHERE News.Ready = 'Y' AND News.ID NOT IN ('$news') ORDER BY Date DESC LIMIT 12");

    if($all_news->num_rows())
    {
        $all_news = $all_news->result_array();
    }
    else
    {
        $all_news = NULL;
    }
    return $all_news;
}
请帮帮我。如何排除前4个id?请尝试以下操作:

 ...
$newsIds = implode(',', array_values($news));
 ...    
$all_news = $this->db->query("SELECT * FROM News WHERE News.ID NOT IN ('$newsIds') ORDER BY Date DESC LIMIT 12");
 ...

只需使用限制条款


您在
$news=array()中的第一行缺少分号
。从函数
get_all_news\u home
中获取
$news
变量的位置?也可以直接使用LIMIT子句跳过表中的前4条新闻。$news未在模型函数中定义。将这些传递给函数我编辑了代码。.如何使用限制
$last_news_query = $this->db->query("SELECT * FROM News WHERE Type = 1 AND Ready='Y' ORDER BY Date DESC LIMIT 0,4");
$all_news = $this->db->query("SELECT * FROM News WHERE News.Ready = 'Y' AND News.ID NOT IN ('$news') ORDER BY Date DESC LIMIT 4,12");