2010-12-20 4 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

사용 아약스 콜백에서 그 값을 설정합니다.

jQuery의 ajax 함수에는 $ .get, $. post, $ .load, $ .ajax가 포함됩니다. POST bc로 매개 변수를 전달해야합니다. 일부 배열을 전달하려고하는데 GET이 적합하지 않은 것 같습니다. 그 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 $와
번째 인수는 콜백 함수
번째 인수 encoming 데이터를 처리하는 PHP 파일이며