如何从重复记录集中隐藏行中的某个条目


How to hide a certain entry in a row from repeating recordset

嗨,我有一个重复的记录集,我想根据需要在一行中隐藏一些条目(htmldiv)。我的数据库有一个 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)); ?>

我有一个div("class=category-buy-btn"),我想隐藏它,以防万一没有购买链接,我已经设置了从数据库中获取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>

现在这真的不是一个好方法,有人可以建议我更好的方法吗?

谢谢。

只要让它以$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 和字符集的绝对最低要求(没有任何借口!