国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP云打印類完整示例

2024-05-04 23:51:08
字體:
來源:轉載
供稿:網友

本文實例講述了PHP云打印類。分享給大家供大家參考,具體如下:

一個項目需求要幾百臺電腦都有打印功能,本來是想用網絡打印機的,后來發現沒有網絡打印機,就自己動手寫一個打印類算了。

類實現想法是:先把要打印的數據都收集起來,在用js調用window打印函數。目前就使用于IE。

類提供打印排隊功能。(PS,說白了就是一條一條讀取數據)

class Wprint{   //收集打印代碼   private $data = array();   //處理打印代碼   private $handle;   public function __construct()  {    header("Content-type:text/html;charsetutf-8");    $this->link(); //鏈接數據庫    $this->collect($_POST["username"],$_POST["content"],$_POST["ip"]);    $this->handle();   }   //鏈接數據庫   private function link()   {    $link = mysql_connect('localhost', 'root', '123456');    mysql_select_db('shen', $link);    mysql_query('SET NAMES utf8');   }   //收集打印代碼   private function collect($username,$content,$ip)   {     $code["username"] = $username;     $code["content"] = $this->check($content);     $code["ip"] = $ip;     $code["state"] = 0;     $code["priority"] = 0;     array_push($this->data,$code);//數據節點入棧   }   //處理打印代碼入庫   private function handle()   {    foreach($this->data as $value)    {$sql = "insert into print(username,content,ip,state,priority)values('{$value["username"]}','{$value["content"]}','{$value["ip"]}','{$value["state"]}','{$value["priority"]}')";     $query = mysql_query($sql);     if($query)     {      $id = mysql_insert_id(); //獲取最近insert操作得到的ID      echo "數據收集成功,正在排隊打印,排隊ID為".$id;      $this->num($id);     }     else     {      echo "數據收集失敗,請3秒后再一次提交";     }    }   }    //檢查傳人數據是否為空   private function check($string)   {    if(strlen($string) == 0 || $string == " ")    {     echo "數據收集失敗,打印內容為空";     exit;    }else    {     return $string;    }   }   //獲取打印排隊人數   private function num($id)   {    $sql = "select id from print where state=0 and id<".$id." order by id asc";    $query = mysql_query($sql);    $num = mysql_num_rows($query);    echo ",您前面還有".$num."個人在排隊";   }   //打印數據   public function Yprint()   {     $sql = "select id,content from print where state=0 order by id asc limit 1";     $query = mysql_query($sql);     $row = mysql_fetch_array($query);     if(!empty($row["content"]))     {      echo "<script tyle=/"text/javascript/">            window.print();        </script>";      $id = $row["id"];      $sql = "update print set state=1 where id=".$id;      mysql_query($sql);      echo "打印處理完成";     }else     {       echo $row["content"];     }   }}

思想很簡單,收集數據再一個一個處理。 這樣就不僅解決了網絡打印的問題,還避免了網絡打印打印過程排隊的問題。

希望本文所述對大家PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 石嘴山市| 鄂托克前旗| 霍邱县| 西和县| 茌平县| 会理县| 新津县| 栖霞市| 江源县| 舞钢市| 富蕴县| 周口市| 咸宁市| 读书| 万荣县| 小金县| 资中县| 江陵县| 通化市| 沙湾县| 苍山县| 乐昌市| 泸西县| 宜章县| 台东市| 南丰县| 朔州市| 东辽县| 滁州市| 韩城市| 大兴区| 呼玛县| 莲花县| 江陵县| 武功县| 建宁县| 鹤庆县| 盐源县| 东兰县| 金坛市| 自治县|