【问题标题】:Live Search Box Using PHP, MySQL and AJAX使用 PHP、MySQL 和 AJAX 的实时搜索框
【发布时间】:2018-02-05 09:45:22
【问题描述】:

我正在尝试创建一个搜索框来显示来自 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';

    } 

?>

【问题讨论】:

  • 如果有错误信息,请添加到问题中
  • url 键添加到 ajax 调用
  • 返回结果 $_POST['name'] = (header.php 和 Connect.php html 代码 + "我需要什么") $_POST['name'] = ....
    "和我用 Ajax 搜索的内容"

标签: javascript php jquery ajax onkeyup


【解决方案1】:

您的问题不是很清楚...如果我理解正确...这是设计使然,您正在调用页面本身并使用整个页面的内容更新#name,这就是您看到html的原因+ “你需要什么”(响应):响应是整个页面。

这样做的正确方法是将 PHP 代码的第二部分(在其中执行查询 ecc。)移动到单独的脚本上,然后通过将其名称作为 ajax 调用中的 url 参数来调用该新脚本.

【讨论】:

  • 您好 Francesco,感谢您的回应,我想使用 ajax 返回的值与 MYSQL/PHP 一起使用来回显 $row['Address'];如果我移动 PHP 代码的第二部分,结果是 echo $_POST['name'] = ("What I need" + html code of footer.php)
  • 当然你只需要移动到其他脚本相关的代码,我想foo​​ter.php是主index.php的一部分,所以它仍然必须包含在其中。
  • 嗨 Francesco,谢谢你的回应,我想打印人员表,如果我移动 PHP 的第二部分,则表包含在此代码中
【解决方案2】:

感谢您的回应,我想使用 ajax 返回的值与 MYSQL/PHP 一起使用来回显 $row['Address']; 如果我移动 PHP 代码的第二部分,结果是 echo $_POST['name'] = ("我需要什么" + footer.php的html代码)

【讨论】:

    猜你喜欢
    • 2017-09-13
    • 2012-06-11
    • 2016-05-09
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多