![](/img/trans.png)
[英]Retrieve data/record from the database using dropdown list without reloading
[英]Retrieve and display text from multiple dropdown menus without reloading page
我正在學習PHP,Jquery,Ajax和其他Web開發語言,並在這個問題上持續數小時。
我有兩個下拉框:
無論如何,我希望能夠檢索兩個菜單框的文本,並在單擊按鈕的同時單擊同一頁面上的文本框中的文本框,以在進一步的數據庫查詢中使用它們,而無需重新加載頁面 。
我已經將JQuery和Ajax用於動態菜單,因此我對此任務需要什么有所了解。 這是相關頁面的代碼:
<body>
<div class = "country">
<label>Select a Country: </label>
<select name="country" onchange="getId(this.value);">
<option value = "">Select Country</option>
<?php
$query = "SELECT DISTINCT(Country) AS Country FROM Locations ORDER BY Country ASC;";
$results = mysqli_query($con, $query);
foreach ($results as $country) {
?>
<option value = "<?php echo $country['Country']; ?>"><?php echo
$country['Country'] ?></option>
<?php
}
?>
</select>
</div>
</br>
<div class="city">
<label>Select a City: </label>
<select name="city" id="cityList">
<option value="">Select a city</option>
</select>
</div>
<script src="https://code.jquery.com/jquery-1.12.0.min.js"></script>
<script>
function getId(value){
$.ajax({
type: "POST",
url: "getdata.php",
data: "Country="+value,
success: function(data){
$("#cityList").html(data);
}
});
}
</script>
<button id="button">Go</button>
document.getElementById("button").onclick = function(){
document.getElementById("textbox").innerHTML = "<?php $query = mysqli_query($con, "SELECT * FROM Locations WHERE Country='dropdown text' AND City='dropdown text'");
while($results = mysqli_fetch_array($query)){
echo "Name: " . "$results['City']" . "is in" . "$results['Country']" "</option>";
}
?>";
}
</script>
</body>
到目前為止,我一直在使用的PHP文件尚不完整,因為我不確定如何回顯結果,因為我希望它最終出現在主頁上的文本框中。 我的PHP如下:
<?php
include_once "connection.php";
if(!empty($_POST['Country'])||($_POST['City'])){
$country = $_POST['Country'];
$city = "SELECT * FROM Locations WHERE Country = '$Country' AND City = '$city'";
$results = mysqli_query($con, $query);
foreach ($results as $city) {
?>
<option value = "<?php echo $city['Country']; ?>"><?php echo $city['City'] ?></option>
<?php
}
}
?>
任何建議或意見,將不勝感激。
<?php include_once "connection.php"; if(!empty($_POST['Country'])){ $country = $_POST['Country']; $city = "SELECT * FROM Locations WHERE Country = '$Country' "; $results = mysqli_query($con, $query); foreach ($results as $city) { ?> <option value = "<?php echo $city['City']; ?>"><?php echo $city['City'] ?></option> <?php } } ?>
您只發布“國家”,而必須從帖子中獲取“國家”。 這個城市不是來自郵政。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.