복붙노트

Jquery Ajax를 사용하여 MySQL에서 데이터 검색

PHP

Jquery Ajax를 사용하여 MySQL에서 데이터 검색

list.php : Mysql 테이블의 레코드 만 표시하려는 간단한 Ajax 코드 :

<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는 MySQL에서 레코드를 가져 오는 파일입니다. 데이터베이스에는 '이름', '주소'의 두 필드 만 있습니다.

        <?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>";
                }   

                ?> 

이 코드는 작동하지 않습니다.

해결법

  1. ==============================

    1.Ajax + jQuery를 사용하여 데이터를 검색하려면 다음 코드를 작성해야합니다.

    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>
    

    mysqli 연결의 경우 다음과 같이 작성한다.

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

    데이터베이스의 데이터를 표시하려면 다음과 같이 작성해야합니다.

    <?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. ==============================

    2.아약스 반환 값을 반환 할 수 없습니다. 글로벌 변수를 저장하면 반환 후에 반환 값을 저장합니다. 또는 이와 같은 ur 코드를 변경하십시오.

    아약스 반환 값을 반환 할 수 없습니다. 글로벌 변수를 저장하면 반환 후에 반환 값을 저장합니다. 또는 이와 같은 ur 코드를 변경하십시오.

    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. ==============================

    3.$ row [1], $ row [2]에 올바른 값이 포함되어 있는지 확인하십시오. 여기서 1 = Name이고 2는 귀하의 Address 필드입니까?

    $ row [1], $ row [2]에 올바른 값이 포함되어 있는지 확인하십시오. 여기서 1 = Name이고 2는 귀하의 Address 필드입니까?

    Records.php에서 레코드를 올바르게 가져 왔다고 가정하면 다음과 같이 할 수 있습니다.

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

    귀하의 HTML

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

    작은 메모 :

    mysql_ * 함수가 더 이상 권장되지 않으므로 PDO http://php.net/manual/en/class.pdo.php를 실행 해보십시오.

  4. ==============================

    4.

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

    될 필요가있다:

    $(document).ready(function(){
    
         $.ajax({ type: "GET",   
             url: "Records.php",   
             async: false,
             success : function(text)
             {
                 alert(text);
             }
        });
    
    });
    
  5. from https://stackoverflow.com/questions/16707648/using-jquery-ajax-to-retrieve-data-from-mysql by cc-by-sa and MIT license