如何从php将执行的查询返回到$.ajax数据

如何从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',

我有一段代码可以将变量发布到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学校开始为您指出正确的方向(虽然肯定不是最好的资源,但这是一个良好的开端):

这里有一些关于JQuery的更多信息

更具体地说

这就是你的感受


话虽如此,这是一个通用的示例,使用您的信息,说明如何进行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);
?>