我正在开发一个包含下拉选择按钮的php页面。在更改其值时,我正在调用javascript方法并传递在下拉列表中选择的值。现在我想使用传递的值来使用PHP从MySql获取更多细节。如何使用javascript编写PHP代码? 我是PHP的初学者。建议我这样做一个简单而容易的方法
答案 0 :(得分:0)
对于下拉列表的onchange事件,您可以使用ajax调用php页面并传递params并获取输出。
答案 1 :(得分:0)
尝试使用像this这样的ajax(http://www.w3schools.com/php/php_ajax_database.asp) 和this(http://coursesweb.net/ajax/multiple-select-dropdown-list-ajax_t)
答案 2 :(得分:0)
前端客户端脚本(Javascript)无法直接调用'或运行PHP代码。这是因为网页的客户端(浏览器)和服务器端(服务器)组件之间的分离。当您向服务器发出正常请求以返回页面(例如index.html)时,它将返回页面内容并终止执行。
你想要实现的是一种叫做AJAX的东西,在Wikipedia上有描述。还有一个非常好的基本示例,说明如何从Javascript运行PHP脚本。
基本而言,AJAX是网页服务器端组件的异步执行。你可以定位一个页面' test.php'使用ajax请求,与在浏览器中打开页面时的情况大致相同,并且将返回页面内容。
要获取其他内容,您可以使用POST($ _POST)或GET($ _ GET)请求将详细信息发送回服务器。通常,当您执行搜索时,您将使用GET。如果您正在执行更新或创建,则可以使用POST。
因此,您的网页网址可能类似于http://mywebsite.dev/ajax.php?select=apples(其中mywebsite.dev是开发网址)。如果你有一个苹果类型表,你的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>';
}
希望有所帮助。
答案 3 :(得分:0)
嗨,你需要使用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成功方法。您可以在任何容器中填写retrun结果。
<?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;
}
?>
如果对你有帮助,别忘了接受答案。 :)