更新:我删除了一些print_r&回调测试我已经在循环之上,我能够查看数据。
使用以下查询从表中获取所有内容。
$result = mysql_query("SELECT * FROM campaign_manager ORDER BY 'date'") or die(mysql_error());
我有一个循环显示表格中的所有内容。
while($row = mysql_fetch_array( $result )) {
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['campaign_id'] . '</td>';
echo '<td>' . $row['paragraph_id'] . '</td>';
echo '<td>' . $row['que_id'] . '</td>';
echo "</tr>";
}
到目前为止,到目前为止还非常直接......这就是它变得棘手的地方。
$ row ['paragraph_id']被序列化。我运行了一个测试,以便将数据显示为我需要它如下所示;
$do = mysql_fetch_array($result);
print_r(implode(", ",unserialize($do['paragraph_id'])));
其中打印出的数据到底是我需要的。但是我如何在while循环中实现它呢?我尝试了几种变化,都是失败的。我已经尝试保存到循环外部和内部的变量。我也尝试在每行迭代中反序列化。似乎没有什么工作,行不会出现在表中。
如何在反序列化该列时使用该循环显示该表中的数据?
答案 0 :(得分:1)
你应该使用print_r,选项为true,如
print_r(implode(", ",unserialize($do['paragraph_id'])), true);
或简单
echo '<td>' . implode(", ",unserialize($do['paragraph_id'])) . '</td>';
答案 1 :(得分:0)
while($row = mysql_fetch_array( $result )) {
// echo out the contents of each row into a table
echo "<tr>";
echo '<td>' . $row['campaign_id'] . '</td>';
echo '<td>' .
print_r(implode(", ",unserialize($row['paragraph_id'])), true)
. '</td>';
echo '<td>' . $row['que_id'] . '</td>';
echo "</tr>";
}