using limit and where clause to make pagination
Everybody . please help me. Now I'm working with pagination.. I want to display 5 records per page depending on the tblcategory.cat_id . but my query string has problem..
table tblcategory
CREATE TABLE IF NOT EXISTS tblcategory
( cat_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 ;
table tblcontent
CREATE TABLE IF NOT EXISTS tblcontent
( con_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_id
( cat_id
) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=78 ;
table tblimage
CREATE TABLE IF NOT EXISTS tblimage
( img_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_id
( con_id
) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
this is my query string , so what's wrong with my sql statement.
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
The Result is : Error Code : 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE tblcategory.cat_id=1' at line 5
try this
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
First you need to specify the where condition and then specify the order
see here for Syntax
The WHERE
is misplaced - it needs to be before the ORDER BY
.
Ie
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/59694.html
上一篇: MYSQLI INSERT MULTIPLE ROWS
下一篇: 使用限制和where子句做分页