2010-12-20 13 views
0

phpを使って何かを計算し、jqueryを使って計算された の値をフェッチし、フォームを送信することなくウェブページに戻すことは可能ですか? 配列を使って何かを計算するのにクライアント側を使用するのに本当に問題があります。だから私はPHPに計算をさせることを考えている。phpとjqueryの接続方法

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

    ?> 

あなたは私にその方法を教えてもらえますか?

+0

Ajaxタグが追加されました。 –

答えて

1

ローディング自体はしばしば次のように簡単です:

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

複雑なケースは、フォームフィールドからさまざまなURLパラメータを組み立てることです。通常、単純なJavascript配列/ハッシュをデータパラメータとして渡すことができます。しかしJS配列とデフォルトのjQuery .loadハンドラは、あなたが持っている反復的なPHPスタイルのvar[]のフィールド名でうまく動作しません。

あなたの最善の策は、ループを構築し、それを手動で行うことです。 (しかし、プラグインがあるかもしれないので、GoogleとjQueryプラグインリポジトリを試してみてください)

1

使用AJAXコールバックでそれらの値を設定します。AJAX要求を行い、その結果を表示する方法の例については、jQueryのマニュアルを見てください。

jQueryのajax関数には、$ .get、$ .post、$ .load、$ .ajaxが含まれます。あなたはおそらくあなたがいくつかの配列を渡したいと思うと、GETはそれに適していないPOST bcであなたのパラメータを渡す必要があります。そのPHPファイルは必要なものをエコーアウトする必要があります。その複雑さにもよりますが、単純な文字列ではなくJSONをJSONエンコードで使用したい場合があります。

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

url.phpはxは何url.phpエコー

http://api.jquery.com/category/ajax/
http://www.visualjquery.com $で、
3番目の引数は、コールバック関数である
第二引数encomingされたデータを処理するPHPファイルであります

関連する問題