十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你说的这个问题采用php常用的分页技术就能够实现了。
目前成都创新互联已为上1000+的企业提供了网站建设、域名、网络空间、网站托管运营、企业网站设计、瑞金网站维护等服务,公司将坚持客户导向、应用为本的策略,正道将秉承"和谐、参与、激情"的文化,与客户和合作伙伴齐心协力一起成长,共同发展。
?php //显示所有表的信息
//1.连接数据库
$conn=ql_connect('localhost','root','1234abcd') or die('连接数据库错误'.mysql_error());
//2.选择数据库
mysql_select_db('empManage');
//3.选择字符集
mysql_query('set names utf8');
//4.发送sql语句并得到结果进行处理
//4.1分页
$pageSize=3;//每页显示多少条记录
$rowCount=0;//共有多少条记录
$pageNow=1;//希望显示第几页
$pageCount=0;//一共有多少页
//4.15根据分页链接来修改$pageNow的值
if(!empty($_GET['pageNow'])){
$pageNow=$_GET['pageNow'];
}
$sql='select count(id) fr1)){$rowCount=$row[0];}
//4.12计算共有多少页
$pageCount=ceil($rowCount/$pageSize);
$pageStart=($pageNow-1)*$pageSize;
//4.13发送带有分页的sql结果
$sql="select * from emp limit $pageStart,$pageSize";
$res2=mysql_query($sql,$conn) or die('无法获取结果集'.mysql_error());
//echo输出表格
echo 'table border=1';"trthid/ththname/ththgrade/ththemail/ththsalary/ththa href='#'删除用户/a/ththa href='#'修改用户/a/th/tr";while($row=mysql_fetch_assoc($res2)){echo "trtd{$row['id']}/tdtd{$row['name']}/tdtd{$row['grade']}/tdtd{$row['email']}/tdtd{$row['salary']}/tdtda href='#'删除用户/a/tdtda href='#'修改用户/a/td/tr";}echo '/table';
//4.14打印出页码的超链接
for($i=1;$i=$pageCount;$i++){
echo "a href='?pageNow=$i'$i/a ";
}
//5.释放资源,关闭连接
mysql_free_result($res2);
mysql_close($conn);
?
愚见:
用函数explode(",",$hq_str_sh601006)
能把字符串按照逗号分开。可以直接赋值给一个数组变量。
如:$hq_str_arr=explode(",",$hq_str_sh601006);
然后你自己可以从数组中按照你获取的顺序给数组中相应的元素赋值给数据库的对应字段。
希望有帮助。
$arr = array(
"圆柱加" = array(
"data" = array(
array(
"product_id" = 36,
"style_id" = 102,
"style_name" = "圆柱架",
"product_sn" = "MMJ000036",
"product_thumb" = "a.jpg"
),
array(
"product_id" = 36,
"style_id" = 102,
"style_name" = "圆柱架",
"product_sn" = "MMJ000036",
"product_thumb" = "a.jpg"
),
)
),
"蝴蝶夹" = array(
"data" = array(
array(
"product_id" = 36,
"style_id" = 102,
"style_name" = "蝴蝶夹",
"product_sn" = "MMJ000036",
"product_thumb" = "a.jpg"
),
array(
"product_id" = 36,
"style_id" = 102,
"style_name" = "蝴蝶夹",
"product_sn" = "MMJ000036",
"product_thumb" = "a.jpg"
),
)
)
);
$count = 0;
foreach($arr as $k=$v){
$arr[$k]['group_name'] = $k;
$arr[$count] = $arr[$k];
unset($arr[$k]);
$count++;
}
echo json_encode($arr);
这样输出出来格式是"data":[{}],"group_name": "XXX"
反正是json 反的也没问题吧?
写这么多你都不给我采纳一下。。。
本人用ThinkPHP3.2,今天正在开发一个需要分组显示的功能,可是从数据库中把相应数据读取后直接用group分组,结果每组显示的是最老的记录,我的需求是要显示每组的最新记录。在网上大搜一翻后,未果,本人决定自行研究,现将方法记录于此以防遗忘。
其实很简单,以供就两步:
第一步:
将符合条件的数据全部取出,暂不用group分组,作为子查询:
[php] view plain copy
$subQuery = $model-field('id,name')-table('tablename')-where($where)-order('time desc')-select(false);
第二部:
利用子查询进行查询分组
[php] view plain copy
$model-table($subQuery.' a')-group('field')-select();span style="font-family: Arial, Helvetica, sans-serif;" /span
好了,思路就是这样。希望对大家有帮助!
分组查询原理都是SQL的分组查询,THINKPHP中只是用到他自己的一些自定义的方法!比如 join()、group()、having()方法等,实际对应的也是SQL里的这些关键字!
例如本次需求是要按照cid进行分组,按照通常的做法是 SELECT * FROM 表名 GROUP BY cid,这样就能按照cid进行分组筛选!然后使用THINKPHP的时候则使用 M('表名')-group('cid')-select(); 实际生成的语句和原始SQL代码是一样的。