[yardım] aynı olan verileri bir kere çektirmek

adre_nalin

Profesyonel Üye
Katılım
11 Eki 2006
Mesajlar
243
Beğeniler
0
#1
Merhabalar arkadaşlar

tablodaki veriler
elma
armut
kiraz
şeftali
elma
muz
portakal
vs.

ben bunları listelettiğimde
2 adet elma olduğu için 2 kere yazıyor.
Ben istiyorumki aynı veriden yine varsa bir kez yazsın.

yardımınızı bekliyorum.
tşk.
 

Angelo

Onursal Üye
Katılım
13 Ara 2004
Mesajlar
9,604
Beğeniler
111
Yaş
36
Konum
AZ
#2
select a,b from c group by d
d <- tekil veri çekeceğin alan. sum, max, min gibi şeyler yapıyorsan bu işe yarar. Yine de elmanın birinde başka bir veri, diğerinde başka bir alanda başka bir veri varsa ve hepsi lazımsa yaramaz.
 

Grafix

Müptela Üye
Katılım
16 Ara 2006
Mesajlar
1,154
Beğeniler
0
Konum
Bursa
#3
veritabanına aynı verilerin eklenmesini istemiyorsanız aşağıdaki kod dizimlerini inceleyiniz,

PHP:
$formdangelen = $_POST["formdangelen"];

$sor = mysql_query("select alanadin from tabloadin where alanadin='$formdangelen'");


if(mysql_num_rows($sor)>0){

echo "aynı veri zaten eklenmiş";

}else{

$ekle = mysql_query("insert into tabloadin alanadin values ('$formdangelen')");

//ekleme işlemi olumluysa
if($ekle){

echo "Veri eklendi";

}else{

echo "Veri eklenemedi";

}

}
edit: pardon ben yanlış anlamışım,dediğiniz işlemi atay arkadaşımın söylediği DISTINCT özelliği ile yapabilirsiniz.
 

atay

Müptela Üye
Katılım
29 Eki 2005
Mesajlar
3,595
Beğeniler
37
#4
Mysql'de DISTINCT özelliği ile kolayca halledebilirsiniz.

Örnek:

$sql= "SELECT DISTINCT(birkere-cekilecek-alanin-adi),alan2,alan3 FROM tablo"
 

pCoX

Yeni Üye
Katılım
23 Eki 2007
Mesajlar
0
Beğeniler
0
Konum
Burda :)
#5
Bu kadar karışıklığa gerek yok...
örneğin bir forma selectbox oluşturduğunu varsayiyorum. Bu selectboxta yaş sorgusu olsun. Sorduğunuz yaş ise, 18, 19, 20, 21, 22 sayilari olsun.

Sizde bir sayfaya yanlızca 18 yasindakileri cekecekseniz. Aşağıdaki kodu uygulayınız...

Kod:
<?php 

$src = mysql_query("select * from table where yas='18'");
while($wr = mysql_fetch_array($src)) {

echo $wr['ad'];
echo $wr['soyad'];

}

?>
bu şekilde, sadece 18 yasindakilerin adini ve soyadini browserda görebileceksiniz.

Iyi Çalışmalar Dilerim.
 

Angelo

Onursal Üye
Katılım
13 Ara 2004
Mesajlar
9,604
Beğeniler
111
Yaş
36
Konum
AZ
#6
Arkadaşın demek istediği yaşı 18 olan Ahmet ve Mehmet varsa sadece birisinin gözükmesi.
 

pCoX

Yeni Üye
Katılım
23 Eki 2007
Mesajlar
0
Beğeniler
0
Konum
Burda :)
#7
Arkadaşın demek istediği yaşı 18 olan Ahmet ve Mehmet varsa sadece birisinin gözükmesi.
o halde fetch array sorgusunun while() döngüsünden cikartman ve mysql'den ad degerini cekmen gerekir.. oda şu şekilde :

Kod:
<?php 

$src = mysql_query("select * from table where yas='18' and ad='ahmet'");
$wr = mysql_fetch_array($src);

echo $wr['ad'];
echo $wr['soyad'];

?>

Dipnot :Sadece ID'si en yüksek "ahmet" verisini alacaktır...
 

Angelo

Onursal Üye
Katılım
13 Ara 2004
Mesajlar
9,604
Beğeniler
111
Yaş
36
Konum
AZ
#8
Adın ahmet olduğunu bilmiyoruz. Karışıklığa gerek yok dedin ama gördüğün gibi bu yolla karışacak biraz daha kurcalarsak :)
 

pCoX

Yeni Üye
Katılım
23 Eki 2007
Mesajlar
0
Beğeniler
0
Konum
Burda :)
#10
Adın ahmet olduğunu bilmiyoruz. Karışıklığa gerek yok dedin ama gördüğün gibi bu yolla karışacak biraz daha kurcalarsak :)
Kod:
<?php 

$yas = $_POST['yas'];
$ad = $_POST['ad'];

$src = mysql_query("select * from table where yas='$yas' and ad='$ad'");
$wr = mysql_fetch_array($src);

echo $wr['ad'];
echo $wr['soyad'];

?>
o halde bir form araciligi ile bu sekilde halledebiliriz ;). Demokrasilerde çareler tükenmez degilmi Angelo ?
 

Angelo

Onursal Üye
Katılım
13 Ara 2004
Mesajlar
9,604
Beğeniler
111
Yaş
36
Konum
AZ
#11
neden illa biryerlerden buluyorsun ki değeri, formdan gelmiyor, hiçbiryerden gelmiyor, haberimiz yok öyle birşeyden.


id - keyword
1 - mp3
2 - mp3 player
3 - mp3
4 - arcade
5 - arcade games
6 - arcade

böyle bir yapıda birer kere mp3,mp3 player, arcade ve arcade games çekilsin istiyoruz, çok mu şey istiyoruz. Sonsuz tane de olabilir, bilemiyorsun.

PHP ile zorlayıp yapacağım diyorsan tek yolu, hepsini seçip while ile döndürüp, her döngüde değeri bir diziye atıp, bir sonraki adımlarda diziyi kontrol ettirmek olabilir mükerrer basımlar için, ki gerek yok. :)
 

adre_nalin

Profesyonel Üye
Katılım
11 Eki 2006
Mesajlar
243
Beğeniler
0
#12
@pCoX arakadşımıza teşekkür ederim ama sanırım o ne yapmak istediğimi pek anlamamış.
Çözümü @atay arkadaşımızın dediği gibi DISTINCT olaı ile kolaylıkla hallettim.
Teşekürler

örnek kod:

"SELECT DISTINCT kelime FROM kelimeler"
 

Bu konuyu okuyanlar (Üyeler: 1, Misafirler: 0)

Üst