2014-04-19 3 views
0

드롭 다운 선택 버튼이 포함 된 PHP 페이지를 개발 중입니다. 그 값을 변경하면 자바 스크립트 메서드를 호출하고 드롭 다운에서 선택된 값을 전달합니다. 이제 전달 된 값을 사용하여 PHP를 사용하여 MySql의 세부 정보를 얻고 싶습니다. 어떻게 자바 스크립트와 PHP 코드를 작성할 수 있습니까? 나는 PHP의 초보자입니다. 나에게 간단하고 쉬운 방법을 제안하십시오자바 스크립트에서 PHP 코드 실행

+1

이것을 달성하려면'AJAX'를 배워야합니다. – Ranjith

+0

AJAX가가는 길 –

답변

0

드롭 다운의 onchange 이벤트의 경우 ajax를 사용하여 PHP 페이지를 호출하고 매개 변수를 전달하고 결과를 얻을 수 있습니다.

+0

예에 대한 링크 또는 적어도 작동 방법에 대한 기본 개요로 자세히 설명하는 것이 좋습니다. –

0

프런트 엔드 클라이언트 측 스크립트 (JavaScript)를 같은 아약스를 사용합니다. 이것은 웹 페이지의 클라이언트 측 (브라우저)과 서버 측 (서버) 구성 요소 사이의 분리 때문입니다. 페이지를 반환하도록 서버에 정상적인 요청을하면 (예 : index.html) 페이지의 내용을 반환하고 실행을 종료합니다.

달성하고자하는 것은 Wikipedia에 설명되어있는 AJAX라고하는 것입니다. Javascript에서 PHP 스크립트를 실행하는 방법에 대한 꽤 좋은 기본 예제가 있습니다.

기본적으로 AJAX는 웹 페이지의 서버 측 구성 요소를 비동기 적으로 실행합니다. Ajax 요청으로 'test.php'페이지를 타겟팅 할 수 있습니다. 브라우저에서 페이지를 열 때와 거의 같고 페이지의 콘텐츠가 반환됩니다.

추가 콘텐츠를 얻으려면 POST ($ _POST) 또는 GET ($ _ GET) 요청을 사용하여 세부 정보를 서버로 다시 보낼 수 있습니다. 일반적으로 검색을 수행 할 때 GET을 사용합니다. 업데이트 또는 생성을 수행하는 경우 POST를 사용합니다.

따라서 페이지 URL은 http://mywebsite.dev/ajax.php?select=apples (mywebsite.dev는 개발 URL 임)과 비슷할 수 있습니다.

$type = $_GET['select']; 
// Do some filtering on $type, eg. mysql_real_escape_string() and a few others 
SELECT fruit.types FROM fruit WHERE fruit.main_type = '$type'; 

그리고 브라우저로 다시 포맷 된 JSON 개체를 반환 : 당신이 사과 형식의 테이블이있는 경우, 귀하의 MySQL의 쿼리는 것 (

$return = Array(
    0 => 'Pink Lady', 
    1 => 'Sundowner', 
    2 => 'Granny Smith', 
    ... 
); 

$json = json_encode($return); 

// expected result 
{['Pink Lady'],['Sundowner'],['Granny Smith']}; 

당신은 항상 배열에 추가 인덱스를 제공 할 수 있습니다 다차원) 또는 stdClass를 사용하여 구조를 개선하십시오.

자바 스크립트에서 for 루프를 사용하여 json 개체를 반복 실행하여 새 옵션 목록을 만듭니다.

var output = ''; 
for (var i = 0, k = json.length; i < k; i++) { 
    output += '<option value="' + json[i] + '">' + json[i] + '</option>'; 
} 

희망이 있습니다.

0

안녕하세요. 아약스를 사용해야합니다. 시도 :

이 index.php에 코드 :이 스크립트는 jQuery를 사용하여 데이터를에서 잡아 아약스를 통해 파일을 search.php 그것을 게시 할 예정입니다

<html> 
<head> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
    <script> 
     $(document).ready(function(){ 
      $('#userid').change(function(){ 
       userid=this.value; 
       $.ajax({ 
        url:'search.php', 
        data : 'userid='+userid, 
        type:'POST', 
        success:function(result){ 
         $('#result_div').html(result); 
        } 
       }); 
      }); 
     }); 
    </script> 
</head> 
<body> 
    <form name='getUserData' id='getUserData' action='#' method='GET'> 
     Select User : <select id='userid' name='userid'> 
      <option value='1'>Lokendra</option> 
      <option value='2'>Amit</option> 
      <option value='3'>Nitin</option> 
      <option value='4'>Rishabh</option> 
     </select> 

    </form> 
    <div id='result_div'></div> 

</body> 
</html> 

은 search.php 코드 :이 파일은 당신에게 비즈니스 로직을 포함합니다 . 값을 ajax 성공 메소드로 리턴한다. 모든 컨테이너의 결과를 채울 수 있습니다.

<?php 
     $userArray=array(
        1 => 'Lokendra', 
        2 => 'Amit', 
        3 => 'Nitin', 
        4 => 'Rishabh', 
       ); 
     $postedData=$_REQUEST; 
     // Fire your select query here and diplay data 

     if(isset($postedData['userid'])){ 
      echo "Selected User name =>".$userArray[$postedData['userid']];die; 
     } 
    ?> 

도움이된다면 답을 잊지 마십시오.:)

관련 문제