drsfgwuw61488 2018-06-01 11:41
浏览 75
已采纳

循环遍历多个数组并动态列出结果

I'm struggeling with this one. How can list all devices, their model and supplier from my database? The data is stored comma-separated in the fields device, model and supplier.

<?php
  while ($row = mysqli_fetch_array($result)) {
    $device_explode = explode(',', $row['device']);
    $model_explode = explode(',', $row['model']);
    $supplier_explode = explode(',', $row['supplier']);

    $device = array(array($device_explode[0]), //count function? How would I do that?
                    array($model_explode[0]),
                    array($supplier_explode[0])
                  );

    echo "<table border='1'>
        <tr>
            <th>Møterom</th>
            <th>Romnummer</th>
        <th>Lokasjon</th>
        <th>Antall sitteplasser</th>
        <th>Tilgjengelig utstyr</th>
        <th>Bilde av rommet</th>
        <th>Endre</th>
        <th>Slett</th>
        </tr>
      <tr>
        <td>".$row['name']."</td>
        <td>".$row['roomnbr']."</td>
        <td>".$row['location']."</td>
        <td>".$row['seats']."</td>
        <td>".$device[0][0]."<br>".$device[1][0]."<br>".$device[2][0]."<br></td> //also count?
        <td><img src='../img/uploads/".$row['img']."' width='150px' ></td>
        <td><a href='?p=editconfroomv2&id=".$row['id']."'>Endre</a></td>
        <td><a href='./index.php?p=deleteconfroomdb&id=".$row['id']."' class='delete'>Slett</a></td>
      </tr>
      </table>";
  }
?>
  • 写回答

2条回答 默认 最新

  • duanheye7423 2018-06-01 12:01
    关注

    It can be done this way (if I understand correct your table structure). I assume, that $device_explode, $model_explode and $supplier_explode have equal number of elements:

    <?php
      // Table Header
      echo "<table border='1'>
            <tr>
            <th>Møterom</th>
            <th>Romnummer</th>
            <th>Lokasjon</th>
            <th>Antall sitteplasser</th>
            <th>Tilgjengelig utstyr</th>
            <th>Bilde av rommet</th>
            <th>Endre</th>
            <th>Slett</th>
            </tr>";
      while ($row = mysqli_fetch_array($result)) {
        $device_explode = explode(',', $row['device']);
        $model_explode = explode(',', $row['model']);
        $supplier_explode = explode(',', $row['supplier']);
    
        // Table rows   
        $td = '';
        $td .= 
            "<tr>
                <td>".$row['name']."</td>
                <td>".$row['roomnbr']."</td>
                <td>".$row['location']."</td>
                <td>".$row['seats']."</td>
                <td>";
    
        for ($i = 0; $i < count($device_explode); $i++) {
            $td .=$device_explode[$i]." ".$model_explode[$i]." ".$supplier_explode[$i]."<br>";
        } 
    
        $td .= 
                "</td>
                <td><img src='../img/uploads/".$row['img']."' width='150px' ></td>
                <td><a href='?p=editconfroomv2&id=".$row['id']."'>Endre</a></td>
                <td><a href='./index.php?p=deleteconfroomdb&id=".$row['id']."' class='delete'>Slett</a></td>
            </tr>";
        echo $td;   
      }
      echo "</table>";
    ?>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 软件定义网络mininet和onos控制器问题
  • ¥15 微信小程序 用oss下载 aliyun-oss-sdk-6.18.0.min client报错
  • ¥15 ArcGIS批量裁剪
  • ¥15 labview程序设计
  • ¥15 为什么在配置Linux系统的时候执行脚本总是出现E: Failed to fetch http:L/cn.archive.ubuntu.com
  • ¥15 Cloudreve保存用户组存储空间大小时报错
  • ¥15 伪标签为什么不能作为弱监督语义分割的结果?
  • ¥15 编一个判断一个区间范围内的数字的个位数的立方和是否等于其本身的程序在输入第1组数据后卡住了(语言-c语言)
  • ¥15 Mac版Fiddler Everywhere4.0.1提示强制更新
  • ¥15 android 集成sentry上报时报错。