как выбирать элементы в счетчик while в php
Создал страницу администратора, где я пришел данных книг в базе данных. я сделал это html, где будет отображаться эти данные. массив будет потомства этот блок "cabtitulo" из всех книг, зарегистрированные на страницы администраторов, но я бы хотел, чтобы остался виден только 4 из этих блоков. поэтому ставлю там, внизу, функция background-color:green, чтоб проверить, если мой код работает, если все получится, я бы дисплей оставляя эти и другие блоки невидимыми. но все блоки становятся зелеными, не больше, чем 3, как установить.
<div class="cabtitulo"><p>Promoções</p></div>
<?php
$comando="select * from tb_promocao";
$matriz=mysql_query($comando);
$contador = 0;
while ($contador<4) {
while ($linha=mysql_fetch_array($matriz)) {
?>
<article class="livro">
<?php echo '<img src="img/' .$linha["imagempromo"]. '.jpg">'; ?>
<p><span class="titulo"><?php echo $linha["titulopromo"]; ?></span><br>
<span class="precode">R$ <?php echo $linha["precodelivro"]; ?></span><span class="preco">R$ <?php echo $linha["precoparalivro"]; ?></span><br><br></p>
<button>adicionar<i class="fa fa-shopping-cart" aria-hidden="true"></i></button>
<a href="">ver mais</a>
<h2><?php echo $contador; ?></h2>
</article>
<?php
$contador++;
}//close matriz
}//close contador
while ($contador>=3) {
echo '<style> .livro{ background-color:green;}</style>';
}
?>
2 answers
Все будет зеленый, потому что класс .livro
будет распространяться на все <article class="livro">
. Кроме того, что эта while
, чтобы написать CSS не имеет смысла. Возможно if
, но все же не является лучшей практикой.
Я предложил, вместо того чтобы сделать, как вы делаете, включите в свой CSS класс .livro
:
.livro{
background-color:green;
}
И while
поставить проверку прямо в тег article
, который будет добавить класс, если $contador
больше или равно 3:
<article<?php if($contador>=3){echo ' class="livro"';} ?>>
Результат будет тегами:
<article class="livro">
Попытке сделать что-то вроде:
Создать класс, который будет устанавливать цвет:
.corContador { background-color: #0f0; }
Внутри цикла, проверить счетчик и назначить класса:
<div class="<?php $contador < 3 ? 'corContador' : '' ?>">
<!-- seus dados -->
</div>