如何连接php和jquery

时间:2010-12-20 06:10:21

标签: php jquery ajax

是否可以使用php来计算某些内容并使用jquery来获取计算结果 值并将其显示回网页而无需提交表格。 我在使用客户端来计算使用数组的东西时遇到了麻烦。所以我想让php进行计算。

                                                 

                    <input type="hidden" name=ids[] value="<?php $id; ?>">
                    <input type="hidden" name=qoh[] value="<?php $qtyhand; ?>">

                    <input type="hidden" name=dprice[] value="<?php $dsprice; ?>">
                    <input type="hidden" name=sprice[] value="<?php $ssprice; ?>">

                    <td>$qtyhand</td>";
                    <td><input type="text" name=qbuys[]  value="<?php echo $ssprice; ?>"></td>
                    <td><?php $ssprice; ?></td>";
                    <td><input type="text" name=disc[]  value=""></td>


                    <td><input type="text" name=subtot[]  value=""></td>

这是应该用于计算的php文件。

<?php
    $ctbill=0;
    foreach ($_GET['ids'] as $k => $v) {
        $id = (int)$v;
        $qtyhnd = (int)$_GET['qoh'][$k];
        $qtytbuy = (int)$_GET['qbuys'][$k];
        $left = $qtyhnd - $qtytbuy;



        $sellprice=(double)$_GET['sprice'][$k];
        $dealerprice=(double)$_GET['dprice'][$k];

        $finalvalue=.01;
        $dis=(double)$_GET['disc'][$k];




        $stotal=(double)$qtytbuy * $sellprice;
        $cdizval=(double)$stotal * $dis * $finalvalue;
        $cdstotal=$stotal-$cdizval;

        $ctbill=(double)$ctbill + $cdstotal; 






        $dizval=$dis * $finalvalue;
        $preprof=(($sellprice * $qtytbuy)-($dealerprice*$qtytbuy)) * $dizval;
        $profit=(($sellprice * $qtytbuy)-($dealerprice*$qtytbuy)) - $preprof;

    ?>

你能告诉我如何做到这一点。

3 个答案:

答案 0 :(得分:1)

是。查看jquery手册,了解如何发出ajax请求并显示结果的示例:

http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:1)

使用ajax并在回调中设置这些值。

jQuery的ajax函数包括$ .get,$ .post,$。load,$ .ajax。您可能应该使用POST bc传递参数,似乎您想要传递一些数组,而GET不适合它。那个PHP文件应该回应你需要的东西,并且根据它的复杂性,你可能希望它是JSON使用的JSONencode而不仅仅是一个普通的字符串。

$.post('/url.php', {data1: 'literal', data2: variable, ....}, function($x){--display==});

url.php是处理它的PHP文件 第二个论点是即将到来的数据 第三个参数是回调函数,$ x是url.php echos

http://api.jquery.com/category/ajax/
http://www.visualjquery.com

答案 2 :(得分:1)

加载本身通常就像

一样简单
$("#output").load("compute.php?ids[]=1111&ids[]=2222");

您的案例的复杂性是从表单字段中汇集各种URL参数。通常,您可以传递一个简单的Javascript数组/哈希作为数据参数。但JS数组和默认的jQuery .load处理程序不适用于您拥有的重复PHP样式var[]字段名称。

你最好的办法是建立一个循环,我想是手动完成的。 (但可能有插件,所以尝试谷歌和jQuery插件库。)