v2.5.2
Giriş yap

Yıllara göre veri çekmek, tek sorgu da mümkün mü?

rephp7
441 defa görüntülendi

Yazilar tablomdan yil sütununa göre ayrı ayrı kartlarda o yılın başlıklarını listeletmek istiyorum.

$buyil= date("Y");
$yillikyazilar = $db->vericek('yazilar', "where yil=?", array($buyil), "order by id desc");

Örneğin yukarıda ki sorguda bu yılın yazılarının başlıklarını 2021 yazıları diye adlandırdığım kartıma çekiyorum.

<div class="card-header">
    <!-- bu yıl : 2021 yılının yazıları kartı -->
 <h3 class="card-title"><?= $buyil; ?> Yılı Yazılarımız</h3>
 </div>
                    
<div class="card-body">

    <?php  
for ($i = 0; $i < count($yillikyazilar); $i++) {
    ?>
<li> <?= $yillikyazilar[$i]["baslik"]; ?></li>
<?php } ?>
</div>

Her card için ayrı ayrı mı veri çağırmalıyım ? bunun kolay yolu yok mu?

son 4 yıl için cardlar yapıp 5. card da da geri kalan tüm yılların başlıklarını çağırmak istiyorum?
nasıl yapabilirim? Yardımınızı rica ediyorum.

rephp7
960 gün önce

group by dyil olarak sorguyu düzellendim.

<div class="card-body">
<?php
    for ($i = 0; $i < count($yillikyazilar); $i++) {
    ?>
    
        <li> <?= $yillikyazilar[$i]["yil"]; ?> Yılı
            <ul>
                <li><?= $yillikyazilar[$i]["baslik"]; ?></li>
            </ul>
        </li>
        <?php } ?>
</div>

Çıktısında her yıl için tek yazı başlığı çekiyor. Yıllara göre o yılın tüm yazıları listeli olarak gelmiyor?

for yerine foreach de kullandım sonuç yine aynı.