v2.5.2
Giriş yap

Kişileri koşullu olarak yanyana sıralama

Anonim
276 defa görüntülendi

Merhaba,
projeler sayfasında bir projeye birden fazla kişi attığımızı düşünün
projeler tablosunda kisi1,kisi2,kisi3,kisi4 sütunları var fakat her projede 1 den 4 e kadar sayıda insan tanımlı.

A projesinde 3 kişi var
B projesinde 1 kişi var.

Proje Adının yanına kişi adlarını virgül ile ayırıp çekmek istediğimde sayfada
A projesi : Ahmet A., Ali B. , Zeki C. ,
B projesi : Akif D.,,,
şeklinde görünüyor.

<div>
    <?= $proje[$i]["p_adi"]; ?>
    <?= $proje[$i]["kisi1"]; ?>, <?= $proje[$i]["kisi2"]; ?>,<?= $proje[$i]["kisi3"]; ?>,<?= $proje[$i]["kisi4"]; ?>
</div>

bunu nasıl düzeltebilirim? kişi haneleri boş ise gereksiz yere virgül göstermesin dolu ise virgül atıp birleştirsin. Fakat 4. kişiden sonra da virgül atmasın.

Cevap yaz
Cevaplar (3)
rephp7
1048 gün önce

@tayfunerbilen diğer yöntem olarak bahsettiğiniz array içinde döndürmenin yolunu da yazabilir misiniz?

tayfunerbilen
1049 gün önce

bana pek mantıklı gelmedi bu şekilde değişkende tutmak yerine bir array ile basitçe dönülebilirdi. Ama bu yapıda şöyle bir şey kullanılabilir;

<?php
function getUsers($project) {
    $users = [];
    for ( $i = 1; $i <= 4; $i++ ){
        if (isset($project['kisi' . $i]) && !empty($project['kisi' . $i])) {
            $users[] = $project['kisi' . $i];
        }
    }
    return implode(', ', $users);
}
?>
<div>
    <?= $proje[$i]["p_adi"]; ?>
    <?=getUsers($proje[$i])?>
</div>
makifgokce
1049 gün önce
<?= !empty($proje[$i]["kisi1"]) ? $proje[$i]["kisi1"].',' : null; ?> <?= !empty($proje[$i]["kisi2"]) ? $proje[$i]["kisi2"].',' : null; ?> <?= !empty($proje[$i]["kisi3"]) ? $proje[$i]["kisi3"].',' : null; ?> <?= !empty($proje[$i]["kisi4"]) ? $proje[$i]["kisi4"].',' : null; ?>