1

いくつかの製品名をループしてページに配置するクエリがあります。ループの一部として、末尾にコンマを追加するため、次のようになります。

製品: シャツ、パンツ、ネクタイ、ジャケット、

最後の製品の後にコンマが表示されていることに注意してください。また、それらはすべてリンクであるため、いくつかの strreplace fx などを使用することはできません。

これが私のコードです:

<?php
 $product_query = mysql_query("select * from products_table);
 $row_product_query = mysql_fetch_assoc($product_query);
 $totalRows_product_query = mysql_num_rows($product_query);
 ?>
 <strong>Products:  </strong>
 <?php if ($totalRows_product_query > 0) {  ?>
 <?php do { ?>
 <span><a href="link"><?php echo $row_product_query['products_name']; ?></a></span>
<strong>,&nbsp;</strong>
 <?php } while ($row_product_query = mysql_fetch_assoc($product_query)); ?>
 <?php } ?><br />

最後のコンマが表示されないようにするにはどうすればよいですか?

いつもありがとうございます。

4

3 に答える 3

2

PHP implode 関数を使用する

<?php
    $str = "";
    $product_query = mysql_query("select * from products_table");
    $row_product_query = mysql_fetch_assoc($product_query);
    $totalRows_product_query = mysql_num_rows($product_query);
    $cnt = 0;
?>
<strong>Products:  </strong>
<?php if ($totalRows_product_query > 0) {  ?>
<?php do { 
    $arr[$cnt] = '<span><a href="link">'.$row_product_query['products_name'].'</a></span>';
    $cnt++;
<?php } while ($row_product_query = mysql_fetch_assoc($product_query)); ?>
<?php } 
    echo implode("<strong>,</strong>",$arr);
?><br />
于 2013-02-15T19:41:14.100 に答える
0

それらがデータベースに保存/入力される方法を修正しますか? そうで なければ、<?php echo str_replace(",", "", $row_product_query['products_name']); ?> 動作するはずです

于 2013-02-15T19:35:21.550 に答える
0

@tucker が言ったように、implode 関数を使用できます。内破関数。次のような配列で使用します

$a_string = implode(",",$the_result_array);

これにより、希望する結果が得られます。

于 2013-02-15T19:40:32.750 に答える