gpt4 book ai didi

php - 确定某列是否包含多行内容并动态创建表列

转载 作者:行者123 更新时间:2023-11-29 09:49:22 25 4
gpt4 key购买 nike

我尝试创建表的列,次数与sql表的某些列中的内容相同,然后以相同的方式用内容填充这些列。下面的代码用于确定哪些列不为空,从而向 $n 添加一个额外的值,该值将用于使列 $n 次。

虽然只有前四列有内容,但下面的代码将添加到 $n ,就好像空列中有内容一样。如何检查可能包含多行的整列是否有内容?

$query = "
SELECT *
FROM analysis_database a
JOIN microbiology_analysis_database m
ON a.m_analysis_id = m.id
WHERE order_id = $order_id
AND a.analysis_type = 'Microbiological'
AND m.analysis_type = 'Microbiological';
";
$result = mysqli_query($conn, $query);
$fetch = mysqli_fetch_array($result);

$n = 0;
if (!is_null($fetch['step_1'])) {
$n++;
}
if (!is_null($fetch['step_2'])) {
$n++;
}
if (!is_null($fetch['step_3'])) {
$n++;
}
if (!is_null($fetch['step_4'])) {
$n++;
}
if (!is_null($fetch['step_5'])) {
$n++;
}
if (!is_null($fetch['step_6'])) {
$n++;
}
if (!is_null($fetch['step_7'])) {
$n++;
}
if (!is_null($fetch['step_8'])) {
$n++;
}
if (!is_null($fetch['step_9'])) {
$n++;
}

这部分用于动态制作表格标题:

for ($k = 1 ; $k < $n; $k++) { 
$output .= '<th>Step '.$k.'</th>';
}

这是相应 header 的内容:

for ($k = 1 ; $k < $n; $k++) { 
<td>Column Content</td>;
}

最佳答案

我认为问题可能在于,如果实际数据库值为 NULL,msyqli_fetch_array() 只会将值设置为 null。来自 PHP 手册:

Note: This function sets NULL fields to the PHP NULL value.

因此,$fetch 将包含查询的第一个匹配行,并且 $fetch['step_5'] 仅当数据库中为 NULL 时才为 null。也许它们是空字符串?

根据 Barmar 的评论,也许尝试使用 empty() 而不是 is_null()。

关于php - 确定某列是否包含多行内容并动态创建表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55081784/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com