php - 用 PHP 文件中的内容替换 div 内容

标签 php html ajax pdo form-submit

这是包含新内容的 php 文件,用于在提交表单时替换 .hotels。

    <?php
     if(isset($_POST['submit'])){
        $pdo = new PDO('mysql:host=localhost;dbname=CSV_DB', 'root', 'root');

        $inputType = $_POST['type'];
        $inputCategory = $_POST['category'];
        $type = $pdo->query("SELECT * FROM Hotels WHERE Type LIKE '%$inputType%' AND Price_Range= '$inputCategory'");
        foreach($type as $row){
            echo"<div id='newHotels'>";
            echo "<div class='hotelImage'></div>";
            echo'<h4>'.$row['Hotel_Name']." ".$row['Rating']."*".'</h4>'." ".'<p>'.$row['Description'].'</p>'." "."Location: ".$row['Location']." ".'<h4 style="font-weight: bold">'."£".$row['Price']."p/p".'</h4>';
            echo "</div>";}
        }

    ?>

这是在页面加载时显示数据库中所有酒店的原始 div,我想在提交表单时用新内容替换它:

    <div id="hotels">
    <?php
        $pdo = new PDO('mysql:host=localhost;dbname=CSV_DB', 'root', 'root');
        $display = $pdo->query('SELECT Hotel_Name, Description, Location, Rating, Price FROM Hotels');
      foreach ($display as $row){
        if($row)
            echo"<div id='hotel'>";
            echo "<div class='hotelImage'></div>";
            echo'<h4>'.$row['Hotel_Name']." ".$row['Rating']."*".'</h4>'." ".'<p>'.$row['Description'].'</p>'." "."Location: ".$row['Location']." ".'<h4 style="font-weight: bold">'."£".$row['Price']."p/p".'</h4>';
            echo "</div>";}

    ?>

   </div>

这是应该更改内容的 Ajax

        $(function () {
            $('form').on('submit', function (e) {
            e.preventDefault();

            $.ajax({
               type: 'post',
               url: 'form.php',
               data: $('form').serialize(),
               success: function(data) {
                   $(".hotels").html(data);
                   }
               });

           });

       });

当表单提交时,我需要帮助将 .hotels 的内容替换为我的表单的搜索结果,但是 div 只是变空了。我想我需要使数据等于搜索结果,但不确定如何去做。

最佳答案

submitted the console log says data is not defined.

您需要在成功函数中定义数据。

$(function () {
    $('form').on('submit', function (e) {
    e.preventDefault();

    $.ajax({
       type: 'post',
       url: 'form.php',
       data: $('form').serialize(),
       success: function(data) { /* you missed variable data here */
           $("#hotel").html(data);
           }
       });

   });

 });

关于php - 用 PHP 文件中的内容替换 div 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42874990/

相关文章:

php - 在 PHP 中打印可调用的名称或定义

html - 无法将图片置于背景中

javascript - 动态加载的JavaScript可以卸载吗?

javascript - JQuery 选择 AJAX

PHP - 使用循环重新排序

php - 使用 PHP 和 MySQL 作为桌面应用程序

javascript - 强制 !important 类与 js-jquery

javascript - 如何在 dropzone.js 中设置上传按钮

javascript - CSS 列数 - 水平对齐 - 砌体网格

javascript - 网站上的异步评论