中顯示關於下拉列表中選定選項的詳細信息我有一個使用codeigniter框架開發的項目。如何在php
因爲我有一個所有國家的下拉列表。
當用戶選擇從下拉菜單中,我需要顯示有關特定國家信息的國家之一......
我怎麼能這樣做?
中顯示關於下拉列表中選定選項的詳細信息我有一個使用codeigniter框架開發的項目。如何在php
因爲我有一個所有國家的下拉列表。
當用戶選擇從下拉菜單中,我需要顯示有關特定國家信息的國家之一......
我怎麼能這樣做?
這不能單獨使用PHP完成,如果「關於該特定國家/地區的信息」來自後端,則需要JavaScript(example)和AJAX。將更改偵聽器添加到下拉列表中,如果觸發,則相應地更新HTML。
我會建議你做這樣一來,不管框架的使用:
<select>
中觸發onChange
事件時,觸發一次AJAX調用,獲取服務器端PHP腳本的響應,並在<div>
或用戶界面的某個區域中顯示它。如果你被允許使用jQuery,這可以變得簡單。有ID
您<select>
標籤:
<select id="countries">
<!-- Options populated by php -->
</select>
當你做一個onChange
事件,結合下面的功能:
$("#countries").change(function(){
countryValue = $(this).val();
$.ajax("countries-info.php", {country: countryValue}, function(message){
$("#countryInfo").html(message);
});
});
最後,你應該有一個類似的結構,你的HTML:
<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()
函數在數據庫服務器上執行查詢並根據國家提取一行。希望這會引導您朝着正確的方向發展!
如果不使用javascript,我可以訪問下拉列表的值嗎? – 2014-10-20 12:19:20
@SwathiS您需要使用JavaScript來獲取DOM的內容並對其進行操作。如果沒有,你需要更多的服務器端處理,以採取當前狀態和類似的東西。易於使用JavaScript。 – 2014-10-20 12:27:58
爲什麼要實現新的連接(正如前面提到的那樣,它是使用CI開發的,可以獲得Connection):P ..但是,我很欣賞PHP-MYSQLI處理的方式 – 2014-10-21 08:16:37
你可以在查詢中更精確嗎?這非常含糊! – 2014-10-20 11:35:47
自己開發這個代碼 – 2014-10-20 11:36:11
你想要顯示國家的信息嗎? – Sandesh 2014-10-20 11:38:28