1

こんにちは私は繰り返しレコードセットを持っています、そこで私は必要に応じて行のいくつかのエントリ(html div)を非表示にしたいです。私のデータベースには7列のテーブルがありますが、エントリ(要素)を行に表示したくないという条件があります。

さらに説明するには、私のhtmlコードブロックを見てください。

<?php do { ?>
<div class="category-container">
<div class="category-image"><?php echo $list['image']?></div>    
<div class="category-desc"> <a href="<?php echo $list['titlelink']?>"><?php echo $list['title']?></a>
<p><?php echo $list['description']?></p></div>       
<div class="rating<?php echo $list['rating']?>" >Editors' rating: </div>    
<div class="category-download-btn"><a href="<?php echo $list['download']?>">&raquo; Download &raquo;</a></div>    
<div class="category-buy-btn"><a href="<?php echo $list['buy']?>">&laquo; Buy &laquo;</a></div>    
</div> <?php } while ($list = mysql_fetch_assoc($result2)); ?>

"class=category-buy-btn"購入リンクがない場合に非表示にしたいdiv( )があり、データベースからURLをフェッチするように設定しました。

これを行うための簡単なアプローチは、新しい列「buydiv」を作成し、div全体をこの列「buydiv」に配置し、このように表示したくない行に値を配置しないことです。

<?php echo $list['buydiv']?>

代わりに

<div class="category-buy-btn"><a href="<?php echo $list['buy']?>">&laquo; Buy &laquo;</a></div>

その場合、のコンテンツ$list['buydiv']はこれらの値になります。

<div class="category-buy-btn"><a href="<?php echo $list['buy']?>">&laquo; Buy &laquo;</a></div>

さて、これは実際にそれを行うための良いアプローチではありません、誰かがそれを行うためのより良い方法を私に提案できますか?

ありがとう。

4

1 に答える 1

0

$list['buy']空でないことを条件として、次のようにします。

<?php if (!empty($list['buy'])) : ?>
<div class="category-buy-btn"><a href="<?php echo $list['buy']?>">&laquo; Buy &laquo;</a></div>    
<?php endif ?>

更新:UTF-8文字列が正しく表示されるようにするには、ページをUTF-8として解釈するようにブラウザに指示する必要があります。

header('Content-Type: text/html; charset=UTF-8');

SQLクエリがUTF-8として実行されていることを確認します。

mysql_query("SET NAMES 'utf8'");

詳細についてはこれを参照してください。PHPでのUnicodeのより徹底的なガイドについてはこれを参照してください。それは潜在的にかなり紛らわしいトピックなので、読む価値があります。これも非常に有益な読み物です:

絶対最小すべてのソフトウェア開発者は絶対に、積極的にUnicodeと文字セットについて知っている必要があります(言い訳はありません!)

于 2012-06-02T05:28:46.953 に答える