>  기사  >  백엔드 개발  >  SQL 관리자의 웹 인터페이스 소개

SQL 관리자의 웹 인터페이스 소개

WBOY
WBOY원래의
2016-08-08 09:33:501076검색

    /************************************************* ************************************  
     *        SQLAdmin  v2.0  -  웹용  SQL 관리  사용자 인터페이스    *   
     *            저작권  (C)  1997-98    Alessandro  Vernet        *   
     ************************************************** ***********************************   
     *      이  라이브러리는  무료 소프트웨어입니다.  당신은  재배포할 수 있으며  및/또는       *   
     *      수정  수정은  GNU 라이브러리의 약관에 따라 일반 공개        *   
     *      라이센스는 무료 소프트웨어 재단에서 게시한 것입니다.  다음 중 하나         *   
     *      버전  2    라이센스  또는  (귀하의 선택에 따라)  최신 버전.  *   
     *                                                                         *   
     *      이  라이브러리는  유용할 것이라는 희망으로  배포됩니다.   *   
     *      그러나  보증은 제공되지 않습니다.  묵시적인 보증 없이도      *   
     *      상품성  또는  특정 목적에 대한 적합성.    GNU 보기  *   
     *      도서관  일반  공공 라이선스  자세한 내용은                         *   
     *                                                                         *   
     *      당신은  GNU 라이브러리  일반 공개 *   
의 사본을 받았어야 합니다.     *      이 라이브러리와 함께  라이센스가 부여됩니다.  그렇지 않은 경우에는 다음 주소로 편지를 보내주세요.              *   
     *      무료  소프트웨어  Foundation,  Inc.,  59  Temple  Place  -  Suite  330,        *   
     *      보스턴,  MA    02111-1307,  미국.                                             *   
     ************************************************** ***********************************/   


    /*  할 일:   
      *  -  정렬 순서를 추가하세요.   
      *  -  간단한 보기를 추가합니다.   
      *  -  몇 가지 문서를 추가하세요.   
      */   

    /*  제한사항:   
      *  -  mSQL에서만 작동합니다.   
      */   

    /*  역사:   
      *  -  97-11-05  (avernet)  인용문과 함께  버그를 수정했습니다.   
      *  -  98-01-01  (avernet)  추가된  a  sortColumn  매개변수  에   
      *      administrationTable  기능.   
      *  -  98-03-14  (avernet)  추가된  기능  addTable을 통해  사용자가  할 수 있도록   
      *      추가(수정은 안 됨)  en  항목을 데이터베이스에  추가합니다.   
      *  -  98-05-19  (avernet)  PX에 제출됨.   
      *  -  98-10-11  (avernet)  이제  SQLAdmin은 php3과 함께 작동합니다.  PHP2 버전   
      *      더 이상 유지 관리되지 않습니다.   
      *  -  98-10-11  (avernet)  SQLAdmin은  이제  LGPL에 따라  배포됩니다.  
      *      MPL 대신     
      */   

    함수  escapeforhtml  ($string)   
    {   
        $결과  =  $string;   
        //$result  =  ereg_replace  (""",  """,  $result);   
        $result  =  ereg_replace  ("<",  "<",  $result);   
        $result  =  ereg_replace  (">",  ">",  $result);   
        반환  $결과;   
    }   

    함수  displayTuple  ($fieldsNumber,  $fieldNames,   
                                                  $fieldLengths,  $values,  $mode)   
    {   
        $결과  =  "";   
        $result  .=  ""  .   
            "";   
        $result  .=  "";   
        $fieldIndex  =  0;   
        반면에($fieldIndex  <  $fieldsNumber)   
        {   
            $result  .=  ""  .  $fieldNames  [$fieldIndex]  .  "";   
            if  ($fieldLengths  [$fieldIndex]  <=  128)   
            {   
                $result  .=  "                     $fieldNames  [$fieldIndex]  .  ""  VALUE=""  .   
                    $값  [$fieldIndex]  .  ""  SIZE="64">";   
            }   
            그렇지 않으면   
            {   
                $result  .=  "                     $fieldNames  [$fieldIndex]  .  """  .   
                    "  COLS="64"  ROWS="10"  WRAP="가상">"  .   
                    escapeforhtml  ($values  [$fieldIndex])  .  "";   
            }   
            $result  .=    "                 $fieldNames  [$fieldIndex]  .   
                ""  VALUE=""  .  escapeforhtml  ($values  [$fieldIndex])  .  "">"  .   
                "";   
            $fieldIndex++;   
        }   
        $result  .=  "";   
        if  ($mode  ==  "수정")   
        {   
            $result  .=  "";   
            $result  .=  "";   
        }   
        그렇지 않으면   
            {  $result  .=  "";  }   
        $result  .=  "";   
        반환  $결과;   
    }   

    함수  fieldFromType  ($text,  $type)   
    {   
        if  ($type  ==  "int"  ||  $type  ==  "uint"  ||  $type  == "real")   
            {  $결과  =  $text;  }   
        그렇지 않으면   
            {  $result  =  "'"  .  슬래시 추가  ($text)  .  "'";  }   
        반환  $결과;   
    }   

    함수  executeMsql  ($database,  $command)   
    {   
        /*에코  ""  .  $명령   .  "


";*/   
        msql  ($database,  $command);   
    }   

    함수  handleRemove  ($database,  $table,  $fieldsNumber,   
                                                  $fieldNames,  $fieldLengths,  $fieldTypes)   
    {   
        전역  $제거;   
        if  ($remo  !=  "")   
        {   
            $command  =  "삭제  FROM  "  .  $테이블  .  " 어디 ";   
            $fieldIndex  =  0;   
            반면에($fieldIndex  <  $fieldsNumber)   
            {   
                $fieldName  =  "이전-"  .  $fieldNames  [$fieldIndex];   
                전역  $$fieldName;   
                $command  .=  $fieldNames  [$fieldIndex]  .  "="  .   
                    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);   
                if  ($fieldIndex  !=  $fieldsNumber  -  1)   
                    {  $command  .=  "  AND  ";  }   
                $fieldIndex++;   
            }                  
            ExecuteMsql  ($database,  $command);   
        }   
    }   

    함수  handleUpdate  ($database,  $table,  $fieldsNumber,   
                                                  $fieldNames,  $fieldLengths,  $fieldTypes)   
    {   
        글로벌  $update;   
        if  ($update  !=  "")   
        {   
            $command  =  "업데이트  "  .  $테이블  .  " 세트 ";   
            $fieldIndex  =  0;   
            반면에($fieldIndex  <  $fieldsNumber)   
            {   
                $fieldName  =  $fieldNames  [$fieldIndex];   
                전역  $$fieldName;   
                $명령  .=  $fieldName  .  "="  .   
                    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);   
                if  ($fieldIndex  !=  $fieldsNumber  -  1)   
                    {  $command  .=  ",  ";  }   
                $fieldIndex++;   
            }   
            $command  .=  "  어디에서  ";   
            $fieldIndex  =  0;   
            반면에($fieldIndex  <  $fieldsNumber)   
            {   
                $fieldName  =  "이전-"  .  $fieldNames  [$fieldIndex];   
                전역  $$fieldName;   
                $command  .=  $fieldNames  [$fieldIndex]  .  "="  .   
                    fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);   
                if  ($fieldIndex  !=  $fieldsNumber  -  1)   
                    {  $command  .=  "  AND  ";  }   
                $fieldIndex++;   
            }   
            ExecuteMsql  ($database,  $command);   
        }   
    }   

    함수  handleAdd  ($database,  $table,  $fieldsNumber,   
                                            $fieldNames,  $fieldLengths,  $fieldTypes)   
    {   
        전역  $추가;   
        if  ($add  !=  "")   
        {   
            $command  =  "INSERT  INTO  "  .  $테이블  .  "  (";   
            $fieldIndex  =  0;   
            반면에($fieldIndex  <  $fieldsNumber)   
            {   
                $command  .=  $fieldNames  [$fieldIndex];   
                if  ($fieldIndex  !=  $fieldsNumber  -  1)   
                    {  $command  .=  ",  ";  }   
                $fieldIndex++;   
            }   
            $command  .=  ")  값  (";   
            $fieldIndex  =  0;   
            반면에($fieldIndex  <  $fieldsNumber)   
            {   
                $fieldName  =  $fieldNames  [$fieldIndex];   
                전역  $$fieldName;   
                $command  .=  fieldFromType  ($$fieldName,  $fieldTypes  [$fieldIndex]);   
                if  ($fieldIndex  !=  $fieldsNumber  -  1)   
                    {  $command  .=  ",  ";  }   
                $fieldIndex++;   
            }   
            $명령  .=  ")";   
            ExecuteMsql  ($database,  $command);   
        }   
    }   

    함수  displayRemoveUpdate  ($database,  $table,  $sortColumn,   
                                                                $fieldsNumber,  $fieldNames,  $fieldLengths)   
    {   
        $결과  =  "";   
        if  ($sortColumn  !=  "")   
            {  $sortColumn  =  "  ORDER  BY  "  .  $sortColumn;  }   
        $msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table  .  $sortColumn);   
        $tuplesNumber  =  msql_numrows  ($msqlresult);   
        $tupleIndex  =  0;   
        반면에($tupleIndex  <  $tuplesNumber)   
        {   
            $fieldIndex  =  0;   
            반면에($fieldIndex  <  $fieldsNumber)   
            {   
                $values  [$fieldIndex]  =  msql_result  ($msqlresult,  $tupleIndex,   
                    $fieldNames  [$fieldIndex]);   
                $fieldIndex++;   
            }   
            $result  .=  displayTuple  ($fieldsNumber,  $fieldNames,   
                $fieldLengths,  $values,  "수정");   
            $tupleIndex++;   
        }   
        반환  $결과;   
    }   

    함수  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths)   
    {   
        $결과  =  "";   
        $fieldIndex  =  0;   
        반면에($fieldIndex  <  $fieldsNumber)   
        {   
            $values  [$fieldIndex]  =  "";   
            $fieldIndex++;   
        }   
        $result  .=  displayTuple  ($fieldsNumber,  $fieldNames,   
            $fieldLengths,  $values,  "추가");   
        msql_close  ();   
        반환  $결과;   
    }   

    함수  administrationTable  ($database,  $table,  $sortColumn)   
    {   
        $결과  =  "";   
        msql_connect  ( "localhost");   
        $msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table);   
        $fieldsNumber  =  msql_numfields  ($msqlresult);    
        $msqlresult  =  msql_listfields  ($database,  $table);   
        $fieldIndex  =  0;   
        반면에($fieldIndex  <  $fieldsNumber)   
        {   
            $fieldNames  [$fieldIndex]  =  msql_fieldname  ($msqlresult,  $fieldIndex);   
            $fieldLengths  [$fieldIndex]  =  msql_fieldlen  ($msqlresult,  $fieldIndex);   
            $fieldTypes  [$fieldIndex]  =  msql_fieldtype  ($msqlresult,  $fieldIndex);   
            $fieldIndex++;   
        }   
        handlerRemove  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);   
        handlerUpdate  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);   
        handlerAdd  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);   
        $result  .=  displayRemoveUpdate  ($database,  $table,  $sortColumn,  $fieldsNumber,  $fieldNames,    
$fieldLengths);   
        $result  .=  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths);   
        반환  $결과;   
    }   

    함수  addTable  ($database,  $table)   
    {   
        $결과  =  "";   
        msql_connect  ( "localhost");   
        $msqlresult  =  msql  ($database,  "SELECT  *  FROM  "  .  $table);   
        $fieldsNumber  =  msql_numfields  ($msqlresult);    
        $msqlresult  =  msql_listfields  ($database,  $table);   
        $fieldIndex  =  0;   
        반면에($fieldIndex  <  $fieldsNumber)   
        {   
            $fieldNames  [$fieldIndex]  =  msql_fieldname  ($msqlresult,  $fieldIndex);   
            $fieldLengths  [$fieldIndex]  =  msql_fieldlen  ($msqlresult,  $fieldIndex);   
            $fieldTypes  [$fieldIndex]  =  msql_fieldtype  ($msqlresult,  $fieldIndex);   
            $fieldIndex++;   
        }   
        handlerAdd  ($database,  $table,  $fieldsNumber,  $fieldNames,  $fieldLengths,  $fieldTypes);   
        $result  .=  displayAdd  ($fieldsNumber,  $fieldNames,  $fieldLengths);   
        반환  $결과;   
    }   
?>   

以上就介绍了SQL管理员的web接介绍,包括了绍内容,希望对PHP教程有兴趣的朋友有所帮助。

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.