2012-06-02 2 views
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)); ?> 

у меня есть 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> 

Теперь это действительно нехорошо, чтобы сделать это, может кто-нибудь предложить мне лучший способ сделать это.

Спасибо.

ответ

1

Просто сделать его обусловливающие $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 ?> 

Update: Для того, чтобы убедиться, что ваш UTF-8 строки отображаются правильно, вам необходимо сообщить браузеру, к интерпретировать страницу как UTF-8:

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

и убедитесь, что ваши запросы SQL бегутся, как UTF-8:

mysql_query("SET NAMES 'utf8'"); 

Смотрите this для получения дополнительной информации, а также увидеть this для более полного руководства по Unicode в PHP. Это потенциально довольно запутанная тема, поэтому стоит прочитать. Это также очень поучительно чтение:

The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

+0

его работы, спасибо человеку вы удивительным, я не знаю, что это может быть сделано, как это. –

+0

также вы можете предложить мне, какой метод сопоставления mysql должен выбрать для моей базы данных, я выбрал UTF-8 Unicode (utf8). –

+0

@TallboY ​​Да, это разумный вариант. Однако есть пара вещей, о которых нужно знать; см. мое обновление. –

Смежные вопросы