2012-05-14 4 views
0

사용자가 고객 이름을 선택할 때 실행 시간에 해당 고객의 주소 & 도시를 데이터베이스에서 채우고 싶습니다. javascript 함수를 on이라고합니다. 변경하고 그 PHP 함수 addfun() 호출하고 쿼리에서 전달할 및 keyvalue 노력하고 있습니다. 나는 코드 아래에 글을 쓰지 만 작동하지 않는다.PHP에서 HTML_QuickForm의 변경 선택 옵션에서 텍스트 상자에 레코드를 얻는 방법

<script language='javascript' type='text/javascript'> 
function ILovePHP(frm, a) { 
var formName = frm.name; 
    alert(formName); 
b=<?php addfun(formName,a);?>; 

alert(b); 
} 
</script> 

    <?php 

$attrs = array("onChange" => "ILovePHP(this.form, this.value);"); 


require_once "HTML/QuickForm.php"; 
require_once "HTML/QuickForm/Renderer.php"; 
    $form = new HTML_QuickForm('customer_master', 'post'); 

    $form->addElement('select','custName','Select Customer Name',$cnameAry,$attrs); 
    $form->addElement('text', 'custAdd', 'Customer Address'); 
    $form->addElement('text','custCity', 'City'); 
    $form->addElement('text','custState', 'State'); 

    $form->display(); 

    function addfun($frm, $p) 
{ 

$query="Select Address, City from entityMaster where eid=$p "; 


$link = mysql_connect('localhost', 'root', ''); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db('GenInsurance'); 
$result=mysql_query($query); 

$row=mysql_fetch_array($result); 

$frm->setDefaults(array('custAdd' => $row['Address'])); 
$frm->setDefaults(array('custCity' => $row['Address'])); 

print $frm; 
return $frm; 
} 

?> 
+0

그럴 수 없습니다! PHP 코드는 클라이언트의 JS 서버에서 해석됩니다. PHP에서 PHP 함수를 호출하려면 HTTP 요청 (Ajax 검색)이 필요합니다. –

답변

1

사용 JQuery와 및 아약스는 PHP 파일의 주소와 도시를 얻을 :

라는 파일 ajax.php 만들 :

if(isset($_GET['name'])) 
{ 

$p = $_GET['name']; 

$query="SELECT Address, City FROM entityMaster WHERE eid=$p "; 

$link = mysql_connect('localhost', 'root', ''); 
if (!$link) { 
    die('Could not connect: ' . mysql_error()); 
} 
mysql_select_db('GenInsurance'); 
$result=mysql_query($query); 

$row=mysql_fetch_array($result); 

$output = array('custAdd' => $row['Address'], 'custCity' => $row['Address']); 

echo json_encode($output); 

} 

도시 및 주소를 onchange를 :

<script src="http://code.jquery.com/jquery-1.7.2.min.js"></script> 
$('#custName').change(function(){ 

    $.getJSON("ajax.php", { name: $(this).val() } , function(data){ 
     $.each(data, function(key, value) { 
      if(key == "custCity"){ 
       $('#custCity').val(value); 
       } 
       if(key == "custAdd"){ 
       $('#custAdd').val(value); 
       } 

     }); 
    }); 
}); 

ajaxjquery에 대한 자세한 내용을 참조하십시오.

관련 문제