By categry, you mean? If you're asking about only displaying 5 records, try using a LIMIT. http://php.about.com/od/mysqlcommands/g/Limit_sql.htm
an idea $sql = "select * from category"; $query = mysql_query($sql); while($row = mysql_fetch_assoc($query)) { for($i=1;$i<6;$i++) { $sql2 = "select * from record"; $query2 = mysql_query($sql2); $row2 = mysql_fetch_assoc($query2); } } PHP:
That solution will slowdown the database... is there a a way to use sub query for this problem... actually I am currently using this code... $sql = "select category from table group by category"; $rec = mysql_query($sql) or die(mysql_error()); $datas = mysql_fetch_array($rec); do{ $sq = "select * from table where category = '$datas[category]' limit 5"; $rst = mysql_query($sq) or die(mysql_error()); $datas1 = mysql_fetch_array($rst); do{ echo $datas1[field1]; }while($datas1 = mysql_fetch_array($rst)); }while($datas = mysql_fetch_array($rec)); Code (markup): The problem with this code is very slow and use to much resources of server... which is not wise
This way ressources are minimum... $sql = "SELECT * FROM `category` LIMIT 5"; PHP: or if you know the start point: $sql = "SELECT * FROM `category` LIMIT 80, 5"; PHP:
thanks but what I want is to make the code below a better query... a single query which is recomended than query inside loop. this will use to much resources. $sql = "select category from table group by category"; $rec = mysql_query($sql) or die(mysql_error()); $datas = mysql_fetch_array($rec); do{ $sq = "select * from table where category = '$datas[category]' limit 5"; $rst = mysql_query($sq) or die(mysql_error()); $datas1 = mysql_fetch_array($rst); do{ echo $datas1[field1]; }while($datas1 = mysql_fetch_array($rst)); }while($datas = mysql_fetch_array($rec)); Code (markup):