首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PHP、MySQL和AJAX的Live搜索框

问使用PHP、MySQL和AJAX的Live搜索框
EN

Stack Overflow用户
提问于 2018-02-05 17:45:23
回答 2查看 904关注 0票数 0

我正在尝试做一个搜索框来显示来自MYSQL/PHP的“地址”

我曾经使用ajax刷新页面而不离开页面,但当我在浏览器中运行时,它总是给我一个错误。使用控制台时,echo $_POST‘’name‘=( header.php的html代码+ "What I need“+ footer.php的html代码)

代码语言:javascript
复制
<?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';

    } 

?>
EN

回答 2

Stack Overflow用户

发布于 2018-02-05 19:25:00

你的问题不是很清楚...如果我没理解错的话。这是被设计破坏的,你调用页面本身并用整个页面的内容更新#name,这就是为什么你会看到html +“你需要什么”(响应):响应就是整个页面。

正确的方法是移动PHP代码的第二部分(在这里执行查询ecc)。然后通过将新脚本的名称作为url参数放入ajax调用中来调用该新脚本。

票数 0
EN

Stack Overflow用户

发布于 2018-02-05 21:38:27

感谢您的回复,我想使用ajax返回的值与MYSQL/PHP一起回显$row‘’Address‘;如果我移动PHP代码的第二部分,结果是echo $_POST’‘name’=( "What I need“+ footer.php的html代码)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48619615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档