使用限制和where子句做分页

每个人。 请帮帮我。 现在我正在处理分页..我想根据tblcategory.cat_id每页显示5条记录。 但我的查询字符串有问题..

  • 表tblcategory

    CREATE TABLE IF NOT EXISTS tblcategorycat_id int(11)NOT NULL AUTO_INCREMENT, cat_name char(50)NOT NULL,PRIMARY KEY( cat_id ))ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 11;

  • 表tblcontent

    CREATE TABLE IF NOT EXISTS tblcontentcon_id int(11)NOT NULL AUTO_INCREMENT, title char(100)NOT NULL, description text NOT NULL, date_posted date NOT NULL, author char(50)NOT NULL, cat_id int(11)NOT NULL, PRIMARY KEY( con_id ),KEY cat_idcat_id ))ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 78;

  • 表tblimage

    CREATE TABLE IF NOT EXISTS tblimageimg_id int(11)NOT NULL AUTO_INCREMENT, con_id int(11)NOT NULL, img_name varchar(250)NOT NULL, img_thum varchar(250)NOT NULL,PRIMARY KEY( img_id ),KEY con_idcon_id ))ENGINE = InnoDB DEFAULT CHARSET = latin1 AUTO_INCREMENT = 9;

  • 这是我的查询字符串,所以我的sql语句有什么问题。

    SELECT * FROM tblcontent LEFT JOIN tblcategory
        ON (tblcontent.cat_id = tblcategory.cat_id)
        LEFT JOIN tblimage ON (tblimage.con_id = tblcontent.con_id)
        ORDER BY tblcontent.date_posted DESC
        LIMIT 0,5 WHERE tblcategory.cat_id=1
    

    结果是:错误代码:1064您的SQL语法错误; 检查与您的MySQL服务器版本相对应的手册,在第5行'WHERE tblcategory.cat_id = 1'附近使用正确的语法


    尝试这个

    SELECT * FROM tblcontent LEFT JOIN tblcategory
        ON (tblcontent.cat_id = tblcategory.cat_id)
        LEFT JOIN tblimage ON (tblimage.con_id = tblcontent.con_id)
      WHERE tblcategory.cat_id=1
        ORDER BY tblcontent.date_posted DESC
        LIMIT 0,5
    

    首先你需要指定where条件,然后指定顺序

    请参阅此处的语法


    WHERE错位 - 它需要位于ORDER BY之前。

    SELECT * FROM tblcontent
    LEFT JOIN tblcategory ON (tblcontent.cat_id = tblcategory.cat_id)
    LEFT JOIN tblimage ON (tblimage.con_id = tblcontent.con_id)
    WHERE tblcategory.cat_id=1
    ORDER BY tblcontent.date_posted DESC
    LIMIT 0,5
    
    链接地址: http://www.djcxy.com/p/59693.html

    上一篇: using limit and where clause to make pagination

    下一篇: Converting my MyISAM to InnoDB