我在表格单元格中使用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"];
并修复了它。
答案 0 :(得分:0)
这是一个非常明显的错误。单引号下的变量将不会被解析,这就是您所做的。使用您当前的代码,$log_type
的值为.$data["log_type"].
(tested)
所以,你的代码:
$log_type= '.$data["log_type"].';
应该是:
$log_type= $data["log_type"];
如果你想在值周围加上单引号,你应该这样做:
$log_type = "'".$data["log_type"]."'";
答案 1 :(得分:0)
$data
保存结果集数组。
在这一行:
$log_type='.$data["log_type"].';
您正在以incorrcet方式访问result set
,要访问结果集的属性,您只需将它们用引号括起来object
( $data
in这个案例)持有array.Below是解决它的正确方法:
$log_type=$data["log_type"];
在'
中汇总或附上您的解决方案:
"'".$log_type."'"
或"'".$data["log_type"]."'"