merhaba arkadaşlar,
elimde bir veritabanı var.. içindeki veriler şu şekilde:
ANKARA
İSTANBUL
ZONGULDAK
İSTANBUL
İSTANBUL
ben bu verileri listeleyerek ekrana yazdırmak istiyorum ama her bir il sadece bir kez yazılsın bir defa yazılan bir il bir daha yazılmasın istiyorum.. yani listeleme sonucunda
ANKARA
İSTANBUL
ZONGULDAK
yazılmalı sadece.. bunu nasıl yapabilirim?
Php ile basit bir listeleme sorusu..
12
●1.580
- 14-01-2009, 14:56:08Üyeliği durdurulduorder by vermene ragmen İ ler sorna ise veri tabanin türkçe karakter setinde olmadığından kaynaklanıyorNaCReS adlı üyeden alıntı: mesajı görüntüle
- 14-01-2009, 15:03:15Üyeliği durduruldu$sorgu = mysql_query("SELECT distinct(il) FROM tablo_adi");
veya
döngü döner
o sırada ekrana basmazsın döngü döndüğü sürece
$arrayBas diye bir değişkene atarsın
döngü bitince aşağısına
$arrayBas = array_unique($arrayBas);
foreach($arrayBas as $bas) echo $bas;
gibi kullanabilirsin
eğer büyük küçük harf lerde sorun yaratırsa veritabanını latin5_turkish_ci seçebilirsiniz - 14-01-2009, 15:14:42@Vinsanity
söylediğin şey gayet mantıklı gözüküyor ancak çalıştıramadım.. kullandığım sorgulama kodu bu
order by değerini kaldırdığım zaman çalışıyor order by ve group by aynı anda kullanılamaz mı?Alıntı
@sdemirkeser
karakter kodlamasıyla alakalı birşey değil bu sanırım yanlış anladın demek istediğimi..
- 14-01-2009, 15:20:14Üyeliği durduruldueğer alfabetik sıraya göre illeri girdiysen
$list = mysql_query("SELECT il FROM iller ORDER BY id DESC");
yeterli olacaktır. - 14-01-2009, 15:29:15cevap yazan herkese teşkkürler.. tabloda sadece şehir isimleri yok.. üyelerin bulunduğu bir tablo düşünün benim almaya çalıştığım sadece üyelerin şehirleri.. diyelim db de 1000 tane üye var.. ben siteme katılan son 10 üyenin şehirlerini listelemek istiyorum.. ama bu 10 kişinin içinde 5i aynı şehirden kaydolduysa sadece bi kez o şehir listelensin ve daha önceki kayılara geçilsin alt alta 5 defa aynı şehri yazdırmak istemiyorum.. umarım anlatabilmişimdir..
Group by komutu yukarıda bahsettiğim neden yüzünden işe yaramadı.. Distinct komutu da direk şehirleri gruplandırıyor son 10 üye kim bakmadan..
bu durumda tek seçenek array kullanmak sanırım.. ancak array konusunda çok zayıfım..
@saho nun verdiği örneği bana biraz daha ayrıntılı açıklayabilecek var mı acaba? - 14-01-2009, 15:55:49DISTINCT ile tabloda belirtilen alanda ne kadar aynı değer olursa olsun sadece birbirinden farklı değerleri seçebiliyoruz.NaCReS adlı üyeden alıntı: mesajı görüntüle
- 14-01-2009, 16:48:35Üyeliği durdurulduNaCReS adlı üyeden alıntı: mesajı görüntüle
group by ile order by in yerini değiştirisen calisir
$sql = ('SELECT il FROM `iller` GROUP BY `il` ORDER BY `id` DESC LIMIT 0 , 50 ')