codeigniter 프레임 워크를 사용하여 개발 된 프로젝트가 하나 있습니다.PHP에서 선택한 드롭 다운 목록에 대한 세부 정보 표시 방법
나는 모든 국가의 드롭 다운 목록이 하나 있습니다.
사용자가 내가 그 특정 국가에 대한 정보를 표시 할 필요가있는 드롭 다운 메뉴에서 국가 중 하나를 선택
...내가 어떻게 할 수 있습니까?
codeigniter 프레임 워크를 사용하여 개발 된 프로젝트가 하나 있습니다.PHP에서 선택한 드롭 다운 목록에 대한 세부 정보 표시 방법
나는 모든 국가의 드롭 다운 목록이 하나 있습니다.
사용자가 내가 그 특정 국가에 대한 정보를 표시 할 필요가있는 드롭 다운 메뉴에서 국가 중 하나를 선택
...내가 어떻게 할 수 있습니까?
이것은 PHP만으로는 수행 할 수 없으며 "해당 국가에 관한 정보"가 백엔드에서 제공되는 경우 JavaScript (example)와 추가로 AJAX가 필요합니다. 드롭 다운 목록에 변경 리스너를 추가하고 발생하면 그에 따라 HTML을 업데이트하십시오.
내가 상관없이 프레임 워크의 사용,이 방법을 수행 할 제안 :
<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()
함수는 데이터베이스 서버에서 쿼리를 실행하고 해당 국가를 기반으로 하나의 행을 가져옵니다.희망이 있으면 올바른 방향으로 안내합니다.
자바 스크립트를 사용하지 않고 드롭 다운 목록의 값에 액세스 할 수 있습니까? –
@SwathiS JavaScript를 사용하여 DOM의 내용을 가져와 조작해야합니다. 그렇지 않다면, 현재 상태를 취하는 것과 같은 것을하기 위해 더 많은 서버 측 프로세싱이 필요합니다. JavaScript로하기 쉽습니다. –
새로운 연결을 구현하는 이유 (CI를 사용하여 개발했듯이 Connection을 얻을 수 있음) : P .. 그러나 PHP-MYSQLI의 처리 방법에 감사드립니다. –
검색어를 좀 더 정확하게 지정할 수 있습니까? 매우 모호합니다! –
자기 개발 코드 –
국가 정보를 표시하고 싶습니까? – Sandesh