如何在每个echo-out变量之后添加逗号,但不是在最后一个变量之后?
目前我显示如下列表:
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tagformat = eregi_replace("_", " ", $tag);
$blogDisplay .= $tagformat.' ';
}
显示:testtag1 testtag2 testtag3
我希望它显示:testtag1,testtag2,testtag3
任何帮助都会很棒!
编辑SQL查询:
$sqlCommand3 = "SELECT tag FROM blogtags WHERE blogid='$blogid'";
$query3 = mysqli_query($myConnection, $sqlCommand3) or die (mysqli_error());
此外,$ blogDisplay还有其他值:
$blogDisplay .= '<h1><a href="/blog/'. $blogseourl .'"> ' . $blogtitle . ' </a></h1> ' . $contentshort . '... <a href="/blog/'. $blogseourl .'">Read More...</a><br /><br /> ' . $author . ' posted on ' . $blogtime . ' | Category: ' . $category . ' | Tags: ';
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tag = str_replace("_", " ", $tag);
$blogDisplay .= $tag.' ';
}
$blogDisplay .= ' | <a href="/blog/'. $blogseourl .'#disqus_thread"></a>';
答案 0 :(得分:2)
您可以将它们添加到数组中,然后将implode数组添加到数组中:
$tags = array();
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tagformat = eregi_replace("_", " ", $tag);
$tags[] = $tagformat;
}
echo implode(', ', $tags);
这将逻辑与输出分开,只要有可能,您应该努力。当你回到这段代码时,它会让你的生活更轻松6个月!
答案 1 :(得分:1)
$blogDisplay = "";
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tagformat = eregi_replace("_", " ", $tag);
if ($blogDisplay!="") {
$blogDisplay.=",";
}
if (trim($tagformat)!=""){
$blogDisplay .= $tagformat;
}
}
答案 2 :(得分:1)
尝试使用 implode 。
$blogDisplay = array();
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tagformat = eregi_replace("_", " ", $tag);
$blogDisplay[] = $tagformat;
}
echo implode(', ', $blogDisplay);
答案 3 :(得分:1)
您的代码只需要进行一些修改才能实现上述任务,
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tagformat = eregi_replace("_", " ", $tag);
$blogDisplay .= $tagformat.', '; //Here is the ","
}
希望它有所帮助。
答案 4 :(得分:1)
我没有看到你的回声,但我会假设它在while循环之外(请考虑使用foreach循环)。
只需将逗号放在eregi_replace中的空格之前。
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tagformat = eregi_replace("_", ", ", $tag);
$blogDisplay .= $tagformat.' ';
}
或者:
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tagformat = eregi_replace("_", ", ", $tag);
$blogDisplay .= $tagformat.' ';
}
或者:
while ($row = mysqli_fetch_array($query3)) {
$tag = $row['tag'];
$tagformat = eregi_replace("_", ", ", $tag);
$blogDisplay .= $tagformat.' ';
}
答案 5 :(得分:0)
如果您只是从数据库中迭代一组标记,那么使用此查询会更容易:
SELECT GROUP_CONCAT(`tag` DELIMITER ', ') AS `tag`
FROM tags
WHERE ...
另请参阅:GROUP_CONCAT()
MySQL已经很好地将标签连接在一起。
另外,请勿使用eregi_replace
;实际上,不要使用正则表达式:
str_replace('_', ' ', $tags);