2010-10-06 44 views
0

我有一个“小”的问题,因为我不知道什么是处理AJAX jQuery数据库请求的最佳方式?处理Ajax jQuery数据库查询的最佳实践?

到目前为止,我已经做到了这种方式: 对于以往(单)数据库请求我创建了一个新的PHP文件,如:

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

..和等,并通过拉数据:

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

..我不喜欢所有的.php文件只有一个!数据库请求!?
必须有更好的方式来处理这个?

+0

你有什么特别的问题? – 2010-10-06 12:24:19

+0

这不是一个jQuery的问题。这实际上是关于服务器端模式和实现。如果您将PHP标签添加到您的帖子中,您可能会得到更好的答案。 – Gregg 2010-10-06 13:02:13

回答

2

我会这样做。

为每个实体创建一个php文件(例如:consumerajax.php,billajax.php等),然后为每个数据库查询分别设置函数。当从javascript传递一个querystring变量来确定哪个在AJAX服务器页面

防爆要执行的功能:在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){ }); 
+0

thx,多数民众赞成,我也在想这样的事情(与这种助手变量= $模式),但认为可能有更好的方法来解决的功能(或方法在一个类)直接以某种方式? – Don 2010-10-07 22:31:11

1

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

但是,这取决于你在页面内究竟做了什么,如果它很容易维护在一个单一的文件..

+0

我的想法是有一个数据库查询的Datamanager类,但也许一个普通的脚本文件与功能将(如Shyju所示)?为什么它很复杂,当它可以是简单的:) – Don 2010-10-07 22:35:34