簡體   English   中英

使用PHP,MySQL和AJAX的實時搜索框

[英]Live Search Box Using PHP, MySQL and AJAX

我正在嘗試創建一個搜索框,以顯示來自MYSQL / PHP的“地址”

我曾經使用ajax刷新頁面而不離開頁面,但是當我在瀏覽器中運行時,它總是給我一個錯誤。 當我使用控制台時,echo $ _POST ['name']的返回結果=(header.php的html代碼+“我需要什么” + footer.php的html代碼)

<?php

        include 'header.php';
        include 'Connect.php';

        if( isset($_POST['ajax']) && isset($_POST['name']) ){
        echo $_POST['name'];
        exit;
        }
?>

        <form method="POST">
                <label>Username</label>
                <input type="text" name="name" required="required" id='name'>
                <div id='response'></div>
        </form>

  <script>
  $(document).ready(function(){
    $('#name').keyup(function(){
     var name = $('#name').val();

     $.ajax({
      type: 'post',
       url: index.php,
      data: {ajax: 1,name: name},
      success: function(response){
       $('#response').text(response);
      }
     });
    });
  });
  </script>

<?php

    if(isset($_POST['name'])){
    $username = $_POST['name'];
    $stmt = $con->prepare("SELECT Username, FullName, Adresse, Email, Phone FROM dbo.users WHERE Username= ?");
    $stmt->execute(array($username));

        while($row=$stmt->fetch(PDO::FETCH_ASSOC))
                            {
                    $Username = $row["Username"];    
                    $FullName = $row["FullName"];
                    $Adresse = $row["Adresse"];
                    $Email = $row["Email"];
                    $Phone = $row["Phone"];

                    echo "<tr>
                    <div>
                        <td>".$Username."</td>
                        <td>".$FullName."</td>
                        <td>".$sEID."</td>
                        <td>".$Email."</td>
                        <td>".$Phone."</td>
                    </div>
                        </tr>";
                } 
        echo "</table>
        </div>";
} else echo '<div class="alert alert-danger"> This Name <strong>is not exit</strong></div>';

        include $tpl.'footer.php';

    } 

?>

您的問題不是很清楚...如果我理解正確...這是設計使然,您正在調用頁面本身並使用整個頁面的內容更新#name,這就是為什么您看到html +“您需要的”(響應):響應是整個頁面。

正確的方法是將PHP代碼的第二部分(在其中執行查詢等)移動到單獨的腳本上,然后通過將其名稱作為url參數放在ajax調用中來調用該新腳本。

謝謝您的回復,我想使用ajax返回的值與MYSQL / PHP一起使用,以回顯$ row ['Address']; 如果我移動PHP代碼的第二部分,則結果為echo $ _POST ['name'] =(“我需要什么” + footer.php的html代碼)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM