[英]Executing PHP code from javascript
我正在開發一個包含下拉選擇按鈕的php頁面。 在更改其值時,我正在調用javascript方法並傳遞下拉菜單中選擇的值。 現在,我想使用傳遞的值來使用PHP從MySql獲取更多詳細信息。 如何使用JavaScript編寫PHP代碼? 我是PHP的初學者。 向我建議一種最簡單的方法
對於下拉的onchange事件,您可以使用ajax調用php頁面並傳遞您的參數並獲取輸出。
前端客戶端腳本(Javascript)無法直接“調用”或運行PHP代碼。 這是由於網頁的客戶端(瀏覽器)和服務器端(服務器)組件之間的分隔。 當您向服務器發出正常請求以返回頁面(例如index.html)時,它將返回頁面的內容並終止執行。
您試圖實現的是一種稱為AJAX的內容,該內容已在Wikipedia上進行了介紹 。 還有一個很好的基本示例,說明如何從Javascript運行PHP腳本。
從根本上講,AJAX是網頁服務器端組件的異步執行。 您可以使用ajax請求將頁面“ test.php”定位為目標,這與在瀏覽器中打開頁面時的目標幾乎相同,並且頁面的內容將被返回。
要獲取其他內容,可以使用POST($ _POST)或GET($ _ GET)請求將詳細信息發送回服務器。 通常,在執行搜索時,將使用GET。 如果要執行更新或創建,則應使用POST。
因此,您的頁面URL可能類似於http://mywebsite.dev/ajax.php?select=apples (其中mywebsite.dev是開發URL)。 如果您有一張蘋果類型表,則您的MySQL查詢將是:
$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對象返回給瀏覽器:
$return = Array(
0 => 'Pink Lady',
1 => 'Sundowner',
2 => 'Granny Smith',
...
);
$json = json_encode($return);
// expected result
{['Pink Lady'],['Sundowner'],['Granny Smith']};
您總是可以為數組(多維)提供額外的索引,也可以使用stdClass來提供更好的結構。
然后在Javascript中,使用for循環遍歷json對象以構建新的選項列表。
var output = '';
for (var i = 0, k = json.length; i < k; i++) {
output += '<option value="' + json[i] + '">' + json[i] + '</option>';
}
希望能有所幫助。
嗨,您需要使用ajax。 嘗試:
index.php代碼:該腳本將從使用jquery的數據中獲取數據,並通過ajax將其發布到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;
}
?>
如果可以幫助您,請不要忘記接受答案。 :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.