使用Jquery Ajax从Mysql检索数据

时间:2022-09-25 23:16:55

list.php: A simple ajax code that I want to display only records of the Mysql table:

列表。php:一个简单的ajax代码,我只想显示Mysql表的记录:

<html>
        <head>
        <script src="jquery-1.9.1.min.js">
        </script>

        <script>
        $(document).ready(function(){
        var response = '';
        $.ajax({ type: "GET",   
                 url: "Records.php",   
                 async: false,
                 success : function(text)
                 {
                     response = text;
                 }
        });

        alert(response);
        });
        </script>
        </head>
        <body>

        <div id="div1"><h2>Let jQuery AJAX Change This Text</h2>  </div>
        <button>Get Records</button>

        </body>
        </html>

Records.php is the file to fetch records from Mysql.
In the Database are only two fields: 'Name', 'Address'.

记录。php是从Mysql获取记录的文件。在数据库中只有两个字段:“Name”、“Address”。

        <?php
                //database name = "simple_ajax"
                //table name = "users"

                $con = mysql_connect("localhost","root","");
                $dbs = mysql_select_db("simple_ajax",$con);
                $result= mysql_query("select * from users");
                $array = mysql_fetch_row($result);
                ?>
                    <tr>
                    <td>Name: </td>
                    <td>Address: </td>
                    </tr>


                <?php

                while ($row = mysql_fetch_array($result))
                 {

                    echo "<tr>";
                    echo "<td>$row[1]</td>";
                    echo "<td>$row[2]</td>";
                    echo "</tr>";
                }   

                ?> 

This code is not working.

这段代码不起作用。

4 个解决方案

#1


48  

For retrieving data using Ajax+jQuery, you must write the following code:

要使用Ajax+jQuery检索数据,必须编写以下代码:

 <html>
 <script type="text/javascript" src="jquery-1.3.2.js"> </script>

 <script type="text/javascript">

 $(document).ready(function() {

    $("#display").click(function() {                

      $.ajax({    //create an ajax request to display.php
        type: "GET",
        url: "display.php",             
        dataType: "html",   //expect html to be returned                
        success: function(response){                    
            $("#responsecontainer").html(response); 
            //alert(response);
        }

    });
});
});

</script>

<body>
<h3 align="center">Manage Student Details</h3>
<table border="1" align="center">
   <tr>
       <td> <input type="button" id="display" value="Display All Data" /> </td>
   </tr>
</table>
<div id="responsecontainer" align="center">

</div>
</body>
</html>

For mysqli connection, write this:

对于mysqli连接,请这样写:

<?php 
$con=mysqli_connect("localhost","root",""); 
if (!$con)
{
    die('Could not connect: ' . mysqli_error());
}   
?>

For displaying the data from database, you must write this :

要显示来自数据库的数据,必须写以下内容:

<?php
include("connection.php");
mysqli_select_db("samples",$con);
$result=mysqli_query("select * from student",$con);

echo "<table border='1' >
<tr>
<td align=center> <b>Roll No</b></td>
<td align=center><b>Name</b></td>
<td align=center><b>Address</b></td>
<td align=center><b>Stream</b></td></td>
<td align=center><b>Status</b></td>";

while($data = mysqli_fetch_row($result))
{   
    echo "<tr>";
    echo "<td align=center>$data[0]</td>";
    echo "<td align=center>$data[1]</td>";
    echo "<td align=center>$data[2]</td>";
    echo "<td align=center>$data[3]</td>";
    echo "<td align=center>$data[4]</td>";
    echo "</tr>";
}
echo "</table>";
?>

#2


4  


You can't return ajax return value. You stored global variable store your return values after return.
Or Change ur code like this one.

不能返回ajax返回值。您存储的全局变量在返回后存储返回值。或者像这样改变你的代码。

AjaxGet = function (url) {
    var result = $.ajax({
        type: "POST",
        url: url,
       param: '{}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
       async: false,
        success: function (data) {
            // nothing needed here
      }
    }) .responseText ;
    return  result;
}

#3


2  

Please make sure your $row[1] , $row[2] contains correct value, we do assume here that 1 = Name , and 2 here is your Address field ?

请确保您的$row[1], $row[2]包含正确的值,我们假设这里是1 = Name,这里2是您的地址字段?

Assuming you have correctly fetched your records from your Records.php, You can do something like this:

假设你从你的记录中获取了正确的记录。php,你可以这样做:

