亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

一個SQL管理員的web接口

2019-09-08 23:11:48
字體:
來源:轉載
供稿:網友
<?  
   /*************************************************************************************  
    */tSQLAdmin  v2.0  -  An  SQL  Administration  User  Interface  for  the  Web *  
    */t    Copyright  (C)  1997-98    Alessandro  Vernet  <avernet@scdi.org>      *  
    *************************************************************************************  
    *      This  library  is  free  software;  you  can  redistribute  it  and/or       *  
    *      modify  it  under  the  terms  of  the  GNU  Library  General  Public/t*  
    *      License  as  published  by  the  Free  Software  Foundation;  either/t *  
    *      version  2  of  the  License,  or  (at  your  option)  any  later  version.  *  
    */t/t/t/t/t/t/t/t/t/t   *  
    *      This  library  is  distributed  in  the  hope  that  it  will  be  useful,   *  
    *      but  WITHOUT  ANY  WARRANTY;  without  even  the  implied  warranty  of      *  
    *      MERCHANTABILITY  or  FITNESS  FOR  A  PARTICULAR  PURPOSE.    See  the  GNU  *  
    *      Library  General  Public  License  for  more  details./t/t       *  
    */t/t/t/t/t/t/t/t/t/t   *  
    *      You  should  have  received  a  copy  of  the  GNU  Library  General  Public *  
    *      License  along  with  this  library;  if  not,  write  to  the/t       *  
    *      Free  Software  Foundation,  Inc.,  59  Temple  Place  -  Suite  330,/t*  
    *      Boston,  MA    02111-1307,  USA./t/t/t/t/t     *  
    *************************************************************************************/  


   /*  TODO:  
     *  -  Add  sort  order.  
     *  -  Add  simple  view.  
     *  -  Add  some  documentation.  
     */  

   /*  LIMITATIONS:  
     *  -  Works  only  with  mSQL.  
     */  

   /*  HISTORY:  
     *  -  97-11-05  (avernet)  Corrected  a  bug  with  quote.  
     *  -  98-01-01  (avernet)  Added  a  sortColumn  parameter  to  
     *      administrationTable  function.  
     *  -  98-03-14  (avernet)  Added  function  addTable  to  enable  users  to  
     *      add  (but  not  modify)  en  entry  to  the  database.  
     *  -  98-05-19  (avernet)  Submitted  to  PX.  
     *  -  98-10-11  (avernet)  Now  SQLAdmin  works  with  PHP3.  The  PHP2  version  
     *      will  not  be  mainteained  anymore.  
     *  -  98-10-11  (avernet)  SQLAdmin  is  now  distributed  under  the  LGPL  
     *      instead  of  MPL.  
     */  

   function  escapeforhtml  ($string)  
   {  
/t$result  =  $string;  
/t//$result  =  ereg_replace  ("/"",  """,  $result);  
/t$result  =  ereg_replace  ("<",  "<",  $result);  
/t$result  =  ereg_replace  (">",  ">",  $result);  
/treturn  $result;  
   }  

   function  displayTuple  ($fieldsNumber,  $fieldNames,  
/t/t/t/t/t/t  $fieldLengths,  $values,  $mode)  
   {  
/t$result  =  "";  
/t$result  .=  "<FORM  METHOD=/"post/"><TABLE  BORDER><TR>"  .  
/t    "<TD  BGCOLOR=/"#CCCCFF/">";  
/t$result  .=  "<TABLE  CELLSPACING=/"0/"  CELLPADDING=/"0/">";  
/t$fieldIndex  =  0;  
/twhile  ($fieldIndex  <  $fieldsNumber)  
/t{  
/t    $result  .=  "<TR><TD>"  .  $fieldNames  [$fieldIndex]  .  "</TD><TD>";  
/t    if  ($fieldLengths  [$fieldIndex]  <=  128)  
/t    {  
/t/t$result  .=  "<INPUT  TYPE=/"text/"  NAME=/""  .  
/t/t    $fieldNames  [$fieldIndex]  .  "/"  VALUE=/""  .  
/t/t    $values  [$fieldIndex]  .  "/"  SIZE=/"64/">";  
/t    }  
/t    else  
/t    {  
/t/t$result  .=  "<TEXTAREA  NAME=/""  .  
/t/t    $fieldNames  [$fieldIndex]  .  "/""  .  
/t/t    "  COLS=/"64/"  ROWS=/"10/"  WRAP=/"virtual/">"  .  
/t/t    escapeforhtml  ($values  [$fieldIndex])  .  "</TEXTAREA>";  
/t    }  
/t    $result  .=    "<INPUT  TYPE=/"hidden/"  NAME=/"old-"  .  
/t/t$fieldNames  [$fieldIndex]  .  
/t/t"/"  VALUE=/""  .  escapeforhtml  ($values  [$fieldIndex])  .  "/">"  .  
/t/t"</TD></TR>";  
/t    $fieldIndex++;  
/t}  
/t$result  .=  "<TR><TD  ALIGN=/"center/"  COLSPAN=/"2/">";  
/tif  ($mode  ==  "modify")  
/t{  
/t    $result  .=  "<INPUT  TYPE=/"submit/"  NAME=/"remove/"  VALUE=/"Remove/">";  
/t    $result  .=  "<INPUT  TYPE=/"submit/"  NAME=/"update/"  VALUE=/"Update/">";  
/t}  
/telse  
/t    {  $result  .=  "<INPUT  TYPE=/"submit/"  NAME=/"add/"  VALUE=/"Add/">";  }  
/t$result  .=  "</TABLE></TD></TR></TABLE></FORM>";  
/treturn  $result;  
   }  

   function  fieldFromType  ($text,  $type)  
   {  
/tif  ($type  ==  "int"  ||  $type  ==  "uint"  ||  $type  == "real")  
/t    {  $result  =  $text;  }  
/telse  
/t    {  $result  =  "'"  .  AddSlashes  ($text)  .  "'";  }  
/treturn  $result;  
   }  

   function  executeMsql  ($database,  $command)  
   {  
/t/*echo  "<TT>"  .  $command  .  "</TT><HR>";*/  
/tmsql  ($database,  $command);  
   }  

   function  handleRemove  ($database,  $table,  $fieldsNumber,  
/t/t/t/t/t/t  $fieldNames,  $fieldLengths,  $fieldTypes)  
   {  
/tglobal  $remove;  
/tif  ($remove  !=  "")  
/t{  
/t    $command  =  "DELETE  FROM  "  .  $table  .  "  WHERE  ";  
/t    $fieldIndex  =  0;  
/t    while  ($fieldIndex  <  $fieldsNumber)  
/t    {  
/t/t$fieldName  =  "old-"  .  $fieldNames  [$fieldIndex];  
/t/tglobal  $$fieldName;  
/t/t$command  .=  $fieldNames  [$fieldIndex]  .  "="  .  
/t/t    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);  
/t/tif  ($fieldIndex  !=  $fieldsNumber  -  1)  
/t/t    {  $command  .=  "  AND  ";  }  
/t/t$fieldIndex++;  
/t    }/t/t  
/t    executeMsql  ($database,  $command);  
/t}  
   }  

   function  handleUpdate  ($database,  $table,  $fieldsNumber,  
/t/t/t/t/t/t  $fieldNames,  $fieldLengths,  $fieldTypes)  
   {  
/tglobal  $update;  
/tif  ($update  !=  "")  
/t{  
/t    $command  =  "UPDATE  "  .  $table  .  "  SET  ";  
/t    $fieldIndex  =  0;  
/t    while  ($fieldIndex  <  $fieldsNumber)  
/t    {  
/t/t$fieldName  =  $fieldNames  [$fieldIndex];  
/t/tglobal  $$fieldName;  
/t/t$command  .=  $fieldName  .  "="  .  
/t/t    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);  
/t/tif  ($fieldIndex  !=  $fieldsNumber  -  1)  
/t/t    {  $command  .=  ",  ";  }  
/t/t$fieldIndex++;  
/t    }  
/t    $command  .=  "  WHERE  ";  
/t    $fieldIndex  =  0;  
/t    while  ($fieldIndex  <  $fieldsNumber)  
/t    {  
/t/t$fieldName  =  "old-"  .  $fieldNames  [$fieldIndex];  
/t/tglobal  $$fieldName;  
/t/t$command  .=  $fieldNames  [$fieldIndex]  .  "="  .  
/t/t    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);  
/t/tif  ($fieldIndex  !=  $fieldsNumber  -  1)  
/t/t    {  $command  .=  "  AND  ";  }  
/t/t$fieldIndex++;  
/t    }  
/t    executeMsql  ($database,  $command);  
/t}  
   }  

   function  handleAdd  ($database,  $table,  $fieldsNumber,  
/t/t/t/t/t    $fieldNames,  $fieldLengths,  $fieldTypes)  
   {  
/tglobal  $add;  
/tif  ($add  !=  "")  
/t{  
/t    $command  =  "INSERT  INTO  "  .  $table  .  "  (";  
/t    $fieldIndex  =  0;  
/t    while  ($fieldIndex  <  $fieldsNumber)  
/t    {  
/t/t$command  .=  $fieldNames  [$fieldIndex];  
/t/tif  ($fieldIndex  !=  $fieldsNumber  -  1)  
/t/t    {  $command  .=  ",  ";  }  
/t/t$fieldIndex++;  
/t    }  
/t    $command  .=  ")  VALUES  (";  
/t    $fieldIndex  =  0;  
/t    while  ($fieldIndex  <  $fieldsNumber)  
/t    {  
/t/t$fieldName  =  $fieldNames  [$fieldIndex];  
/t/tglobal  $$fieldName;  
/t/t$command  .=  fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);  
/t/tif  ($fieldIndex  !=  $fieldsNumber  -  1)  
/t/t    {  $command  .=  ",  ";  }  
/t/t$fieldIndex++;  
/t    }  
/t    $command  .=  ")";  
/t    executeMsql  ($database,  $command);  
/t}  
   }  

   function  displayRemoveUpdate  ($database,  $table,  $sortColumn,  
/t/t/t/t/t/t/t/t$fieldsNumber,  $fieldNames,  $fieldLengths)  
   {  
/t$result  =  "";  
/tif  ($sortColumn  !=  "")  
/t    {  $sortColumn  =  "  ORDER  BY  "  .  $sortColumn;  }  
/t$msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table  .  $sortColumn);  
/t$tuplesNumber  =  msql_numrows  ($msqlresult);  
/t$tupleIndex  =  0;  
/twhile  ($tupleIndex  <  $tuplesNumber)  
/t{  
/t    $fieldIndex  =  0;  
/t    while  ($fieldIndex  <  $fieldsNumber)  
/t    {  
/t/t$values  [$fieldIndex]  =  msql_result  ($msqlresult,  $tupleIndex,  
/t/t    $fieldNames  [$fieldIndex]);  
/t/t$fieldIndex++;  
/t    }  
/t    $result  .=  displayTuple  ($fieldsNumber,  $fieldNames,  
/t/t$fieldLengths,  $values,  "modify");  
/t    $tupleIndex++;  
/t}  
/treturn  $result;  
   }  

   function  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths)  
   {  
/t$result  =  "";  
/t$fieldIndex  =  0;  
/twhile  ($fieldIndex  <  $fieldsNumber)  
/t{  
/t    $values  [$fieldIndex]  =  "";  
/t    $fieldIndex++;  
/t}  
/t$result  .=  displayTuple  ($fieldsNumber,  $fieldNames,  
/t    $fieldLengths,  $values,  "add");  
/tmsql_close  ();  
/treturn  $result;  
   }  

   function  administrationTable  ($database,  $table,  $sortColumn)  
   {  
/t$result  =  "";  
/tmsql_connect  ( "localhost");  
/t$msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table);  
/t$fieldsNumber  =  msql_numfields  ($msqlresult);    
/t$msqlresult  =  msql_listfields  ($database,  $table);  
/t$fieldIndex  =  0;  
/twhile  ($fieldIndex  <  $fieldsNumber)  
/t{  
/t    $fieldNames  [$fieldIndex]  =  msql_fieldname  ($msqlresult,  $fieldIndex);  
/t    $fieldLengths  [$fieldIndex]  =  msql_fieldlen  ($msqlresult,  $fieldIndex);  
/t    $fieldTypes  [$fieldIndex]  =  msql_fieldtype  ($msqlresult,  $fieldIndex);  
/t    $fieldIndex++;  
/t}  
/thandleRemove  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);  
/thandleUpdate  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);  
/thandleAdd  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);  
/t$result  .=  displayRemoveUpdate  ($database,  $table,  $sortColumn,  $fieldsNumber,  $fieldNames,    
$fieldLengths);  
/t$result  .=  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths);  
/treturn  $result;  
   }  

   function  addTable  ($database,  $table)  
   {  
/t$result  =  "";  
/tmsql_connect  ( "localhost");  
/t$msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table);  
/t$fieldsNumber  =  msql_numfields  ($msqlresult);    
/t$msqlresult  =  msql_listfields  ($database,  $table);  
/t$fieldIndex  =  0;  
/twhile  ($fieldIndex  <  $fieldsNumber)  
/t{  
/t    $fieldNames  [$fieldIndex]  =  msql_fieldname  ($msqlresult,  $fieldIndex);  
/t    $fieldLengths  [$fieldIndex]  =  msql_fieldlen  ($msqlresult,  $fieldIndex);  
/t    $fieldTypes  [$fieldIndex]  =  msql_fieldtype  ($msqlresult,  $fieldIndex);  
/t    $fieldIndex++;  
/t}  
/thandleAdd  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);  
/t$result  .=  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths);  
/treturn  $result;  
   }  
?>
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩av电影在线免费播放| 欧美午夜片在线免费观看| 国产一区红桃视频| 亚洲欧美日本另类| 伊人久久大香线蕉av一区二区| 色黄久久久久久| 91在线视频成人| 国产精品久久久久久久久久ktv| 亚洲片av在线| 日韩美女视频在线观看| 91日韩在线视频| 欧美日韩国产中文精品字幕自在自线| 精品网站999www| 91亚洲va在线va天堂va国| 欧美日本高清视频| 丝袜亚洲欧美日韩综合| 国产成人av在线| 成人动漫网站在线观看| 亚洲欧美日韩国产成人| 少妇高潮久久久久久潘金莲| 久久精品精品电影网| 久久久91精品| 岛国av一区二区| 欧美久久精品午夜青青大伊人| 色综合影院在线| 精品无人区太爽高潮在线播放| 色999日韩欧美国产| 91探花福利精品国产自产在线| 欧美精品免费在线观看| 欧美国产激情18| 秋霞成人午夜鲁丝一区二区三区| 91香蕉嫩草影院入口| 欧美福利视频在线观看| 久久久久久高潮国产精品视| 欧美亚洲日本黄色| 日韩av高清不卡| 亚洲电影第1页| 欧美性xxxxx极品| 日韩精品在线免费观看视频| 亚洲人成电影网站色| 亚洲最大的av网站| 91久久久久久久久久| 欧美电影免费在线观看| 日韩av三级在线观看| 亚洲欧洲在线观看| 亚洲成人在线网| 国产精品免费久久久久久| 国产精品黄视频| 日韩欧美在线免费| 亚洲精品网站在线播放gif| 亚洲电影av在线| 91精品国产沙发| 国产精品无av码在线观看| 亚洲精品美女网站| 久久999免费视频| 97精品在线观看| 一本久久综合亚洲鲁鲁| 国产女精品视频网站免费| 97色在线观看免费视频| 日韩性xxxx爱| 亚洲成人免费在线视频| 91天堂在线观看| 欧美日韩美女在线| 91理论片午午论夜理片久久| 91精品国产91久久久久久久久| 91精品久久久久久| 亚洲字幕一区二区| 一区二区av在线| 91精品91久久久久久| 色哟哟亚洲精品一区二区| www.日韩av.com| 国内精品久久久久久| 欧美日韩国产在线播放| 国产亚洲精品日韩| 亚洲欧美三级伦理| 欧美成人午夜激情在线| 国产日韩欧美电影在线观看| 欧洲成人在线观看| 精品在线观看国产| 久久精品91久久久久久再现| 精品人伦一区二区三区蜜桃免费| 91精品综合久久久久久五月天| 久久99久久亚洲国产| 国产精品一区二区三| 欧美性猛交xxxx黑人| 亚洲香蕉成人av网站在线观看| 欧美一级黄色网| 亚洲国产精品一区二区久| 国产97在线观看| 日本不卡免费高清视频| 亲爱的老师9免费观看全集电视剧| 欧美极品少妇xxxxⅹ喷水| 日韩av一卡二卡| 欧美又大粗又爽又黄大片视频| 2019亚洲日韩新视频| 色yeye香蕉凹凸一区二区av| 欧美国产日本在线| 日韩激情av在线播放| 欧美一级片在线播放| 欧美国产激情18| 久久久国产精彩视频美女艺术照福利| 久久99精品久久久久久琪琪| 久热在线中文字幕色999舞| 91tv亚洲精品香蕉国产一区7ujn| 欧美一级淫片丝袜脚交| 欧美刺激性大交免费视频| 欧美国产欧美亚洲国产日韩mv天天看完整| 国产在线观看精品一区二区三区| 久久99国产精品自在自在app| 亚洲美女视频网站| 欧美日韩在线视频一区二区| 精品爽片免费看久久| 国产精品久久久久久久久久| 26uuu另类亚洲欧美日本一| 国产大片精品免费永久看nba| 日韩视频免费大全中文字幕| 亚洲第一区第二区| 国产精品久久久久99| 欧美视频国产精品| 午夜欧美大片免费观看| 成人做爰www免费看视频网站| 亚洲国产第一页| 久久色在线播放| 国产精品自在线| 欧美大片网站在线观看| 国产97人人超碰caoprom| 永久555www成人免费| 97精品视频在线| 国产又爽又黄的激情精品视频| 国产成人涩涩涩视频在线观看| 国产欧美精品一区二区| 91a在线视频| 亚洲一级黄色av| 欧美中文字幕在线观看| 国产亚洲精品一区二555| 国产香蕉精品视频一区二区三区| 亚洲欧美日韩中文在线制服| 日韩在线观看免费高清| 日韩美女福利视频| 疯狂做受xxxx欧美肥白少妇| 国产精品美女久久久久久免费| 亚洲美女福利视频网站| 精品国产欧美一区二区三区成人| 亚洲国产中文字幕久久网| 性欧美办公室18xxxxhd| 亚洲精品日韩丝袜精品| 亚洲美女又黄又爽在线观看| 国产精品入口免费视| 国产精品偷伦免费视频观看的| 精品丝袜一区二区三区| 久久男人av资源网站| 中日韩美女免费视频网址在线观看| 精品久久久久久亚洲国产300| 久久精品国产成人精品| 97色在线观看| 超碰91人人草人人干| 91国语精品自产拍在线观看性色| 国产精品aaaa| 欧美日韩国产色视频| 欧美专区在线观看| 成人国产亚洲精品a区天堂华泰| 欧美乱妇40p| 亚洲免费人成在线视频观看| 欧美日韩国产激情|