处理ajax jquery数据库查询的最佳实践?

时间:2010-10-06 12:16:07

标签: jquery mysql ajax

我有一个“小”问题,因为我不知道处理ajax jquery数据库请求的最佳方法是什么?

到目前为止,我已经这样做了: 对于永远(单个)数据库请求,我创建了一个新的.php文件,如:

newbill.php
newcosumer.php
listallbills.php
updatecostumer.php

..依此类推并通过以下方式提取数据:

$.ajax({
 type: "POST",
    url: "ajax/newbill.php",
    data: "..."
    success: function(msg){    
    ...
    }
 }); 

..我不喜欢的是所有.php文件只有一个!数据库请求!? 必须有更好的方法来解决这个问题吗?

2 个答案:

答案 0 :(得分:2)

我会这样做。

为每个实体创建一个php文件(例如:consumerajax.php,billajax.php等等),然后为每个数据库查询分配单独的函数。当从javascript调用时,传递一个querystring变量来确定哪个函数在ajax服务器页面中执行

Ex:在consumerajax.php

 <?php

    $mode= $_GET["mode"] ;
    if($mode=="getconsumerdet")
    {
       $consumerId=$_GET["cid"];
       GetConsumerDetails($consumerId)
    }
    else if($mode=="updateconsumer")
    {
      $consumerId=$_GET["cid"];
      $name=$_GET["name"];
      UpdateConsumerInfo($consumerId, $name)
    }

    function GetConsumerDetails($consumerId)
    {
       // execute query the table here and return the result from here
      echo"Have the data and return"
    } 
    function UpdateConsumerInfo($consumerId,$name)
    {
      //execute query to update
     echo "updated";
    }

?>

并来自您的脚本调用,如

  $.ajax({ type: "POST", url: "ajax/consumerajax.php?mode=getconsumerdet&cid=34", data: "..." success: function(msg){   });

  $.ajax({ type: "POST", url: "ajax/consumerajax.php?mode=updateconsumer&cid=34&name=shyju", data: "..." success: function(msg){   });

答案 1 :(得分:1)

你可以创建一个名为ie的文件。 dbrequest.php并传递参数,然后从php读取并向数据库发出适当的请求..

但这取决于你在网页内做了什么,以及是否很容易在一个文件中维护..