首页 > 编程技术 > php

php+access 分页代码

发布时间:2016-11-25 15:56

$scriptname = split('[/]',$_SERVER['SCRIPT_NAME']);
$filename = end($scriptname);
$MM_Conn_STRING="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("www.111cn.net/a.mdb") ." ;DefaultDir=". realpath(".");
$Conn=new COM("ADODB.Connection");
$RS =new COM("ADODB.RecordSet");//数据集
$Conn->open($MM_Conn_STRING);//链接打开数据源
$query="select * from doubt";
$RS->open($query,$Conn,1,1);//执行语句,返回记录集
$pagesize=$RS->Pagesize=3;//设置每页显示条数

if($RS->PageCount<>0){//防止数据库教程为空
if(!empty($_GET['page'])){
if($_GET['page']<=0){
$RS->AbsolutePage=1;
$nowpage=1;
}elseif($_GET['page']>$RS->PageCount){
$RS->AbsolutePage=$RS->PageCount;
$nowpage=$RS->PageCount;
}else{
$RS->AbsolutePage=$_GET['page'];
$nowpage=$_GET['page'];
}
}else{
$RS->AbsolutePage=1;
$nowpage=1;
}
}else{
$nowpage = 1;
$pagesize = 0;
}

echo "当前显示第".$nowpage."页 ";
echo "每页".$pagesize.'条 ';
echo "共有".$RS->RecordCount."条记录 ";
echo "共有".$RS->PageCount."页<br> ";


for ($m=1; $m<=$pagesize; $m++)

{
echo "
<table width=548 height=76 border=0 align=center cellpadding=0 cellspacing=1 bgcolor=#ededed
<tr>
    <td width=100 rowspan=2 align=center valign=middle bgcolor=#FFFFFF><img" width=100% src=smiles/0.gif width=20 height=20 /><br />姓名:".$RS->fields["username"]->value."</td>
    <td width=307 height=25 align=left bgcolor=#FFFFFF>问:".$RS->fields["biaoti"]->value."</td>
    <td width=137 align=left bgcolor=#FFFFFF>".$RS->fields["wendate"]->value."</td>
</tr>
<tr>
    <td height=50 colspan=2 align=left valign=top bgcolor=#FFFFFF>问题:".$RS->fields["neirong"]->value."<hr width=100% size=1 color=#CCCCCC>
      回复</td>
    </tr>
</table>
";

$RS->MoveNext();


//if($RS->PageCount==0){
//echo "没有数据";
}


if($RS->PageCount<>0){//防止数据库为空
echo "<a href=$filename?page=1>首页</a> ";
if (!($nowpage<=1)){
echo "<a href=$filename?page=".($nowpage-1).">上一页</a> ";
}
if (!($nowpage>=$RS->PageCount)){
echo "<a href=$filename?page=".($nowpage+1).">下一页</a> ";
}
echo "<a href=$filename?page=".$RS->PageCount.">尾页</a> ";
}
//释放资源
$Conn->Close();
$RS=NULL;
$Conn =NULL;

 

ignore_user_abort(true);
set_time_limit(0); 
function test(){
    echo "不要迷恋哥,哥只是个定时器!";
    echo date('h:i:s') . "<br>";
}
function just_do_it(){
  test();
  usleep(2000000);
}
ob_end_clean();
ob_start();
while(1){
    echo str_repeat(" ",1024);
     ob_flush();
     flush();
     just_do_it();
}

preg_match_all ("/(?  (d{3})?  )?  -?  (?(1)  [-s] ) d{3}-d{4}/x",
                "Call 555-1212 or (221)-(820)-555-1212", $phones);                               
print_r($phones[0]);echo "<br>";
print_r($phones[1]);


输出的结果为:
Array ( [0] => 555-1212 [1] => (820)-555-1212 )
Array ( [0] => [1] => 820 )
谁能帮忙解释下这个正则表达式的意思?关键是 (?  (d{3})?  )? (?(1)  [-s] )  这部分。
为什么能 匹配 (820),却不能匹配 (221)  ?


(?  (d{3})?  )? (?(1)  [-s] ) 中
(1) 引用的即 (d{3})
(?(1)  [-s] ) 如果 (d{3}) 匹配成功,则继续匹配 [-s]
原型是(?a b|c) ,如果a匹配了,继续匹配b,否则匹配c

 因为是
 13503594262
13503594262
13243694429
13503594262
13880561750
13404776999
15675167006
这种格式,所有我们就用file把文本直接载入到数组
$array = file($file);

用print_r输出

