Arkadaşlar merhaba benim soyle bir sıkıntım var. sitede 3 dille içerik ekleyebiliyorum. eklemeyi mysql de örneğin
baslik
baslik_en
baslik_de
icerik
icerik_en
icerik de seklinde yapıyorum.
Benim sıkıntım şu bazı içerikler ingilizceye bazı içerikler almancaya bazıları turkçeye bazılarıda birden fazla dille ekleme yapılacak.
Fakat dil seçiminde içerik girilmeyen dilin listelenmesini istemiyorum
yani aynı satırda yer alan içeriklerde eğer ingilizce içeriği yoksa ingilizce listelenmesin turkçe secildiğinde türkçe listelensin istiyorum
sql den veri <?php echo $haber['baslik'.$dil.'']; ?> seklinde cekiliyor dil seciminden $dil _en veya _de alıyor.
Yardım edebilirseniz cok sevinirim.
Acil PHP Yardım
6
●420
- 20-06-2016, 17:52:18Umarım talep ettiğiniz budur hocam .
<?php $dil="_en"; // Dilimiz ingilizce seçili olsun. $baslik="Ben Türkçe Başlık"; $baslik_en=""; // dil ingilizce ama başlık girilmemiş olsun. $baslik_de=""; if($dil=="_en" and $baslik_en=="") { // dil ingilizce ise ve ingilizce boşsa türkçe yazdırsın echo $baslik; } elseif($dil=="_de" and $baslik_de=="") { // dil almanca ise ve almanca boşsa türkçe yazdırsın echo $baslik; } else{ echo "seçili dil: $dil ve başlık boş değil."; // eğer seçili dil en & tr & de ise ve boş değilse seçili dil başlığı yazdır. } ?> - 20-06-2016, 18:07:09Üyeliği durdurulduhocam soyle ornek vereyim oncelikle ilginiz için tesekkur ederim.
tablomda 1 satır su sekilde olsun
$baslik: "Türkçe Başlık"
$baslik_en: "İngilizce Başlık"
$baslık_de: ""
2.satır
$baslik: ""
$baslik_en: "İngilizce Başlık"
$baslık_de: ""
3.satır
$baslik: "Türkçe Başlık"
$baslik_en: ""
$baslık_de: ""
şimdi ben türkçe dil sectiğimde 1 satırda 2. satırda 3. Satırda listeleniyor. 2. satırın verisi boş gozukuyor
ingilizce seçtiğimdede tüm satırlar listeleniyor 3. satır verileri boş gözüküyor
benim istediğim ben türkçeyi sectiğimde 2. Satır tr veri olmadığı için hiç listelenmesin sorguda 1 ve 3 uncu satır listelensin.
ingilizce sectiğimde 1 ve 2 listelensin
almancada hiç birşey listelenmesin istiyorum. - 22-06-2016, 15:39:56En basitinden başlıkların boş olup olmadığını kontrol edeceksin.BuRacK adlı üyeden alıntı: mesajı görüntüle
Foreach veya while artık hangi döngü şeklini kullanıyorsan o döngünün içine bir kural koyacaksın. Örnek;
// Eğer haberin Türkçe başlığı boş ise bu haberi atla. // empty fonksiyonu da kullanılabilir. if(trim($haber['baslik_tr'])==''){ continue; }Bu ufak kural ile Türkçe başlığı boş olan haberleri listeletmeden atlayabilirsin.
Bunu sorgu (sql) tarafında da yapabilirsin. - 29-07-2016, 23:57:00Sorunu çözmüşsün ama belki işine yarar diye bir fonksyion yazayım dedim.
$baslık_tr, $baslık_en, $baslık_de misal bu değişkenleri databaseden çektiğimiz değişkenler diyelim. Anladığım kadarıyla bu değişkenleri bir divin içinde yazdıracaksın.
<div class="languanges"></div> örnek olarak böyle bir div olsun.
Şimdi fonksiyonumuzu yazalım
function deneme($x){
if($x=''){
return true; // boş bi değer dönsün;
}else{
return '<div class="languanges">'.$x.'</div>';
}
}
en sonda komple divin olduğu bloğu silip <?echo deneme($baslık_tr);?> vs. şeklinde kullanabilirsin.