merhabalar, web sitemde etiketleri listeliyorum ama aynı etiketten defalarca var, bunu for ile yazdırırken aynı olan atıyorum 25 satırdan 1 tanesini yazdırmak istiyorum. aşağıda çalışan kodum mevcut yardımlarınızı bekliyorum
<?php
$rows_etiket = $db->query("select * from etiketler order by id desc");
foreach ($rows_etiket as $key => $row_etiket) {
?>
<url>
<loc><?php echo $row_etiket["selflink"]; ?></loc>
<lastmod>2023-10-31T09:04:37+00:00</lastmod>
<priority>1.0</priority>
</url>
<?php } ?>
php for döngüsünde tekrar eden satırı nasıl silip birini yazdırabilirim
4
●164
- 31-10-2023, 09:11:25
- 31-10-2023, 09:20:19Eğer aynı etiketten sadece bir tane yazdırmak istiyorsanız, etiketleri bir dizi içinde toplayabilir ve daha sonra bu diziyi kontrol ederek yinelenenleri filtreleyebilirsiniz. İşte bu işlemi gerçekleştiren bir örnek kod:
<?php $rows_etiket = $db->query("select * from etiketler order by id desc"); // Etiketleri depolamak için bir dizi oluşturun $etiketler = array(); foreach ($rows_etiket as $key => $row_etiket) { // Dizide etiket varsa tekrar ekleme if (!in_array($row_etiket["etiket_adi"], $etiketler)) { $etiketler[] = $row_etiket["etiket_adi"]; ?> <url> <loc><?php echo $row_etiket["selflink"]; ?></loc> <lastmod>2023-10-31T09:04:37+00:00</lastmod> <priority>1.0</priority> </url> <?php } } ?>ChatGPT - 31-10-2023, 16:55:29
<?php $etiketler = array(); $rows_etiket = $db->query("select * from etiketler order by id desc"); foreach ($rows_etiket as $key => $row_etiket) { $etiket = $row_etiket["selflink"]; if (!in_array($etiket, $etiketler)) { array_push($etiketler, $etiket); ?> <url> <loc><?php echo $etiket; ?></loc> <lastmod>2023-10-31T09:04:37+00:00</lastmod> <priority>1.0</priority> </url> <?php } } ?>