$order = isset($_GET['order']) ($_GET['order'] == 'asc') ? 'asc' : 'desc';
创新互联专注于企业成都全网营销推广、网站重做改版、顺庆网站定制设计、自适应品牌网站建设、HTML5建站、商城网站建设、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为顺庆等各大城市提供网站开发制作服务。
接收order参数用于查询
$order_hit = $order == 'asc' ? 'desc' : 'asc';
echo 'a href="xxx.php?order='.$order_hit.'"... .../a';
大概就是这样。
$cha_tid_hiu_query=$mysql-select_query("`$w_db_table[6]` where `f_id`='$cha_tid_fetch[id]' order by `id` $desc_asc limit $page $pagesize ");
问题出现在 limit 限制了查询的条数
正确的是应该限制查询的 起 和 止
增加2个变量 $pagestart $pagend 以及当前的第n页 $page 以及每页显示的条数 $pagesize. 用公式计算出 $pagestart $pagend就可以了
看示例
mysql SELECT * FROM table LIMIT 5,10; // 检索记录行 6-15
//为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1:
mysql SELECT * FROM table LIMIT 95,-1; // 检索记录行 96-last.
//如果只给定一个参数,它表示返回最大的记录行数目:
mysql SELECT * FROM table LIMIT 5; //检索前 5 个记录行
//换句话说,LIMIT n 等价于 LIMIT 0,n。
?php
mysql_connect('localhost','root','123456');
mysql_select_db('1107a');
mysql_query("set names utf8");
$sql="select * from vote";
$result=mysql_query($sql);
$number=mysql_num_rows($result);
while($a=mysql_fetch_assoc($result)){
$arr[]=$a;
}
$page = $_GET[page]?$_GET[page]:1;
$count=5;
$end=ceil($number/$count);
$offset =($page-1)*$count;
$endpage = $offset+$count;
if($endpage=$number){
$endpage =$number;
for($i=0;$i$count-($number-$offset);$i++){
$m[]=$arr[$i];
}
}
for($i=$offset;$i$endpage;$i++){
$n[]=$arr[$i];
}
if($endpage=$number){ $n=array_merge($m,$n);}
?
table
tr
tdh3ID/h3/td
tdh3computer/h3/td
tdh3mobile/h3/td
tdh3mp5/h3/td
tdh3ip_address/h3/td
/tr
?php
if($n){
foreach($n as $key =$val){
?
tr
tdh3?php echo $val['id'];? /h3/td
tdh3?php echo $val['computer'];? /h3/td
tdh3?php echo $val['mobile'];? /h3/td
tdh3?php echo $val['mp5'];? /h3/td
tdh3?php echo $val['ip_address'];? /h3/td
/tr
?php
}
}
?
/table
?php
if($page1){
?
a href="page.php?page=1
"
?php
}
?
首页/a-------------
?php
if($page1){
?
a href="page.php?page=
?php echo $page-1;?"
?php
}
?上一页/a------------
?php
if($endpage$number){
?
a href="page.php?page=
?php echo $page+1;?"
?php
}
?
下一页/a-----------------
?php
if($endpage$number){
?
a href="page.php?page=?php echo $end;?
"
?php
}
?
末页/a
这是我帮你写的代码 我测试过了 没有问题
连接到一个 url 地址为localhost 、 端口为 3306 的mysql服务器上。mysql服务器的帐号是"root",密码是"9999"。mysql 服务器上有一个数据库 ok , 数据库里有一个表 abc。表 abc 一共为两列,列名分别是 "id" 和 "name" ,将 abc 里的所有数据读出来。
?
$dbh = @mysql_connect("localhost:3306","root","9999");
/* 定义变量dbh , mysql_connect()函数的意思是连接mysql数据库, "@"的意思是屏蔽报错 */
if(!$dbh){die("error");}
/* die()函数的意思是将括号里的字串送到浏览器并中断PHP程式 (Script)。括号里的参数为欲送出的字串。 */
@mysql_select_db("ok", $dbh);
/* 选择mysql服务器里的一个数据库,这里选的数据库名为 ok */
$q = "SELECT * FROM abc";
/* 定义变量q, "SELECT * FROM abc"是一个SQL语句,意思是读取表abc中的数据 */
?
br /
!--========= 方法一 =========--
br /
?
$rs = mysql_query($q, $dbh);
/* 定义变量 rs ,函数mysql_query()的意思是:送出 query 字串供 MySQL 做相关的处理或者执行.由于php是从右往左执行的,所以,rs的值是服务器运行mysql_query()函数后返回的值 */
if(!$rs){die("Valid result!");}
echo "table";
echo "trtdID/tdtdName/td/tr";
while($row = mysql_fetch_row($rs)) echo "trtd$row[0]/tdtd$row[1]/td/tr";
/* 定义量变(数组)row,并利用while循环,把数据一一写出来.
函数mysql_fetch_row()的意思是:将查询结果$rs单列拆到阵列变数中.
$row[0] 和 $row[1] 的位置可以换*/
echo "/table";
?
br /
!--========= 方法二 =========--
br /
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_object($rs)) echo "$row-id $row-name br /";
/* id和name可以换位置 */
?
br /
!--========= 方法三 =========--
br /
?
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_array($rs)) echo "$row[id] $row[name] br /";
/* id和name可以换位置 */
?
!--========= 方法三最快 =========--
?
@mysql_close($dbh);
/* 关闭到mysql数据库的连接 */
?