Array
(
    [0] => 13688179054

    [1] => 13652179481

    [2] => 13545684587

    [3] => 13787008977

    [4] => 13077337442

    [5] => 15900780969

    [6] => 15900780969

    [7] => 13077337442

    [8] => 13077337442

    [9] => 13830933836

    [10] => 13640292942

    [11] => 13582045025

    [12] => 13522725381

    [13] => 13522725382

    [14] => 13512345678

    [15] => 13001831752

    [16] => 13737657988

    [17] => 13737657988

    [18] => 13636399773

    [19] => 13661726563

    [20] => 13554797552

    [21] => 13919571298

    [22] => 15809480888

    [23] => 13925810190

    [24] => 13631811119

    [25] => 13524620464

    [26] => 13077337442

    [27] => 13077337442

    [28] => 13077337442

    [29] => 13077337442

*/

$zhi = file('www.111cn.net.txt');
print_r($zhi);
die();
$chuzhi = array_values(array_unique($zhi));

$str ='';
for($i=0;$i<count($chuzhi);$i++){
 $str .= $chuzhi[$i];

}

//保存到字符串里,再用fopen写入到文本
$hold = fopen('12.txt','w+');
fwrite($hold,$str);
fclose($hold);
/*
www.111cn.net.txt文本内容
13503594262
13503594262
13503594262
13503594262
13243694429
13503594262
13880561750
13404776999
15675167006
注明:本文章原创于www.111cn.net转载注明出处,谢谢合作。

$data = array();
$data[]= array("01" ,"02", "18" , "29" , "31" , "32");
$data[]= array("02" ,"09", "11" , "22" , "24" , "27");
$data[]= array("07" ,"16", "26" , "27" , "29" , "31");
$data[]=array("04", "05", "07", "10", "13", "25");
$data[]=array("02", "04", "05", "08", "19", "22");
$data[]=array("03", "04", "15", "25", "26", "30");
$data[]=array("01", "03", "06", "12", "16", "32");
$data[]=array("01", "05", "14", www.111cn.net, "17", "22");

// 判断表格中3个以上的连续
function checkAll($sourceArr2D) {
       
        $count = sizeof($sourceArr2D);
        for($i=0; $i<$count; $i++){
                check_h($sourceArr2D[$i], $i);//找寻水平方向
                if($i>0) {
                        check_v($sourceArr2D, $i);// 找寻竖直方向
                        check_l($sourceArr2D, $i);// 找寻/方向
                        check_r($sourceArr2D, $i);// 找寻方向
                }
        }

}

// 判断水平方向
$h = array();// 保存水平方向上的搜寻结果
function check_h($arr, $rownum) {
        //sort($arr, SORT_NUMERIC);
        global $h;
        $flag = false;
        for($i=2; $i<6; $i++){
                if( $arr[$i-2]==$arr[$i]-2 ){ // 因为数组内数字不重复且有序故可取巧
                        if(!$flag) {
                                $h[$rownum] = array($arr[$i-2], $arr[$i-1], $arr[$i]);
                                $flag = true;
                        }else{
                                array_push($h[$rownum], $arr[$i]);
                        }
                }
        }
}

// 判断竖直方向
$v = array();// 保存竖直方向上的搜寻结果
function check_v($sourceArr2D, $rownum) {
        global $v;
        for($i=0; $i<6; $i++){
                $val = $sourceArr2D[$rownum][$i];
                if( in_array($rownum.'.'.$val, $v) ){
                        continue;
                }
                if( in_array($val,$sourceArr2D[$rownum-1]) && in_array($val,$sourceArr2D[$rownum+1]) ){
                        array_push($v, ($rownum-1).'.'.$val, $rownum.'.'.$val, ($rownum+1).'.'.$val);
                        $tmp = $rownum + 2;
                        while( ($tmp < sizeof($sourceArr2D)) && in_array($val, $sourceArr2D[$tmp]) ){
                                array_push($v, $tmp.'.'.$val);
                                $tmp++;
                        }

                }
        }
}

// 判断/方向
$l = array();// 保存/方向上的搜寻结果
function check_l() {
}

// 判断方向
$r = array();// 保存方向上的搜寻结果
function check_r() {
}

// 结束定义,开始应用
checkAll($data);
echo '<br /><br />水平方向上的找寻:';
print_r($h);
echo '<br /><br />竖直方向上的找寻:';
print_r($v);
echo '<br /><br />/方向上的找寻:';
print_r($l);
echo '<br /><br />方向上的找寻:';
print_r($r);

标签:[!--infotagslink--]

您可能感兴趣的文章: