首页 >> 读书频道 >> 电脑 >> 一个SQL管理员的web接口
 
· 用PHP产生动态的影像图
· php访问查询mysql
· 一个高ai的分页函数和一
· 如何实现给定日期的若干天
· 复杂检索数据并分页显示的
· PHP+Javascri
· PHP与Javascri
· 用session做客户验
· 对Javascript和
· 用php和MySql来与
· oracle资料库函式库
· 一个用于网络的工具函数库
 
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
· 武林寓言故事
· 2006高考录取规则
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

一个SQL管理员的web接口


查看有无更新版本

关键字:PHP 2006-9-4

 

<?  
    /************************************************************************************* 
     *        SQLAdmin  v2.0  -  An  SQL  Administration  User  Interface  for  the  Web *  
     *            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        *  
     *      License  as  published  by  the  Free  Software  Foundation;  either         *  
     *      version  2  of  the  License,  or  (at  your  option)  any  later  version.  *  
     *                                                                                   *  
     *      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.                       *  
     *                                                                                   *  
     *      You  should  have  received  a  copy  of  the  GNU  Library  General  Public *  
     *      License  along  with  this  library;  if  not,  write  to  the               *  
     *      Free  Software  Foundation,  Inc.,  59  Temple  Place  -  Suite  330,        *  
     *      Boston,  MA    02111-1307,  USA.                                             *  
     *************************************************************************************/  

    /*  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)  
    {  
        $result  =  $string;  
        //$result  =  ereg_replace  ("\"",  """,  $result);  
        $result  =  ereg_replace  ("<",  "<",  $result);  
        $result  =  ereg_replace  (">",  ">",  $result);  
        return  $result;  
    }  
    function  displayTuple  ($fieldsNumber,  $fieldNames,  
                                                  $fieldLengths,  $values,  $mode)  
    {  
        $result  =  "";  
        $result  .=  "<FORM  METHOD=\"post\"><TABLE  BORDER><TR>"  .  
            "<TD  BGCOLOR=\"#CCCCFF\">";  
        $result  .=  "<TABLE  CELLSPACING=\"0\"  CELLPADDING=\"0\">";  
        $fieldIndex  =  0;  
        while  ($fieldIndex  <  $fieldsNumber)  
        {  
            $result  .=  "<TR><TD>"  .  $fieldNames  [$fieldIndex]  .  "</TD><TD>";  
            if  ($fieldLengths  [$fieldIndex]  <=  128)  
            {  
                $result  .=  "<INPUT  TYPE=\"text\"  NAME=\""  .  
                    $fieldNames  [$fieldIndex]  .  "\"  VALUE=\""  .  
                    $values  [$fieldIndex]  .  "\"  SIZE=\"64\">";  
            }  
            else  
            {  
                $result  .=  "<TEXTAREA  NAME=\""  .  
                    $fieldNames  [$fieldIndex]  .  "\""  .  
                    "  COLS=\"64\"  ROWS=\"10\"  WRAP=\"virtual\">"  .  
                    escapeforhtml  ($values  [$fieldIndex])  .  "</TEXTAREA>";  
            }  
            $result  .=    "<INPUT  TYPE=\"hidden\"  NAME=\"old-"  .  
                $fieldNames  [$fieldIndex]  .  
                "\"  VALUE=\""  .  escapeforhtml  ($values  [$fieldIndex])  .  "\">"  .  
                "</TD></TR>";  
            $fieldIndex++;  
        }  
        $result  .=  "<TR><TD  ALIGN=\"center\"  COLSPAN=\"2\">";  
        if  ($mode  ==  "modify")  
        {  
            $result  .=  "<INPUT  TYPE=\"submit\"  NAME=\"remove\"  VALUE=\"Remove\">";  
            $result  .=  "<INPUT  TYPE=\"submit\"  NAME=\"update\"  VALUE=\"Update\">";  
        }  
        else  
            {  $result  .=  "<INPUT  TYPE=\"submit\"  NAME=\"add\"  VALUE=\"Add\">";  }  
        $result  .=  "</TABLE></TD></TR></TABLE></FORM>";  
        return  $result;  
    }  
    function  fieldFromType  ($text,  $type)  
    {  
        if  ($type  ==  "int"  ||  $type  ==  "uint"  ||  $type  == "real")  
            {  $result  =  $text;  }  
        else  
            {  $result  =  "'"  .  AddSlashes  ($text)  .  "'";  }  
        return  $result;  
    }  
    function  executeMsql  ($database,  $command)  
    {  
        /*echo  "<TT>"  .  $command  .  "</TT><HR>";*/  
        msql  ($database,  $command);  
    }  
    function  handleRemove  ($database,  $table,  $fieldsNumber,  
                                                  $fieldNames,  $fieldLengths,  $fieldTypes)  
    {  
        global  $remove;  
        if  ($remove  !=  "")  
        {  
            $command  =  "DELETE  FROM  "  .  $table  .  "  WHERE  ";  
            $fieldIndex  =  0;  
            while  ($fieldIndex  <  $fieldsNumber)  
            {  
                $fieldName  =  "old-"  .  $fieldNames  [$fieldIndex];  
                global  $$fieldName;  
                $command  .=  $fieldNames  [$fieldIndex]  .  "="  .  
                    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);  
                if  ($fieldIndex  !=  $fieldsNumber  -  1)  
                    {  $command  .=  "  AND  ";  }  
                $fieldIndex++;  
            }                 
            executeMsql  ($database,  $command);  
        }  
    }  
    function  handleUpdate  ($database,  $table,  $fieldsNumber,  
                                                  $fieldNames,  $fieldLengths,  $fieldTypes)  
    {  
        global  $update;  
        if  ($update  !=  "")  
        {  
            $command  =  "UPDATE  "  .  $table  .  "  SET  ";  
            $fieldIndex  =  0;  
            while  ($fieldIndex  <  $fieldsNumber)  
            {  
                $fieldName  =  $fieldNames  [$fieldIndex];  
                global  $$fieldName;  
                $command  .=  $fieldName  .  "="  .  
                    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);  
                if  ($fieldIndex  !=  $fieldsNumber  -  1)  
                    {  $command  .=  ",  ";  }  
                $fieldIndex++;  
            }  
            $command  .=  "  WHERE  ";  
            $fieldIndex  =  0;  
            while  ($fieldIndex  <  $fieldsNumber)  
            {  
                $fieldName  =  "old-"  .  $fieldNames  [$fieldIndex];  
                global  $$fieldName;  
                $command  .=  $fieldNames  [$fieldIndex]  .  "="  .  
                    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);  
                if  ($fieldIndex  !=  $fieldsNumber  -  1)  
                    {  $command  .=  "  AND  ";  }  
                $fieldIndex++;  
            }  
            executeMsql  ($database,  $command);  
        }  
    }  
    function  handleAdd  ($database,  $table,  $fieldsNumber,  
                                            $fieldNames,  $fieldLengths,  $fieldTypes)  
    {  
        global  $add;  
        if  ($add  !=  "")  
        {  
            $command  =  "INSERT  INTO  "  .  $table  .  "  (";  
            $fieldIndex  =  0;  
            while  ($fieldIndex  <  $fieldsNumber)  
            {  
                $command  .=  $fieldNames  [$fieldIndex];  
                if  ($fieldIndex  !=  $fieldsNumber  -  1)  
                    {  $command  .=  ",  ";  }  
                $fieldIndex++;  
            }  
            $command  .=  ")  VALUES  (";  
            $fieldIndex  =  0;  
            while  ($fieldIndex  <  $fieldsNumber)  
            {  
                $fieldName  =  $fieldNames  [$fieldIndex];  
                global  $$fieldName;  
                $command  .=  fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);  
                if  ($fieldIndex  !=  $fieldsNumber  -  1)  
                    {  $command  .=  ",  ";  }  
                $fieldIndex++;  
            }  
            $command  .=  ")";  
            executeMsql  ($database,  $command);  
        }  
    }  
    function  displayRemoveUpdate  ($database,  $table,  $sortColumn,  
                                                                $fieldsNumber,  $fieldNames,  $fieldLengths)  
    {  
        $result  =  "";  
        if  ($sortColumn  !=  "")  
            {  $sortColumn  =  "  ORDER  BY  "  .  $sortColumn;  }  
        $msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table  .  $sortColumn);  
        $tuplesNumber  =  msql_numrows  ($msqlresult);  
        $tupleIndex  =  0;  
        while  ($tupleIndex  <  $tuplesNumber)  
        {  
            $fieldIndex  =  0;  
            while  ($fieldIndex  <  $fieldsNumber)  
            {  
                $values  [$fieldIndex]  =  msql_result  ($msqlresult,  $tupleIndex,  
                    $fieldNames  [$fieldIndex]);  
                $fieldIndex++;  
            }  
            $result  .=  displayTuple  ($fieldsNumber,  $fieldNames,  
                $fieldLengths,  $values,  "modify");  
            $tupleIndex++;  
        }  
        return  $result;  
    }  
    function  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths)  
    {  
        $result  =  "";  
        $fieldIndex  =  0;  
        while  ($fieldIndex  <  $fieldsNumber)  
        {  
            $values  [$fieldIndex]  =  "";  
            $fieldIndex++;  
        }  
        $result  .=  displayTuple  ($fieldsNumber,  $fieldNames,  
            $fieldLengths,  $values,  "add");  
        msql_close  ();  
        return  $result;  
    }  
    function  administrationTable  ($database,  $table,  $sortColumn)  
    {  
        $result  =  "";  
        msql_connect  ( "localhost");  
        $msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table);  
        $fieldsNumber  =  msql_numfields  ($msqlresult);   
        $msqlresult  =  msql_listfields  ($database,  $table);  
        $fieldIndex  =  0;  
        while  ($fieldIndex  <  $fieldsNumber)  
        {  
            $fieldNames  [$fieldIndex]  =  msql_fieldname  ($msqlresult,  $fieldIndex);  
            $fieldLengths  [$fieldIndex]  =  msql_fieldlen  ($msqlresult,  $fieldIndex);  
            $fieldTypes  [$fieldIndex]  =  msql_fieldtype  ($msqlresult,  $fieldIndex);  
            $fieldIndex++;  
        }  
        handleRemove  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);  
        handleUpdate  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);  
        handleAdd  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);  
        $result  .=  displayRemoveUpdate  ($database,  $table,  $sortColumn,  $fieldsNumber,  $fieldNames,   
$fieldLengths);  
        $result  .=  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths);  
        return  $result;  
    }  
    function  addTable  ($database,  $table)  
    {  
        $result  =  "";  
        msql_connect  ( "localhost");  
        $msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table);  
        $fieldsNumber  =  msql_numfields  ($msqlresult);   
        $msqlresult  =  msql_listfields  ($database,  $table);  
        $fieldIndex  =  0;  
        while  ($fieldIndex  <  $fieldsNumber)  
        {  
            $fieldNames  [$fieldIndex]  =  msql_fieldname  ($msqlresult,  $fieldIndex);  
            $fieldLengths  [$fieldIndex]  =  msql_fieldlen  ($msqlresult,  $fieldIndex);  
            $fieldTypes  [$fieldIndex]  =  msql_fieldtype  ($msqlresult,  $fieldIndex);  
            $fieldIndex++;  
        }  
        handleAdd  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);  
        $result  .=  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths);  
        return  $result;  
    }  
?>  

一个SQL管理员的web接口

[ 1 ]
一个SQL管理员的web接口 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