php - 从 MySQL 数据库中动态创建表行和列而不是输出行
问题描述
我编写了一个脚本,该脚本会根据用户在 MySQL 数据库中保存的数据创建一个矩阵形式的表。在本例中,样本信息将显示在行中,每个样本的各种分析将在列中进行。
下面的示例成功创建了列,但是完全省略了行。任何人都可以请提供一个解释,也许是为什么没有创建行的解决方案?没有给出错误,行根本没有显示。
if (isset($_GET['display_full_results'])) {
require 'dbh.php';
$order_id = $_GET['display_full_results'];
$sql = "SELECT * FROM samples_database WHERE order_id=$order_id AND micro_analysis!='';";
$result = mysqli_query($conn, $sql);
$micro_analysis = '';
while($input = mysqli_fetch_array($result)) {
$micro_analysis .= $input['micro_analysis'] . ',';
}
$micro_analysis_arr = array_filter(array_unique(explode(',', $micro_analysis)));
$output = '';
if (mysqli_num_rows($result) > 0) {
$output .= '
<thead>
<tr>';
foreach ($micro_analysis_arr as $row1) {
$query = "SELECT * FROM microbiology_analysis_database WHERE id=$row1";
$result3 = mysqli_query($conn, $query);
$input2 = mysqli_fetch_array($result3);
$output .= '
<th colspan="1"><th>
<th>'.$input2['m_analysis'].'</th>';
}
$output .= '</tr>
</thead>
<tbody>';
while ($row = mysqli_fetch_assoc($result)) {
$output .= '
<tr>
<td>'.$row['env_sam_id'].'</td>
<td><input>Empty</td>
<td><input>Empty</td>
</tr>';
}
$output .= '</tbody>';
}
echo $output;
}
解决方案
你检查过它是否真的有数据吗?使用print_r($result)
,因为它可能是您的查询。如果它显示一个空数组,那么您应该使用print($sql)
获取查询然后将其粘贴到 phpmyadmin 以检查您的查询是否正确。
推荐阅读
- c++ - DirectShow 在 Win7/Win10 上出现黑框和 0x80070005 失败
- scroll - vis.js时间轴自动滚动功能
- python - 将 .txt 文件保存在 Python 中的另一个文件夹中
- xcode - Xcode XCUITest XCUICoordinate 不适用于按下和/或拖动
- c# - C# 从另一个表单创建类的新实例
- c# - 如何获取xml文件的编码?
- javascript - 为什么渲染没有返回任何内容?
- mongodb - 谷歌云kubernetes引擎外部ip
- jasperserver - JasperServer 内容查看引发索引超出范围异常
- python - 如何在我的 python discord 音乐机器人中创建断开连接计时器?