小妖女 发表于 2015-2-4 00:08:00

PHP网页设计一个SQL办理员的web接口

也或许是因为我还没有真正的学到深处吧,说实在的,PHP中的很多高级点的应用,如PHP类、PHP函数基本还是不懂吧!   <?   
    /*************************************************************************************
   *      SQLAdminv2.0-AnSQLAdministrationUserInterfacefortheWeb *   
   *            Copyright(C)1997-98    AlessandroVernet<avernet@scdi.org>      *   
   *************************************************************************************   
   *      Thislibraryisfreesoftware;youcanredistributeitand/or       *   
   *      modifyitunderthetermsoftheGNULibraryGeneralPublic      *   
   *      LicenseaspublishedbytheFreeSoftwareFoundation;either         *   
   *      version2oftheLicense,or(atyouroption)anylaterversion.*   
   *                                                                                 *   
   *      Thislibraryisdistributedinthehopethatitwillbeuseful,   *   
   *      butWITHOUTANYWARRANTY;withouteventheimpliedwarrantyof      *   
   *      MERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.    SeetheGNU*   
   *      LibraryGeneralPublicLicenseformoredetails.                     *   
   *                                                                                 *   
   *      YoushouldhavereceivedacopyoftheGNULibraryGeneralPublic *   
   *      Licensealongwiththislibrary;ifnot,writetothe               *   
   *      FreeSoftwareFoundation,Inc.,59TemplePlace-Suite330,      *   
   *      Boston,MA    02111-1307,USA.                                             *   
   *************************************************************************************/   


    /*TODO:   
      *-Addsortorder.   
      *-Addsimpleview.   
      *-Addsomedocumentation.   
      */   

    /*LIMITATIONS:   
      *-WorksonlywithmSQL.   
      */   

    /*HISTORY:   
      *-97-11-05(avernet)Correctedabugwithquote.   
      *-98-01-01(avernet)AddedasortColumnparameterto   
      *      administrationTablefunction.   
      *-98-03-14(avernet)AddedfunctionaddTabletoenableusersto   
      *      add(butnotmodify)enentrytothedatabase.   
      *-98-05-19(avernet)SubmittedtoPX.   
      *-98-10-11(avernet)NowSQLAdminworkswithPHP3.ThePHP2version   
      *      willnotbemainteainedanymore.   
      *-98-10-11(avernet)SQLAdminisnowdistributedundertheLGPL   
      *      insteadofMPL.   
      */   

    functionescapeforhtml($string)   
    {   
      $result=$string;   
      //$result=ereg_replace("\"",""",$result);   
      $result=ereg_replace("<","<",$result);   
      $result=ereg_replace(">",">",$result);   
      return$result;   
    }   

    functiondisplayTuple($fieldsNumber,$fieldNames,   
                                                $fieldLengths,$values,$mode)   
    {   
      $result="";   
      $result.="<FORMMETHOD=\"post\"><TABLEBORDER><TR>".   
            "<TDBGCOLOR=\"#CCCCFF\">";   
      $result.="<TABLECELLSPACING=\"0\"CELLPADDING=\"0\">";   
      $fieldIndex=0;   
      while($fieldIndex<$fieldsNumber)   
      {   
            $result.="<TR><TD>".$fieldNames[$fieldIndex]."</TD><TD>";   
            if($fieldLengths[$fieldIndex]<=128)   
            {   
                $result.="<INPUTTYPE=\"text\"NAME=\"".   
                  $fieldNames[$fieldIndex]."\"VALUE=\"".   
                  $values[$fieldIndex]."\"SIZE=\"64\">";   
            }   
            else   
            {   
                $result.="<TEXTAREANAME=\"".   
                  $fieldNames[$fieldIndex]."\"".   
                  "COLS=\"64\"ROWS=\"10\"WRAP=\"virtual\">".   
                  escapeforhtml($values[$fieldIndex])."</TEXTAREA>";   
            }   
            $result.=    "<INPUTTYPE=\"hidden\"NAME=\"old-".   
                $fieldNames[$fieldIndex].   
                "\"VALUE=\"".escapeforhtml($values[$fieldIndex])."\">".   
                "</TD></TR>";   
            $fieldIndex++;   
      }   
      $result.="<TR><TDALIGN=\"center\"COLSPAN=\"2\">";   
      if($mode=="modify")   
      {   
            $result.="<INPUTTYPE=\"submit\"NAME=\"remove\"VALUE=\"Remove\">";   
            $result.="<INPUTTYPE=\"submit\"NAME=\"update\"VALUE=\"Update\">";   
      }   
      else   
            {$result.="<INPUTTYPE=\"submit\"NAME=\"add\"VALUE=\"Add\">";}   
      $result.="</TABLE></TD></TR></TABLE></FORM>";   
      return$result;   
    }   

    functionfieldFromType($text,$type)   
    {   
      if($type=="int"||$type=="uint"||$type== "real")   
            {$result=$text;}   
      else   
            {$result="'".AddSlashes($text)."'";}   
      return$result;   
    }   

    functionexecuteMsql($database,$command)   
    {   
      /*echo"<TT>".$command."</TT><HR>";*/   
      msql($database,$command);   
    }   

    functionhandleRemove($database,$table,$fieldsNumber,   
                                                $fieldNames,$fieldLengths,$fieldTypes)   
    {   
      global$remove;   
      if($remove!="")   
      {   
            $command="DELETEFROM".$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);   
      }   
    }   

    functionhandleUpdate($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);   
      }   
    }   

    functionhandleAdd($database,$table,$fieldsNumber,   
                                          $fieldNames,$fieldLengths,$fieldTypes)   
    {   
      global$add;   
      if($add!="")   
      {   
            $command="INSERTINTO".$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);   
      }   
    }   

    functiondisplayRemoveUpdate($database,$table,$sortColumn,   
                                                                $fieldsNumber,$fieldNames,$fieldLengths)   
    {   
      $result="";   
      if($sortColumn!="")   
            {$sortColumn="ORDERBY".$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;   
    }   

    functiondisplayAdd($fieldsNumber,$fieldNames,$fieldLengths)   
    {   
      $result="";   
      $fieldIndex=0;   
      while($fieldIndex<$fieldsNumber)   
      {   
            $values[$fieldIndex]="";   
            $fieldIndex++;   
      }   
      $result.=displayTuple($fieldsNumber,$fieldNames,   
            $fieldLengths,$values,"add");   
      msql_close();   
      return$result;   
    }   

    functionadministrationTable($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;   
    }   

    functionaddTable($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;   
    }   
?>   熟悉了PHP和MYSQL开发的要领之后,再回头看你写的那个留言本,你也许会怀疑那真的是你写的吗?当然,如果屋里还有鬼的话,也许是它写的-_-

精灵巫婆 发表于 2015-2-4 09:10:24

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

乐观 发表于 2015-2-9 20:57:02

这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。

小魔女 发表于 2015-2-17 09:43:55

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

只想知道 发表于 2015-3-1 10:07:22

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

不帅 发表于 2015-3-4 10:32:32

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

兰色精灵 发表于 2015-3-7 12:28:21

我要在声明一下:我是个菜鸟!!我对php这门优秀的语言也是知之甚少。但是我要在这里说一下php在网站开发中最常用的几个功能:

小妖女 发表于 2015-3-14 03:25:27

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

柔情似水 发表于 2015-3-15 21:07:51

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

飘灵儿 发表于 2015-3-17 20:08:09

php里的数组为空的时候是不能拿来遍历的;(这个有点低级啊,不过我刚被这个边界问题墨迹了好长一会)

海妖 发表于 2015-3-24 22:50:12

学好程序语言,多些才是王道,写两个小时代码的作用绝对超过看一天书,这个我是深有体会(顺便还能练打字速度)。

变相怪杰 发表于 2015-3-27 08:08:07

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

爱飞 发表于 2015-4-3 04:39:31

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

再现理想 发表于 2015-4-4 14:54:01

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

谁可相欹 发表于 2015-4-5 04:53:19

首先声明:我是一个菜鸟,是一个初学者。学习了一段php后总是感觉自己没有提高,无奈。经过反思我认为我学习过程中存在很多问题,我改变了学习方法后自我感觉有了明显的进步。

小女巫 发表于 2015-4-16 02:10:18

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

愤怒的大鸟 发表于 2015-4-16 16:09:12

使用 jquery 等js框架的时候,要随时注意浏览器的更新情况,不然很容易发生框架不能使用。

蒙在股里 发表于 2015-4-16 17:46:53

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

透明 发表于 2015-4-21 23:14:15

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

灵魂腐蚀 发表于 2015-4-24 11:14:55

php是动态网站开发的优秀语言,在学习的时候万万不能冒进。在系统的学习前,我认为不应该只是追求实现某种效果,因为即使你复制他人的代码调试成功,实现了你所期望的效果,你也不了解其中的原理。
页: [1] 2
查看完整版本: PHP网页设计一个SQL办理员的web接口