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条)

报告相同问题?

悬赏问题

  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效