0

エコー出力された各変数の後にコンマを追加するのに、最後の変数の後にはどうすればよいですか?

現在、次のようにリストを表示します。

    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 . ' &#124;  Category: ' . $category . ' &#124;  Tags: ';
    while ($row = mysqli_fetch_array($query3)) {
        $tag = $row['tag'];  
        $tag = str_replace("_", "&nbsp;", $tag);
$blogDisplay .= $tag.' ';
        }
$blogDisplay .= ' &#124; <a href="/blog/'. $blogseourl .'#disqus_thread"></a>';
4

6 に答える 6

2

それらを配列に追加してから、後で配列を内破することができます。

$tags = array();
while ($row = mysqli_fetch_array($query3)) {
    $tag = $row['tag'];  
    $tagformat = eregi_replace("_", "&nbsp;", $tag);
    $tags[] = $tagformat;
}
echo implode(', ', $tags);

これにより、可能な限り努力すべき出力からロジックが分離されます。6 か月後にこのコードに戻ると、生活が楽になります!

于 2013-04-22T10:47:30.120 に答える
1
$blogDisplay = "";
while ($row = mysqli_fetch_array($query3)) {
    $tag = $row['tag'];  
    $tagformat = eregi_replace("_", "&nbsp;", $tag);
    if ($blogDisplay!="") {
           $blogDisplay.=",";
     }
     if (trim($tagformat)!=""){
         $blogDisplay .= $tagformat;
     }
    }
于 2013-04-22T10:45:26.567 に答える
1

implodeを使用してみてください。

$blogDisplay = array();
while ($row = mysqli_fetch_array($query3)) {
    $tag = $row['tag'];  
    $tagformat = eregi_replace("_", "&nbsp;", $tag); 
    $blogDisplay[] = $tagformat;
}

echo implode(', ', $blogDisplay);
于 2013-04-22T10:47:23.583 に答える
1

上記のタスクを達成するためだけにコードを変更する必要があります。

while ($row = mysqli_fetch_array($query3)) {
    $tag = $row['tag'];  
    $tagformat = eregi_replace("_", "&nbsp;", $tag);
    $blogDisplay .= $tagformat.', '; //Here is the "," 
    }

それが役に立てば幸い。

于 2013-04-22T10:47:42.127 に答える
0

データベースから一連のタグを反復処理するだけの場合は、次のクエリを使用する方が簡単です。

SELECT GROUP_CONCAT(`tag` DELIMITER ', ') AS `tag`
FROM tags
WHERE ...

以下も参照してください。GROUP_CONCAT()

タグは、MySQL によってすでに適切に結合されています。

また、使用しないでくださいeregi_replace。実際、正規表現を使用しないでください。

str_replace('_', '&nbsp;', $tags);
于 2013-04-22T10:53:13.607 に答える