繁体   English   中英

从SQL数据库检索数据到HTML表

[英]Retrieving data to HTML table from SQL database

我正在尝试从数据库获取数据到html表。 在数据库中,有一个由ID,名称和百分比列组成的公司表。

表中的上述数据是我手动输入的。 我需要通过从数据库检索来填充那些相同的值。

数据库中的公司表如下所示。 数据库表

在我的编码中,在数组形成的位置出现了错误。 我试图将所有名称都放在一个数组中并在html表中打印。 我恳请看一下我的编码。 高度赞赏。

$sql = "SELECT name, percentage FROM company";
$result = $conn->query($sql);

$result = $conn->query($sql);
if ($result->num_rows > 0) {

    // output data of each row
    while($row= $result->fetch_assoc()) {
      $arr=str_split($row)

       //echo  $row;
       echo "<table> <tr> <td> $arr[1] </td> </tr> </table> ";

    }
  } else {
      echo "0 results";
  }

@jakumi错误是在此处输入图像描述 第18行是'$ arr = str_split($ row);'。

str_split需要一个字符串,但是$row已经是一个数组。 例如,您仅通过$row['name']访问每一行的字段。

所以

echo '<table>';
while($row= $result->fetch_assoc()) {
    echo '<tr><td>'.$arr['name'].'</td><td>'.$arr['percentage'].'</td></tr>'; 
}
echo '</table>';

更新为回答特定评论:

$percentages = [];
$namesToPercentages = [];
$collection = [];
while($row = $result->fetch_assoc()) {
    $percentages[] = $row['percentage']; 
    // this produces [0 => 0, 1=>1.1, 2=>1.2, ...]

    $namesToPercentages[$row['name']] = $row['percentage'];
    // this produces ['Base_price' => 0, 'A' => 1.1, ...]

    $collection[]= $row;
    // this produces [['name' => 'Base_price', 'percentage'=>0], [...],...]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM