php,怎么输出mysql表中每组10条数据?

<?
$tr_list = array();
$query="select * from member where fenlei in (1,2,3,4) order by id desc";
$result=mysql_query($query,$db);
while ($arr=mysql_fetch_array($result))
{
$tr_list[$arr['fenlei']] .="$arr[name]";
}

echo "$tr_list[1]";
echo "$tr_list[2]";
echo "$tr_list[3]";
echo "$tr_list[4]";
?>

以上代码会把四组所有数据全部输出,如何写每组数据都能输出10条?

用 $query="select * from member where fenlei in (1,2,3,4) order by id desc Limit 0,10";
只输出最后一组10条,

用 $query="select * from member where fenlei in (1,2,3,4) order by id desc Limit 0,40";
也会只输出最后一组40条,

怎么写才能每组都输出10条?
fenlei下有若干条,fenlei值等于1、2、3、4,就是想fenlei=1的输出显示10条,fenlei=2 的显示10条,fenlei=3的显示10条,fenlei=4的显示10条

下面是字符串
$query="select * from member where fenlei in (1,2,3,4) order by id desc";
$result=mysql_query($query,$db);
$len=1;
$i = 0;
while ($res=mysql_fetch_array($result))
{
$arraylist[$len].=$res['fenlei'].'-'.$res[name].'<br>';
$i++;
if(is_int($i/10))
{
$len++;
$i = 0;
}
}
echo $arraylist[1];
echo $arraylist[2];
echo $arraylist[3];
echo $arraylist[4];

下面是数组,
$query="select * from member where fenlei in (1,2,3,4) order by id desc";
$result=mysql_query($query,$db);
$len=1;
$i = 0;
while ($res=mysql_fetch_array($result))
{
$arraylist[$i] = $res[name];
$i++;
$tr_list[$len] = $arraylist;
if(is_int($i/10))
{
$len++;
$i = 0;
}
}
print_r($tr_list[1]);
print_r($tr_list[2]);
print_r($tr_list[3]);
print_r($tr_list[4]);追问

谢谢您的回复,刚测试了一下,只输出了“Array”这样的字样

追答

不会呀,我给了你两种方法,一种是数组的,一种是字符串的呀,

我这边测试都是好的,你用的哪种方法

追问

第一段代码能输出,但这组的内容显示到那组去了,不是各组显示各组的,乱套了

追答

你当时写的是每组显示10条,所以我直接以从上到下,10条一次显示的,如果你每一个 fenlei 有10条数据,可以直接改下语句
$query="select * from member where fenlei in (1,2,3,4) order by fenlei desc";

追问

每一组都有若干条数据,想各显示出10条

追答

$arraylist = array();
while ($res=mysql_fetch_array($result))
{
if(count($arraylist[$res['fenlei']]) ';
}
}
foreach ($arraylist as $key=>$val)
{
$str[$key] = '';
foreach ($val as $key1 => $val1) {
$str[$key] .= $val1;
}
}
echo $str[1];
echo $str[2];
echo $str[3];
echo $str[4];

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-11-05
这样写就可以了,不会受每个分类的记录数影响

$tr_list = array();
$fenlei = array(1,2,3,4);

foreach($fenlei as $id){
echo 'fenlei'.$id.':<br>';
$tr_list[$id] = '';
$query="select * from member where fenlei='".$id."' order by id desc Limit 0,10";
$result=mysql_query($query,$db);
while($arr=mysql_fetch_array($result)){
$tr_list[$id] .= $arr['name'];
}
echo $tr_list[$id].'<br>';
}
第2个回答  2011-11-05
<?
$tr_list = array();
$query="select * from member where fenlei in (1,2,3,4) order by id desc";
$result=mysql_query($query,$db);
$temp=0;
while ($arr=mysql_fetch_array($result))
{
$arraylist.=$arr['fenlei'].'-'.$arr[name].'<br>';
$temp++;
if($temp>=3){
$tr_list[] =$arraylist;
$temp=0;
}
}

echo "$tr_list[1]";
echo "$tr_list[2]";
echo "$tr_list[3]";
echo "$tr_list[4]";
?>追问

