仿照.net寫的表格資料繫結的類(排序,刪除,分頁功能)
簡單的說下功能:1.點選欄位名排序
2.點選編號刪除
3.分頁顯示功能[@more@]1.檔名:date.class.php
2.點選編號刪除
3.分頁顯示功能[@more@]1.檔名:date.class.php
PHP程式碼:
php/** PHP version:5.x
*功能:能夠將指定的表的資料與表格繫結,帶分頁功能,點選指定欄位排序,點選指定編號刪除記錄,適合後臺管理
*屬性:
*$bgcolor....................................................表格背景顏色
*$mytable....................................................指定資料庫中的表
*$pageSize.................................................每頁面顯示記錄條數
*$totalPage.................................................總頁數
*$totalNum...................................................總的記錄數量
*$currentPage.............................................起始頁
*$start...........................................................limit分頁使用的引數
*$page.........................................................頁面列表
*$firstFIled.....................................................表中的第一個欄位名(一般為ID或者類似的欄位)
*$actionPage.................................................刪除指定記錄的指令碼頁面,預設為del.php,若指定了指令碼頁面,前提是必須存在
*
*方法
*__construct($tables,$order,$pageSize=10,$actionPage="del.php")................................建構函式引數一表示要繫結的表的名字,引數二表示預設的排序欄位,引數三表示每頁顯示多少條記錄,引數四表示資料刪除的指令碼處理頁面,預設為del.php
*private function notice()..................................私有的方法 ,主要輸出操作提示區域,也可以輸出其他資訊
*private function pages()..................................分頁連結顯示區域
*private function splitePage()..........................獲取分頁所需的所有引數
*private function getPages()............................獲取分頁連結
*public function outputPage().........................輸出最後的結果
*private function getOrders()............................獲取排序欄位
*public function subString($content,$length=20)........................................擷取超過指定長度的字串,引數一為字串,引數二為指定長度
*private function getFirstFiled().....................................獲取表中的第一個欄位
*public function delRecords().......................................刪除記錄
*/class dataBind{
public $bgColor;//指定表格背景顏色public $mytable;//指定要繫結的表public $pageSize,$totalPage,$totalNum,$currentPage,$start,$page;//分頁所需的屬性public $message;//設定操作提示public $order,$firstFiled;//排序欄位public $actionPage;
public $desc;//升序或者降序
//建構函式,初始化基本屬性function __construct($tables,$order,$pageSize=10,$actionPage="del.php")
{$this->bgColor="orange";$this->mytable=$tables;//即將使用的表$this->order=$order;//設定預設的排序欄位,前提是表中已經存在的欄位$this->pageSize=$pageSize;//每頁顯示條數$this->currentPage=1;self::getOrders();//獲取排序引數self::getPages();//獲取頁數$this->desc="desc";//預設降序排列$this->start=($this->currentPage-1)*$this->pageSize;//使用limit分頁時的起始記錄的編號 $this->message="提示:點選第一行的每一列可以按照該列排序,雙擊擊每一行第一列可以刪除該記錄";//操作提示資訊$this->firstFiled=self::getFirstFiled();//獲取表中的第一個欄位名$this->actionPage="$actionPage";
}
//操作提示資訊區private function notice()
{
echo "
$this->message
";
}
//分頁連結顯示區域private function pages()
{
for ($m=1;$m<=$this->totalPage;$m++)
{
if($this->currentPage==$m)
{$this->page.="$m";//如果是當前頁就不顯示為連結}
else
{$this->page.="<order>$m>  ";
}
}
echo "Total pages :$this->totalPage Page:$this->page
";
}
//獲取分頁所需要的所有引數的值private function splitePage()
{$sql="select * from $this->mytable";$res=mysql_query($sql) or die(mysql_error());$this->totalNum=mysql_num_rows($res);$this->totalPage=ceil($this->totalNum/$this->pageSize);//總頁數
}
//獲取翻頁連結private function getPages()
{
if($_GET["page"]==""||$_GET["page"]<0)
{$this->currentPage=1;
}
else
{$this->currentPage=$_GET["page"];
}
}
//輸出 public function outputPage()
{
self::notice();self::splitePage();$sql="select * from $this->mytable order by '$this->order' $this->desc limit $this->start,$this->pageSize";$res=mysql_query($sql) or die(mysql_error());$rows=mysql_num_rows($res);$rs=mysql_fetch_array($res ,1);
echo "";
echo "";//輸出表格的第一行,就是資料庫中表的欄位名foreach ($rs as $key=>$values)
{
echo "$key ";
}
echo " ";
//輸出所有的資料for ($i=0;$i<$rows;$i++)
{
echo "";
foreach ($rs as $key=>$value)
{$value=self::subString($value,40);
if($key==$this->firstFiled)
{//為表格的每行的第一列設定動作echo "$value ";
}
else
{
echo "$value ";
}
}
echo " ";$rs=@mysql_fetch_array($res,1);
}
echo "
";self::pages($this->totalPage,$this->page);self::Ifream();
}
//獲取排序欄位private function getOrders()
{
if($_GET["key"]!="")
{$this->order=$_GET["key"];
}
}
//擷取字串,諸如文章內容public function subString($content,$length=20)
{
if(strlen($content)>$length)
{$content=substr($content,0,$length)."...";
return $content;
}
else
{
return $content;
}
}
//獲取第一個欄位private function getFirstFiled()
{$sql="select * from $this->mytable";$res=mysql_query($sql) or die(mysql_error());$rs=mysql_fetch_array($res,1);$firstFiled=array_keys($rs);
return $firstFiled[0];
}
//輸出一個隱藏的ifream,有些連結的方向或表單的提交方向都指向他private function Ifream()
{
echo << IF;
}//刪除記錄public function delRecords()
{$ID=$_GET["$this->firstFiled"];$sql="delete from $this->mytable where $this->firstFiled=$ID";mysql_query($sql) or die(mysql_error());
return true;
}
}?> 2.Demo.phpPHP程式碼:
<script language=javascript src=include/order.js>
include_once("include/date.class.php");?php>//$conn=mysql_connect("localhost","root","123456");mysql_select_db("test");$db=new dataBind("bbs","T_ID",5,"del.php");$db->outputPage();?> 3.del.php
PHP程式碼:
phpinclude_once("include/date.class.php");mysql_connect("localhost","root","123456");mysql_select_db("test");$db=new dataBind("bbs","ID",5,"{$_SERVER['PHP_SELF']}");//注意第二個引數,必須是引數一中確實存在的欄位if($db->delRecords())
{
echo ";
}
else
{
echo ";
}?> 4.order.jsPHP程式碼:
function orders(phpself,page,key)
{location.href=phpself+"?page="+page+"&key="+key;
}
function command(url)
{document.getElementById("Command").src=url;
}
function message(msg)
{alert(msg);
}
function reload()
{top.location.reload();
}
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/786540/viewspace-927688/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python按條件刪除Excel表格資料的方法PythonExcel
- asp.net Oracle資料庫左側目錄樹及右側資料繫結及分頁ASP.NETOracle資料庫
- 【阿不】深入ASP.NET資料繫結(下)—多樣的繫結方式ASP.NET
- whk我【資料刪除】你個【資料刪除】的
- XML建立可排序、分頁的資料顯示頁面(轉)XML排序
- Excel表格增加和刪除Excel圖表資料Excel
- 表格核取方塊的勾選,翻頁後,表格頂部的刪除按鈕,是刪除當前頁的選中還是包括之前的選中?
- Flutter 分頁功能表格控制元件Flutter控制元件
- SQL SERVER 規則的建立、繫結、解綁、刪除SQLServer
- ASP.NET MVC刪除資料ASP.NETMVC
- 刪除重複資料的三種sql寫法SQL
- Study Blazor .NET(四)資料繫結Blazor
- .NET基礎之資料繫結
- 如何刪除複製到Excel表格中的超連結Excel
- layui 資料表格重新載入資料分頁器回到第一頁UI
- NetApp FAS Filer的重複資料刪除APP
- Vue的資料繫結Vue
- 【阿不】深入ASP.NET資料繫結(中)—資料雙向繫結機理ASP.NET
- Python 字串,list排序,刪除重複資料Python字串排序
- INNODB 頁節點資料的儲存方式、資料鏈、刪除鏈的學習和實驗總結
- 重寫 API 資源分頁資料API
- jQuery table表格行的新增和刪除jQuery
- 資料結構之單連結串列的建立與刪除資料結構
- Android下實現資料繫結功能Android
- 大量刪除資料的速度
- 【mybatis-plus】分頁、邏輯刪除MyBatis
- 從未排序的連結串列中刪除重複項排序
- Vue + Element UI + Lumen 實現通用表格功能 - 分頁VueUI
- Laravel 資料庫裡的資料刪除Laravel資料庫
- 批量刪除Oracle資料庫的資料Oracle資料庫
- JavaScript刪除table表格中行JavaScript
- JavaScript刪除table表格列JavaScript
- 【阿不】深入ASP.NET資料繫結(上)ASP.NET
- 表格的批量重新命名與批量刪除
- layui動態新增刪除表格,並獲取表格中的值UI
- 刪除資料
- 【NetApp資料恢復案例】針對NetApp誤刪除資料的恢復APP資料恢復
- CnosDB的資料更新和刪除