从MySQLi表到HTML表的多维PHP数组

时间:2015-10-16 23:16:50

标签: php html arrays multidimensional-array mysqli

我的网站有一部分我可以给予会员奖励。现在我正在为每个奖项创建个人描述页面。在该页面上,我想包括哪些成员已经收到此奖项,并在HTML表格中显示这些数据。

我已经将数据传递到多维数组中,如下所示。

<?php 

    $conn = new mysqli($servername, $username, $password, $dbname);

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    } 
    $currentAward = $awardid; // Current Page Award. Local value to the page.

    $result = $conn->query("SELECT * FROM vms_awardsgranted WHERE awardid='$currentAward'");

    $awardsList = array();
    while($pilotsList = $result->fetch_assoc()){
        $awardsList[ $pilotsList["id"] ] = $pilotsList;
    }

    echo nl2br("DEBUG: $currentAward \n");
    print_r(array_values($awardsList));

    $conn->close();
?>

示例结果

DEBUG: 8 
Array ( [0] => Array ( [id] => 28 [awardid] => 8 [pilotid] => 4 [dateissued] => 2015-10-14 20:12:21 ) [1] => Array ( [id] => 32 [awardid] => 8 [pilotid] => 1 [dateissued] => 2015-10-14 20:14:14 ) )

从这里开始我试图解析这些信息并将其添加到下面的HTML表格中,但老实说,我找不到使用多维数组执行此操作的正确方法。谁能在这里给我一些见解?我的HTML表格如下所示。

<table width="100%" border="0" cellspacing="0" cellpadding="0" class="ocean_table">
    <thead>
        <tr>
        <th>Pilot ID</th>
        <th>Pilot Name</th>
        <th>Date Awarded</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td align="center">

            </td>
            <td align="center">

            </td>
            <td align="center">

            </td>
        </tr>
    </tbody>
</table>

2 个答案:

答案 0 :(得分:1)

这样的东西
var checkboxes = [];
for(var i =0; i<document.getElementsByTagName("input").length;i++) { 
 if(document.getElementsByTagName("input")[i].checked) {checkboxes.push(i)}
}

答案 1 :(得分:1)

基本上,要遍历结果,您的代码可能如下所示:

  <table width="100%" border="0" cellspacing="0" cellpadding="0" class="ocean_table">
      <thead>
          <tr>
          <th>Pilot ID</th>
          <th>Pilot Name</th>
          <th>Date Awarded</th>
          </tr>
      </thead>
      <tbody>
  <?php foreach($awardsList as $member):?>    

          <tr>
              <td align="center">
                <?=$pilot['pilotid']?>
              </td>
              <td align="center">
              </td>
              <td align="center">
                <?=$pilot['dateissued']?>
              </td>
          </tr>
  <?php endforeach;?>    

      </tbody>
  </table>

但有几点评论。

  • 您不会从查询中返回导频名称。你应该加入会员/飞行员的桌面,以获得他们的名字。
  • 你的命名令人困惑。 $pilotList建议了一个飞行员列表,但该变量仅包含奖励与一名飞行员之间的参考/联结。 Dito为awardsList,其中包含赢得奖项的人员名单。