$(document).ready(function()
{
    $('#getRecords').click(function()
    {
        var response = '';
        $.ajax({ type: 'POST',   
                 url: "Records.php",   
                 async: false,
                 success : function(text){
                               $('#table1').html(text);
                           }
           });
    });

}

In your HTML

在你的HTML

<table id="table1"> 
    //Let jQuery AJAX Change This Text  
</table>
<button id='getRecords'>Get Records</button>

A little note:

一个小提示:

Try learing PDO http://php.net/manual/en/class.pdo.php since mysql_* functions are no longer encouraged..

尝试学习PDO http://php.net/manual/en/class.pdo.php,因为mysql_*函数不再受鼓励。

#4


1  

$(document).ready(function(){
    var response = '';
    $.ajax({ type: "GET",   
         url: "Records.php",   
         async: false,
         success : function(text)
         {
             response = text;
         }
    });

    alert(response);
});

needs to be:

需要:

$(document).ready(function(){

     $.ajax({ type: "GET",   
         url: "Records.php",   
         async: false,
         success : function(text)
         {
             alert(text);
         }
    });

});

#1


48  

For retrieving data using Ajax+jQuery, you must write the following code:

要使用Ajax+jQuery检索数据,必须编写以下代码:

 <html>
 <script type="text/javascript" src="jquery-1.3.2.js"> </script>

 <script type="text/javascript">

 $(document).ready(function() {

    $("#display").click(function() {                

      $.ajax({    //create an ajax request to display.php
        type: "GET",
        url: "display.php",             
        dataType: "html",   //expect html to be returned                
        success: function(response){                    
            $("#responsecontainer").html(response); 
            //alert(response);
        }

    });
});
});

</script>

<body>
<h3 align="center">Manage Student Details</h3>
<table border="1" align="center">
   <tr>
       <td> <input type="button" id="display" value="Display All Data" /> </td>
   </tr>
</table>
<div id="responsecontainer" align="center">

</div>
</body>
</html>

For mysqli connection, write this:

对于mysqli连接,请这样写:

<?php 
$con=mysqli_connect("localhost","root",""); 
if (!$con)
{
    die('Could not connect: ' . mysqli_error());
}   
?>

For displaying the data from database, you must write this :

要显示来自数据库的数据,必须写以下内容:

<?php
include("connection.php");
mysqli_select_db("samples",$con);
$result=mysqli_query("select * from student",$con);

echo "<table border='1' >
<tr>
<td align=center> <b>Roll No</b></td>
<td align=center><b>Name</b></td>
<td align=center><b>Address</b></td>
<td align=center><b>Stream</b></td></td>
<td align=center><b>Status</b></td>";

while($data = mysqli_fetch_row($result))
{   
    echo "<tr>";
    echo "<td align=center>$data[0]</td>";
    echo "<td align=center>$data[1]</td>";
    echo "<td align=center>$data[2]</td>";
    echo "<td align=center>$data[3]</td>";
    echo "<td align=center>$data[4]</td>";
    echo "</tr>";
}
echo "</table>";
?>

#2


4  


You can't return ajax return value. You stored global variable store your return values after return.
Or Change ur code like this one.

不能返回ajax返回值。您存储的全局变量在返回后存储返回值。或者像这样改变你的代码。

AjaxGet = function (url) {
    var result = $.ajax({
        type: "POST",
        url: url,
       param: '{}',
        contentType: "application/json; charset=utf-8",
        dataType: "json",
       async: false,
        success: function (data) {
            // nothing needed here
      }
    }) .responseText ;
    return  result;
}

#3


2  

Please make sure your $row[1] , $row[2] contains correct value, we do assume here that 1 = Name , and 2 here is your Address field ?

请确保您的$row[1], $row[2]包含正确的值,我们假设这里是1 = Name,这里2是您的地址字段?

Assuming you have correctly fetched your records from your Records.php, You can do something like this:

假设你从你的记录中获取了正确的记录。php,你可以这样做:

$(document).ready(function()
{
    $('#getRecords').click(function()
    {
        var response = '';
        $.ajax({ type: 'POST',   
                 url: "Records.php",   
                 async: false,
                 success : function(text){
                               $('#table1').html(text);
                           }
           });
    });

}

In your HTML

在你的HTML

<table id="table1"> 
    //Let jQuery AJAX Change This Text  
</table>
<button id='getRecords'>Get Records</button>

A little note:

一个小提示:

Try learing PDO http://php.net/manual/en/class.pdo.php since mysql_* functions are no longer encouraged..

尝试学习PDO http://php.net/manual/en/class.pdo.php,因为mysql_*函数不再受鼓励。

#4


1  

$(document).ready(function(){
    var response = '';
    $.ajax({ type: "GET",   
         url: "Records.php",   
         async: false,
         success : function(text)
         {
             response = text;
         }
    });

    alert(response);
});

needs to be:

需要:

$(document).ready(function(){

     $.ajax({ type: "GET",   
         url: "Records.php",   
         async: false,
         success : function(text)
         {
             alert(text);
         }
    });

});