An,SQL,Administration,User,Interface,for,the,Web,php

Mert 9/1/2016 0

An SQL Administration User Interface for the Web in PHP

PHP
<?

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

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

    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; 
    } 
?>
 

Report Bug

Please Login to Report Bug

Reported Bugs

Comments

Please Login to Comment

Comments