⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 udatalink.php

📁 dhtmlxGrid是DHTMLX公司的一个非常不错的JAVASCRIPT的网格组件
💻 PHP
📖 第 1 页 / 共 2 页
字号:
                                         $sql = $sql.$p."`$d`='$v'";
                                 }
                                 $sql = $sql." WHERE `$u`='".$C_STR."' LIMIT 1 ";
                                 mysql_query($sql);

                         } else {
                                 // create NEW in all tables where needed except table[0]
                                 $k_name = $this->c->table[$q]->key->name;
                                 $sql = "INSERT INTO `$t_name` (`$k_name`";
                                 for ($w=0; $w<count($this->c->table[$q]->param); $w++) {
                                         $d = $this->c->table[$q]->param[$w]->name;
                                         $sql = $sql.",`$d`";
                                 }
                                 $sql = $sql.",`$u`) VALUES (''";
                                 for ($w=0; $w<count($this->c->table[$q]->param); $w++) {
                                         $v = $data[$this->c->table[$q]->param[$w]->value];
                                         $sql = $sql.",'$v'";
                                 }
                                 $sql = $sql.",'".$C_STR."'); ";
                                 mysql_query($sql);
                         }
                 }
                 $this->printAction("update",$data[(string)$this->c->table[0]->key->value],0);
        }

        function insert($data){
                 // generation of UNIQUE field
                 $C_STR = md5(time()/rand(1,100));
                 // pass for all tables
                 for ($q=0; $q<count($this->c->table); $q++) {
                         $t_name = $this->c->table[$q]->name;
                         $u = $this->c->table[$q]->connect_field;
                         $k_name = $this->c->table[$q]->key->name;
                         $sql = "INSERT INTO `$t_name` (`$k_name`";
                         for ($w=0; $w<count($this->c->table[$q]->param); $w++) {
                                 $d = $this->c->table[$q]->param[$w]->name;
                                 $sql = $sql.",`$d`";
                         }
                         $sql = $sql.",`$u`) VALUES (''";
                         for ($w=0; $w<count($this->c->table[$q]->param); $w++) {
                                 $v = $data[$this->c->table[$q]->param[$w]->value];
                                 $sql = $sql.",'$v'";
                         }
                         $sql = $sql.",'".$C_STR."'); ";
                         //echo $sql."<br>";
                         mysql_query($sql);
                 }
                 $this->printAction("insert",$data[(string)$this->c->table[0]->key->value],mysql_insert_id());

        }

        function delete($data) {
                 // define KEY
                 $k_name = $this->c->table[0]->key->name;
                 $k_value = $data["gr_id"];
                 $C_STR = "#";
                 $u = $this->c->table[0]->connect_field;
                 $t_name = $this->c->table[0]->name;
                 // define UNIQUE field name and value
                 $r = mysql_query("SELECT `$u` FROM `$t_name` WHERE `$k_name`='$k_value' LIMIT 1 ");
                 while ($out = mysql_fetch_object($r)) { $C_STR = $out->$u; }
                 mysql_free_result($r);
                 // delete from all tables according
                 for ($q=0; $q<count($this->c->table); $q++) {
                         $t_name=$this->c->table[$q]->name;
                         $u = $this->c->table[$q]->connect_field;
                         mysql_query("DELETE FROM `$t_name` WHERE `$u`='$C_STR' LIMIT 1 ");
                 }
                 $this->printAction("delete",$data[(string)$this->c->table[0]->key->value],0);
        }

        function printXMLHeader($tag="data", $add=""){
                 header("Content-type:text/xml");
                 echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
                 echo "<".$tag." ".$add." >";
                 $this->tag=$tag;
        }

        function printXMLFooter($tag="data"){
                 echo  "</".$this->tag.">";
        }

        function printAction($action,$sid,$tid){
                 echo  "<action type='".$action."' sid='".$sid."' tid='".$tid."'/>";
        }

        function getXML(){
                 switch((string)$this->c->type){
                         case "tree":
                                 $table= (string)$this->c->table->name;
                                 $id=    (string)$this->c->table->key->name;
                                 $pid=   (string)$this->c->table->pkey->name;
                                 $order= (string)$this->c->table->order->name;
                                 $name=  (string)$this->c->table->text->name;
                                 $userdata=""; //(string)$this->c->table["name"];
                                 $out=$this->getXMLTree($table, $id, $pid, $name, $userdata, 0, $order);
                                 echo $out;
                                 break;
                         default:
                                 return $this->getXMLGrid();
                                 break;
                         }
        }

        function getXMLTree($table, $id, $pid, $name, $userdata, $sid, $order){
                 $data=mysql_query("SELECT $id, $pid, $name".(($userdata=="")?"":(",".$userdata))." FROM ".$table." WHERE $pid=$sid ORDER BY ".$order);
                 $out="";
                 if ($data)
                         while($adata=mysql_fetch_assoc($data)) {
                                 $out.="<item id='".$adata[$id.""]."' text='".$adata[$name.""]."'>";
                                 $out.=$this->getXMLTree($table, $id, $pid, $name, $userdata, $adata[$id.""],$order);
                                 if ($userdata){ $out.="<userdata name='".$userdata."'>".$adata[$userdata.""]."</userdata>"; }
                                 $out.="</item>";
                         }
                 return $out;
        }

        function getXMLGrid() {
                 // field for connect rows is $this->c->connect_field
                 // first take all possible connected keys from table[0] // STRONGLY
                 $a = array(); // all unical values for selected elements will here
                 $i = $this->c->table[0]->connect_field;
                 $t = $this->c->table[0]->name;
                 $r = mysql_query("SELECT `$i` FROM `$t`");
                 while ($out = mysql_fetch_object($r)) { array_push($a,$out->$i); }
                 mysql_free_result($r);
                 // generating SQL's for every ROW
                 for ($q=0; $q<count($a); $q++) {
                         $connect_name = $this->c->table[0]->connect_field;
                         $k_name = $this->c->table[0]->key->name;
                         $t_name = $this->c->table[0]->name;
                         $i_value=$a[$q];
                         $res = mysql_query("SELECT `$k_name` FROM `$t_name` WHERE `$connect_name`='$i_value' ");
                         $o = mysql_fetch_object($res);
                         if (!empty($o)) {
                                 $k=$o->$k_name;
                                 // generating ROWs form all tables according $a[$q] - unic field
                                 echo "   <row id=\"".($k)."\">\n";
                                 for ($w=0; $w<count($this->c->table); $w++) {
                                         $connect_name = $this->c->table[$w]->connect_field;
                                         $t_name=$this->c->table[$w]->name;
                                         $where_add="";
                                         if ((string)$this->c->table->where!="") { $where_add=", ".(string)$this->c->table->where; }
                                         $r = mysql_query("SELECT * FROM `$t_name` WHERE `$connect_name`='$i_value' ".$where_add);
                                         $out = mysql_fetch_object($r);
                                         if (!empty($out)) {
                                                 for ($p=0; $p<count($this->c->table[$w]->param); $p++) {
                                                         $h = $this->c->table[$w]->param[$p]->name;
                                                         echo "      <cell>".$out->$h."</cell>\n";
                                                 }
                                         }
                                         mysql_free_result($r);
                                 }
                                 echo "   </row>\n";
                         }
                         mysql_free_result($res);
                 }
        }
}
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -