php - MySQL 在执行 AJAX 调用时没有检索任何内容,jquery 也不再工作

标签 php jquery mysql ajax

我有一个包含用户的表,我希望当管理员单击用户时,底部会显示一个框,其中包含我所做的用户信息,该框显示并且 AJAX 调用从其他页面(html/)检索代码文本,但如果我使用 mysql 查询用数据库中的用户信息填充字段,则字段中不会显示任何内容。例如:

UserID: 3 - 将正确显示 但
用户ID:<?php echo $row[Account]; ?> - 仅显示为 UserID:(空)

另外,当管理员单击该框中的复选框时,我有一个 jQuery 来显示一个字段,它工作正常,直到将代码放在其他页面并使用 AJAX 调用它,现在它不再工作了.

包含代码的其他文件:

<?php
include('../connect.php');
session_start();

  if(!empty($_POST['id'])){

    $dataID = $_POST['id'];
    $accountsAwaitingSQL = "SELECT `ID`, `Account`, `AccountID`, `Email`, `Answer1`, `Answer2`, `Answer3`, `Date` FROM AccountsAwaiting WHERE ID = $dataID";
    $accountsAwaitingResult = mysqli_query($db, $accountsAwaitingSQL);
    $accountsAwaitingRow_cnt = mysqli_num_rows($accountsAwaitingResult);

    $accountArray = array();
        while($row = mysqli_fetch_assoc($accountsAwaitingResult)){
            $accountArray[] = $row;
        }

      foreach($accountArray as $datum){
      echo json_encode("
      <form id='userAnswersForm'>
      <center>
        <b>Account Name</b>: <i><?php echo $datum[Account]; ?></i>.&nbsp; &nbsp; &nbsp; &nbsp;
        <b>Account ID</b>: <i>25</i>.&nbsp; &nbsp; &nbsp; &nbsp;
        <b>Account E-Mail</b>: <i>somedude@hotmail.com</i>.
      </center>
        <hr />

      <center>
        <b><u>Character Story</u></b><br />
        <label class='form-check-label'>
        <input type='checkbox' id='answerOneReasonCheck' class='form-check-input'>
        <small>Check this box if answer is wrong</small>
        </label>
        <div class='form-group' id='answerOneReason1' style='display:none; max-width:350px;'>
          <label for='answerOneReason'>Reason</label>
          <input type='text' class='form-control' id='answerOneReason' maxlength='250' name='answerOneReason'>
        </div>
        <blockquote><small>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus laoreet scelerisque consectetur. Nunc aliquam condimentum nunc, eget rhoncus ipsum ornare sed. Aenean arcu nunc, blandit ac arcu sit amet, euismod accumsan nisl. Cras vehicula odio erat, et scelerisque quam mollis eget. Suspendisse quis orci ullamcorper, suscipit mauris sit amet, posuere nunc. Integer pellentesque, arcu scelerisque cursus malesuada, lectus mauris fermentum elit, ac eleifend purus dolor et lectus. Curabitur dui justo, bibendum non gravida in, dignissim rutrum mauris.</small></blockquote>
        <br /><br />
        <b><u>Please explain our rules for Sexual Roleplay and Robbery</u></b><br />
        <label class='form-check-label'>
        <input type='checkbox' id='answerTwoReasonCheck' class='form-check-input'>
        <small>Check this box if answer is wrong</small>
        </label>
        <div class='form-group' id='answerTwoReason2' style='display:none; max-width:350px;'>
          <label for='answerTwoReason'>Reason</label>
          <input type='text' class='form-control' id='answerTwoReason' maxlength='250' name='answerTwoReason'>
        </div>
        <blockquote><small>Duis dignissim sit amet metus et sagittis. Vivamus hendrerit finibus maximus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Donec cursus felis id libero iaculis efficitur. Maecenas tempus eleifend neque. Vestibulum pellentesque lectus eget erat interdum lacinia. Etiam metus libero, tempor eu sem in, convallis faucibus dui. Ut iaculis vehicula est vitae facilisis. Cras vitae nisl ante. In interdum fermentum mauris, et blandit dolor vulputate sed. Donec luctus tincidunt velit, et molestie nibh egestas ac. Proin fringilla ornare fermentum. Vivamus id massa dignissim, ullamcorper ipsum ut, interdum erat. Proin congue dictum enim, lacinia egestas risus auctor nec. Donec et elementum justo. Donec ut diam a lorem sollicitudin maximus.</small></blockquote>
        <br /><br />
        <b><u>Write the definition of Meta Gaming and Power Gaming along with two examples for each</u></b><br />
        <label class='form-check-label'>
        <input type='checkbox' id='answerThreeReasonCheck' class='form-check-input'>
        <small>Check this box if answer is wrong</small>
        </label>
        <div class='form-group' id='answerThreeReason3' style='display:none; max-width:350px;'>
          <label for='answerThreeReason'>Reason</label>
          <input type='text' class='form-control' id='answerThreeReason' maxlength='250' name='answerThreeReason'>
        </div>
        <blockquote><small>Duis pharetra, erat sed tincidunt rhoncus, tellus neque laoreet augue, aliquet convallis nisi nunc eget ante. Fusce vitae justo sed elit congue auctor at et magna. In euismod iaculis eros, eu scelerisque nibh malesuada ut. Aliquam aliquet dolor sapien, a rhoncus neque accumsan ac. Pellentesque facilisis pulvinar turpis, non finibus enim. Suspendisse et massa ut dolor congue dapibus. Duis porttitor tempor ultricies. Sed luctus arcu arcu, vel elementum risus egestas vel. Vivamus vel hendrerit ligula. Fusce vel augue vestibulum, mattis nulla in, vehicula mi. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nam at tellus scelerisque, convallis neque non, eleifend eros. Aliquam sed velit et velit congue maximus.</small></blockquote>
        <br />
        <div class='form-group' style='max-width:350px;'>
          <label for='answerTwoReason'>Reason visible to other Admins</label>
          <input type='text' class='form-control' id='answerTwoReason' maxlength='180'  name='answerTwoReason'>
        </div>
        <center>
          <p>
            <span style='color:orange'>If all the answers are good then don't check any checkbox, if you spot an answer to be wrong
            then please check the box that is under its title and type in the reason for that answer.
            Even if there are no answers wrong you still need to enter a Reason for Admins, if all answers are good then just say something that you think about that player, for example say if you think that the answers are copied or not, if he did very well or not etc.</span>
          </p>
        </center>
        <button type='submit' class='btn btn-block btn-primary'>Submit</button>
      </center>
      </form>
      ");
    }
  }

?>

正如您在上面的代码中看到的,除了 Account Name: 之外的所有内容都会显示在首页上。它将显示为 Account Name:.而不是在那里显示帐户名,因此 mysql 没有选择任何内容...

这是ajax代码:

$(document).ready(function(){
    $("#rowID").click(function(){
        var id = $(this).attr("data-id");

        $.ajax({
            type: "POST",
            dataType: "json",
            contentType:"application\json;charset=utf-8",
            url: "get-data.php",
            data: {id:id},
            success: function(result){
                $("#bodyDisplay").html(result);
            }
        });
    });
});

这是显示复选框的代码,如果我在 get-data.php 文件中有该复选框,则该复选框不起作用。

$('#answerOneReasonCheck').click(function(){
    $("#answerOneReason1").toggle(this.checked);
});

$('#answerTwoReasonCheck').click(function(){
    $("#answerTwoReason2").toggle(this.checked);
});

$('#answerThreeReasonCheck').click(function(){
    $("#answerThreeReason3").toggle(this.checked);
});

上面的代码位于accounts.php 文件中,复选框位于get-data.php 中,但我回显accounts.php 文件中的复选框,因此它应该可以工作:?

编辑1

我检查了控制台,看到了这个:

error404.000webhost.com/:1 Uncaught SyntaxError: Unexpected token <
error404.000webhost.com/:1 Uncaught SyntaxError: Unexpected token <
error404.000webhost.com/:1 Uncaught SyntaxError: Unexpected token <
DevTools failed to parse SourceMap: http://zgaming.comxa.com/pages/dist/purify.min.js.map

编辑2

通过删除 <?php echo ?> 来修复它只需使用 $datum[ ]

但是复选框的 jQuery 仍然无法工作。

编辑3

我现在在控制台中收到此错误 Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://error404.000webhost.com/?".

最佳答案

更改此声明

<b>Account Name</b>: <i><?php echo $datum[Account]; ?></i>.&nbsp; &nbsp; &nbsp; &nbsp;

<b>Account Name</b>: <i>$datum[Account]</i>.&nbsp; &nbsp; &nbsp; &nbsp;

希望对您有帮助!祝一切顺利!

关于php - MySQL 在执行 AJAX 调用时没有检索任何内容,jquery 也不再工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43679218/

相关文章:

php - 命令在 php 中恢复 mysql 数据库备份

PHP 似乎无法识别 $this 变量

javascript - 表单提交不起作用

PHP cURL HTTP GET XML 格式

jquery - 为多个子 div 创建父 div - Jquery

jQuery 如果在字符串中找到

mysql - 如何用旧值+新值更新表?

php - 无法动态更新 mySQL 的数字和字符串值

javascript - 想知道如何在 jquery 或 JS 中实现类似于 *ngFor/ng-repeat 的东西

mysql - 在mysql中将CHAR转换为日期