如何从php将执行的查询返回到$.ajax数据
我有一段代码可以将变量发布到php:如何从php将执行的查询返回到$.ajax数据,php,jquery,mysql,Php,Jquery,Mysql,我有一段代码可以将变量发布到php: $(document).ready(function() { $('ul.sub_menu a').click(function() { var txt = $(this).text(); //console.log("you clicked"+txt); $.ajax({ type: 'POST', url: 'thegamer.php',
$(document).ready(function() {
$('ul.sub_menu a').click(function() {
var txt = $(this).text();
//console.log("you clicked"+txt);
$.ajax({
type: 'POST',
url: 'thegamer.php',
data: {send_txt: txt},
success: function( data ){
//now echo the data where you want
// for example
//$('#result').html( data );
// or you can see in on firebug
console.log( 'Return:' + data );
}
});
});
});
获取请求的php:
<?php
include 'dbconnect.php';
$q=$_REQUEST['send_txt'];
//echo $q;
$sql="select imgurl from images where family='shoes'";
$result = mysql_query($sql);
include 'dbclose.php';
?>
如何将数据返回到ajax请求?执行以下操作:
$arr = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$arr[] = $row['your_column'];
}
echo json_encode($arr); // this json_encoded result can be obtained from data parameter of ajax success function
//and in ajax
$(document).ready(function() {
$('ul.sub_menu a').click(function() {
var txt = $(this).text();
//console.log("you clicked"+txt);
$.ajax({
type: 'POST',
url: 'thegamer.php',
data: {send_txt: txt},
success: function( data ){
alert(data); // this will hold your $result value
console.log( 'Return:' + data );
}
});
});
});
您的代码没有多大意义,但您会问“如何将内容返回到ajax?”您可以简单地使用
echo
关键字将数据返回到客户端。Hm,我建议您在尝试之前了解更多有关Javascript、JQuery、ajax和PHP的信息。看来你不知道该怎么做
我将从W3学校开始为您指出正确的方向(虽然肯定不是最好的资源,但这是一个良好的开端):
话虽如此,这是一个通用的示例,使用您的信息,说明如何进行AJAX/服务器响应。我发布这篇文章是为了让您可以从这段代码中学到一些东西,因为它确实满足了您的要求: Javascript
$(document).ready(function() {
$('#element').click(function() {
//Get data to be sent to server
//var sFamily = $("#family_search").text();
//var sFamily = $(this).text();
var sFamily = "family";
$.ajax({
type: 'POST',
url: 'thegamer.php',
data: {family: sFamily },
success: function(response){
//Use response
//alert("Server echo: "+response);
$("#output_element").html(response);
},
error: function(msg){
alert("Error: "+msg);
}
});
});
});
PHP文件“thegamer.PHP”
真的吗?你怎么能echo
一个mysql资源呢?是的,它只是一个资源@shef r u,在这里让我们感到谦卑或给我们一个想法。他返回了一个获取结果的json_编码。那么如何显示正确的data@sajid我在这里是因为我喜欢帮助那些在学习上表现出努力的人。如果你不懂代码,在你还没有开始学习基础知识的情况下,我怎么能说代码呢?我懂了,但同样的内容在那里被打印出来了resource=5你发布的PHP不应该返回任何文本,echo命令被注释掉了。我认为您在dbconnect.php
中有一些调试代码,因为在连接对象上调用var\u dump()
时通常会显示resource=5
。请看这篇文章以了解正确的方法。thanx这对我帮助很大
<?php
//Credentials
$server = "localhost";
$user = "root";
$password ="admin";
$db = "dbo";
//Connect
$link = mysql_connect($server, $user, $password);
//Select database
mysql_select_db($db, $link);
//Assemble query
$family = mysql_real_escape_string($_POST['family'], $link);
$query = "SELECT imgurl FROM images WHERE family='$family'";
//Query database
$result = mysql_query($query, $link);
//Output result, send back to ajax as var 'response'
echo "<table>";
if(mysql_num_rows($result) > 0){
//Fetch rows
while($row = mysql_fetch_array($result)){
echo "<tr><td>".$row['imgurl']."</td></tr>";
}
}else{
echo "<tr><td>No results matching family \"$family\"</td></tr>";
}
echo "</table>";
//mysql_free_result($result)
//mysql_close($link);
?>