2014-10-20 4 views
-2

codeigniter 프레임 워크를 사용하여 개발 된 프로젝트가 하나 있습니다.PHP에서 선택한 드롭 다운 목록에 대한 세부 정보 표시 방법

나는 모든 국가의 드롭 다운 목록이 하나 있습니다.

사용자가 내가 그 특정 국가에 대한 정보를 표시 할 필요가있는 드롭 다운 메뉴에서 국가 중 하나를 선택

...

내가 어떻게 할 수 있습니까?

+0

검색어를 좀 더 정확하게 지정할 수 있습니까? 매우 모호합니다! –

+0

자기 개발 코드 –

+0

국가 정보를 표시하고 싶습니까? – Sandesh

답변

0

예를 들어 .change()을 사용하면 JQuery에서이를 수행 할 수 있습니다.

국가를 변경할 때마다 트리거됩니다. 국가 이름을 얻은 다음 필요한 정보를 표시해야합니다.

바닐라 JS를 사용하려는 경우 onChange을 사용할 수 있습니다.

0

이것은 PHP만으로는 수행 할 수 없으며 "해당 국가에 관한 정보"가 백엔드에서 제공되는 경우 JavaScript (example)와 추가로 AJAX가 필요합니다. 드롭 다운 목록에 변경 리스너를 추가하고 발생하면 그에 따라 HTML을 업데이트하십시오.

2

내가 상관없이 프레임 워크의 사용,이 방법을 수행 할 제안 :

  1. 은 선택한 국가에 대한 정보로 응답하는 서버 측 PHP 스크립트를 개발, 국가 매개 변수의 입력으로 .
  2. UI에서 <select>onChange 이벤트를 트리거 할 때 서버 사이드 PHP 스크립트의 응답을 가져와 <div> 또는 UI의 일부 영역에 표시하는 AJAX 호출을 시작하십시오.

jQuery를 사용할 수 있으면 간단해질 수 있습니다. 당신이 onChange 이벤트를 수행 할 때

<select id="countries"> 
    <!-- Options populated by php --> 
</select> 

은, 아래의 기능 결합 : 궁극적으로

$("#countries").change(function(){ 
    countryValue = $(this).val(); 
    $.ajax("countries-info.php", {country: countryValue}, function(message){ 
     $("#countryInfo").html(message); 
    }); 
}); 

을, 당신이 당신의 HTML이 유사한 구조를 가져야한다 : 당신의 <select> 태그에 대한 ID 가지고

<select id="countries"> 
    <!-- Options populated by php --> 
</select> 
<div id="countryInfo"></div> 

countries-info.php에는

가 있어야합니다.
<?php 
    $country = clean($_GET["country"]); 
    // Connect to the DB 
    databaseConnect($username, $password, $database); 
    $results = $databaseObject->query("SELECT `info` FROM `countries` WHERE `country`='$country'"); 
    $countryInfo = $results["info"]; 
    die($countryInfo); 
?> 

위를당신이해야 할 일의 의사 코드 :

  • clean()은 SQL 인젝션의 응답을 청소하는 데 사용됩니다. MySQL을 사용하는 경우 mysqli_real_escape_string()과 같은 것을 사용할 수 있습니다.
  • databaseConnect()은 데이터베이스 서버에 연결하고 데이터베이스를 선택하는 데 사용됩니다.
  • $databaseObject은 데이터베이스 연결 개체입니다.
  • $databaseObject->query() 함수는 데이터베이스 서버에서 쿼리를 실행하고 해당 국가를 기반으로 하나의 행을 가져옵니다.

희망이 있으면 올바른 방향으로 안내합니다.

+0

자바 스크립트를 사용하지 않고 드롭 다운 목록의 값에 액세스 할 수 있습니까? –

+0

@SwathiS JavaScript를 사용하여 DOM의 내용을 가져와 조작해야합니다. 그렇지 않다면, 현재 상태를 취하는 것과 같은 것을하기 위해 더 많은 서버 측 프로세싱이 필요합니다. JavaScript로하기 쉽습니다. –

+1

새로운 연결을 구현하는 이유 (CI를 사용하여 개발했듯이 Connection을 얻을 수 있음) : P .. 그러나 PHP-MYSQLI의 처리 방법에 감사드립니다. –

관련 문제