谢谢您的回复,但是输出的结果还是不正确,不知道哪里有问题?而且也没有看到10的字样?如何会输出10条?

第3个回答  2011-11-05
这个不就是分页功能嘛,limit 0,10 limit 10,20 这样就是每组十个啦。。。想要分页类,代码太多不方便写。自己网上找。。。追问

不是分页,你看清楚问题介绍哦

php读取mysql数据库表的前20条记录,然后分两行显示,每行10条记录,怎么...
result = mysql_query('select * from mytable limit 0, 20');$i = 0;while ($rs = mysql_fetch_array($result)){ echo $rs['myfield'].' '; $i++; if ($i == 10) { echo ''; }}

有一个mysql的数据表,我要随机抽取10条记录,用什么方法最好。_百度知...
1.通过MYSQL内置的函数来操作,具体SQL代码如下:SELECT * FROM tablename ORDER BY RAND() LIMIT 10 2.不要将大量的工作给数据库去做,这样会导致数据库在某一集中并发时间内锁死并阻塞。建议通过PHP随机生成一下1-X(总行数)之间的数字,然后将这10个随机数字作为查询条件,具体语句如:SELECT *...

php怎么把从数据库里查询的数据十条一页的显示出来
sql="select * from `user` order by `id` desc";\/\/自己随便写一个sql语句测试用,根据自己需求替换,不要加limit pagesize=10;num=mysql_num_rows(mysql_query($sql));pagecount=ceil($num\/$pagesize);pageall=$num;if(!isset($_GET["page"])){\/\/这里翻页模式用GET方式传参解决,?pag...

如何用PHP统计mysql数据表里指定字段的内容的总数
die("打开数据库a失败!"); \/\/打开数据库,a为数据库名 sql = "select id from b"; \/\/id为字段名,b为表名 result=mysql_query($sql);if(mysql_query($sql)) \/\/判断$sql语句是否执行 { num=mysql_num_rows($result); \/\/取得包含...

PHP如何输出数据库的每条数据
mysql_select_db,字面上就能理解,选择数据库 去PHP手册中可以发现该函数的返回值是bool,也就是布尔值 bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )只是确定操作是否成功 result = mysql_query($sql, $link); \/\/ 执行查询语句 是执行查询语句,这时返回的...

求一段php代码,考试用!!!在我的数据库MySQL的test表里随机抽取十个数...
db = new mysqli('localhost', 'root', 'admin', 'learning');$resultArr = array();$i = 0;while ($i < 2) { $where = ''; if (count($resultArr) > 0) { $notIn = implode(',', $resultArr); $where = ' where id not in (' . $notIn . ')'; ...

如何用php取出数据库表中一列所有数据?
很简单,用循环,你那样用只能有一条记录,建议多看看php手册,对自己有好处 while ($result= mysql_fetch_array($result, MYSQL_NUM)) { print_r($result);}

php中mysql查询,总记录100条,LIMIT 10,10,如何返回这10条的同时又返回...
方法是:不用limit限制直接把总量数据取出来,然后用条件判断控制每页显示的条数。这样做的弊端是数据量很大的时候内存损耗特别大,因为每个页面请求都是总量数据总量还是用另外一条语句取值吧,能节省些内存

PHP中,如何从MYSQL中导出数据
\/\/假如本程序叫a.php,你就开始、运行:c:\\php-5.0.0b4-Win32\\php.exe a.php mysql_connect();\/\/各人填密码那些哦,这个语句改得来哈 res=mysql_query('select id,title,answer from 表');\/\/表要改为名字哦 while ($row=mysql_fetch_row($res)){ if ($fp=fopen($row[answer],"w...

php如何输出指定 MYSQL 数据库中的 数据表 里字段数据?求大神帮助
mysql_select_db('mysql_HOOK', $connect);\/\/要操作的数据库 $sql = "select `geid` from `mysql_txt`":\/\/查询mysql_txt表中的geid字段 $query = mysql_query($sql);\/\/执行sql语句 while($result = mysql_fetch_array($query)){\/\/循环输出所有查询结果 echo $result['geid']; } ...

相似回答