我正在对表格单元格中的值使用 with 语句。在插入此语句之前,一切都很好。我想要做的就是根据字符串值更改文本上的颜色标签,但现在 Cell 是空白的,这告诉我所有情况都不正确。我怀疑如果出现错误,那么语句之后的单元格也将是空白的,但它们是完整的。
如果非要我猜的话,我会说字符串声明有错误,但我不确定。
<?php
$result = mysql_query("SELECT * FROM logs ORDER BY logid DESC");
while($data = mysql_fetch_array($result))
{
echo '<tr>
<td>'.$data["logid"].'</td>
<td class="center">'.$data["date"].'</td>
<td class="center">';
$log_type='.$data["log_type"].';
switch ($log_type) {
case "Check in":
echo '<span class="label label-success">'.$data["log_type"].'</span>';
break;
case "Log":
echo '<span class="label">'.$data["log_type"].'</span>';
break;
case "Sensor Event":
echo '<span class="label label-important">'.$data["log_type"].'</span>';
break;
}
echo '</td>
<td class="center">'.$data["log_entry"].'</td>
<td class="center">'.$data["customer_id"].'</td>
</tr>';
}
?>
完整的代码块只是从 mysql 表中读取数据,并以漂亮的表格格式将其输出到网站中。通过使用不同的 CSS 类,我可以更改标签颜色。
问题是为什么这个案例只是一个空白单元格?
更新:对于那些阅读本文并寻找具体答案的人,我已经更改了行:
$log_type='.$data["log_type"].';
到
$log_type=$data["log_type"];
然后修复了它。
最佳答案
这是一个非常明显的错误。单引号下的变量将不会被解析,这是您所做的。使用您当前的代码,$log_type
将具有值 .$data["log_type"].
(tested)
所以,你的代码:
$log_type= '.$data["log_type"].';
应该是:
$log_type= $data["log_type"];
如果你想在值周围加上单引号,你应该这样做:
$log_type = "'".$data["log_type"]."'";
关于Php Mysql 开关/案例声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23235279/