这是我的代码:
$postsql = "SELECT * FROM post WHERE id='{$_GET['id']}'";
$posts = mysqli_query($connect,$postsql) or die("Error: ".mysqli_error($connect));
$post = mysqli_fetch_array($posts);
$postAuthor = $post['author'];
$postDate = $post['date'];
$postCat = mysqli_fetch_row($post['cat']);// I've tags here separated by commas.
$postCatTag = explode(",",$postCat);
$postText = $post['text'];
echo "<img class='view_newsimg' src='{$postImg}'>
<h3 class='lath'>{$postTitle}</h3>
<ul class='det'><li class='adc'>avtori: {$postAuthor}</li>
<li class='adc'>TariRi: {$postDate}</li>
<li class='adc'>kategoria: <a href='#'>{$postCatTag}</a></li>"; // tags are shown here
echo <<<TEXT
<p class="news">{$postText}</p>
TEXT;因此,对于浏览器中的标记部分,它显示: kategoria:Array,而不是从表中显示标记。为什么?怎样才能得到预期的结果?
发布于 2014-09-06 10:06:57
$postCatTag是一个数组。数组到字符串的转换总是导致Array。您可以使用implode-function来使用给定的分隔符来填充数组:
implode(', ', $postCatTag);或者您可以只使用$postCat,因为它已经是一个字符串(标记由','分隔)。
发布于 2014-09-06 10:17:20
$postCatTag是一个数组。数组不能由回波显示。
为此使用循环:
for($i=0;$i<count($postCatTag),$i++){
echo "<li class='adc'>kategoria: <a href='#'>$postCatTag[$i]</a></li>";
}发布于 2014-09-06 12:39:09
echo "<li class='adc'>kategoria:';
for($i=0;$i<count($postCatTag),$i++)
{
echo "<a href='#'>$postCatTag[$i]</a>";
}
echo "</li>";希望它能对你有用。
https://stackoverflow.com/questions/25699035
复制相似问题