dongzhi9032 2017-11-25 22:51
浏览 75
已采纳

使用JSON打印sql表

I want to print all sql table and show them in html table. I am new in php, JSON and AJAX. I send username successfully and get result in php. I think there is a problem in JSON part or AJAX. Can anyone help me?

index.php

<div class="col-lg-6">
  <p id="usr" style="color:gray; font-size: 48px;"></p>
  <script type="text/javascript">

      var usr = document.getElementById("dom-target");
      var username = usr.textContent;
      username = username.trim().replace(/ /g, '%20');
      document.getElementById("usr").innerHTML = username;
      var sendtophp = "username="+username;

      $.ajax({
        type: "POST",
        url: "getcoursetable.php",
        data: sendtophp,
        dataType:"json",
        success: function(response) {
          console.log(response);
          var trhtml ='';
          document.getElementById("demo").innerHTML = response;
          $.each(response, function (i, item) {
              trHTML += '<tr><td>' + item.cname + '</td><td>' + item.subject + '</td><td>' + item.course + '</td><td>'+ item.grade + '</td></tr>';
          });
          $('#results').append(trHTML);
        }
      });

  </script>
  <table id="results"></table>
</div>

getcoursetable.php

<?php
  include_once "connection.php";

  if(isset($_POST["username"])){
    $nick = $_POST["username"];

    $prep = "SELECT * FROM `enrolledtable` WHERE nickname='$nick'";

    $results = mysqli_query($con, $prep);

    $jsonData = array();
    while ($row = $results->fetch_row()) {
        $jsonData[] = $row;
    }
    echo json_encode($jsonData);
      }
 ?>

Now, I can print data but not like a table, like that

<p id="demo">denemee,CS,300,B,denemee,CS,301,B ,denemee,CS,305,B ,denemee,CS,307,B,denemee,CS,408,A-,denemee,IE,208,B ,denemee,MATH,306,B</p>
  • 写回答

3条回答 默认 最新

  • duan32342 2017-11-26 00:12
    关注

    I solve my problem. This can take table in php and create html table.

    index.php

    <div class="col-lg-6">
      <p id="usr" style="color:gray; font-size: 48px;"></p>
      <script type="text/javascript">
    
          var usr = document.getElementById("dom-target");
          var username = usr.textContent;
          username = username.trim().replace(/ /g, '%20');
          document.getElementById("usr").innerHTML = username;
          var sendtophp = "username="+username;
    
          $.ajax({
            type: "POST",
            url: "getcoursetable.php",
            data: sendtophp,
            dataType:"json",
            success: function(response) {
              var trhtml ='';
              $.each(response, function (i, item) {
                  trhtml += '<tr><td>' + item[0] + '</td><td>' + item[1] + '</td><td>'+ item[2] + '</td></tr>';
              });
              $('.append').append(trhtml);
            }
          });
    
      </script>
      <table id="results">
    
        <tr>
        <th>Name</th>
        <th>Subject</th>
        <th>Course</th>
        <th>Grade</th>
        </tr>
        <tbody class="append">
    
        </tbody>
        </table>
    </div>
    

    getcoursetable.php

    <?php
      header('Content-Type: application/json');
          include_once "connection.php";
    
          if(isset($_POST["username"])){
            $nick = $_POST["username"];
    
            $prep = "SELECT subject,course,grade FROM `enrolledtable` WHERE nickname='$nick'";
    
            $results = mysqli_query($con, $prep);
    
            $jsonData = array();
            while ($row = $results->fetch_row()) {
                $jsonData[] = $row;
            }
            echo json_encode($jsonData);
          }
     ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!