Konuyu Oyla:
  • Toplam: 0 Oy - Ortalama: 0
  • 1
  • 2
  • 3
  • 4
  • 5
SQL de verileri süzmek
#1
bende 3 tane tablo var

1. tablo : kayit_bilgileri

no-ad-soyad-sinif-baba adi-anne adi-evtel-ceptel1-ceptel2-adres

2.tablo : devamsizlik

no-ad-soyad-sinif-devansizlik_tarih


3.tablo : gorusler

no-ad-soyad-sinif-gorus


şimdi abi 3 tane tablo var... bunların üçünden tablolardan bilgi çekecez

-----------Çıktı------

no - ad - soyad - sinif - baba adi - anne adi - evtel - ceptel1 - ceptel2 - adres- devansizlik_tarih - gorus


ana başılarında listeleme yapacak... bunun sql komutu nasıl olacak ?
Ara
Cevapla
#2
heralde şöyle olsa gerek,
bunlara galiba union select deniyordu, kısaca karma selectler...

$query="select k.no as no, k.ad as ad, k.soyad as soyad, k.sinif as sinif, k.babaadi as babaadi, k.anneadi as anneadi, k.evtel as evtel, k.ceptel1 as ceptel1, k.ceptel2 as ceptel2, k.adres as adres, d.devansizlik_tarih as dtarih, g.gorus as gorus from kayit_bilgileri k, devamsizlik d, gorusler g where no='$ogrencino'";


kısaca anlatmak gerekirse, aynı anda birkaç tablodan bilgi çekiyoruz. her tabloyu kısa isimler veriyoruz, k, d, g gibi..
bu direk çalışır mı emin değilim ama buna benzer olması lazım... kafadan yazdım..

selamlar.
Ara
Cevapla
#3
abi bu süzme işi nasıl olcak ?? okdar araştırdım bulamadım
Ara
Cevapla
#4
bidefa, yukardaki kod, tüm öğrencileri listeler, ve bir de hata var,
select k.no dediysen,
php icinde de ornegin, (bir kismini yazdım)

while($ekranabas=mysql_fetch_assoc($ssorgu)) {
echo "<td>".$ekranabas['k.no']."</td> ";
}

yazman lazım.

while($ekranabas=mysql_fetch_assoc($ssorgu)) {
echo "<td>".$ekranabas['no']."</td> ";
}

yazmak icin, sql soyle olması lazım:

$sorgu=" SELECT k.no as no, k.ad as ad, k.soyad as soyad, k.sinif, k.baba_adi, k.anne_adi, k.evtel, k.ceptel, k.ceptel2, k.adres, d.devansizlik_tarih, g.gorus
from
kayit k, devam d, gorus g
where
k.no = d.no and k.no = g.no";

yani, k.no dan sonra as no ekledik... digerlerine de eklenecek..

tabi bu sql ve php ile, tüm ogrencileri listeler.
bir ogrenciyi bulmak icin,

$sorgu=" SELECT k.no as no, k.ad as ad, k.soyad as soyad, k.sinif, k.baba_adi, k.anne_adi, k.evtel, k.ceptel, k.ceptel2, k.adres, d.devansizlik_tarih, g.gorus
from
kayit k, devam d, gorus g
where
k.no = d.no and k.no = g.no and k.no=$arananno";

olması lazım.

ben soyle bir test yaptım:
iki tablo olusturdum, (phpmyadminde, sql sorgusu bölümü)

CREATE TABLE `test1` ( `no` INT NULL AUTO_INCREMENT PRIMARY KEY ,
`adi` VARCHAR( 30 ) NULL ,
`soyadi` VARCHAR( 30 ) NULL ) ENGINE = MYISAM ;

CREATE TABLE `test2` (
`no` INT NULL PRIMARY KEY ,
`devamsizlik` INT NULL ,
`sinif` VARCHAR( 30 ) NULL
) ENGINE = MYISAM ;


sonra birer kayit ekle,

INSERT INTO `test1` (`no`, `adi`, `soyadi`) VALUES (1, 'ahmet', 'aslan');
INSERT INTO `test2` (`no`, `devamsizlik`, `sinif`) VALUES (1, 5, '5fena');

gine phpmyadminde, sql den:
select t1.no as no, t1.adi as adi, t1.soyadi as soyadi, t2.sinif as sinif, t2.devamsizlik
from
test1 t1, test2 t2
where
t1.no=1 and t1.no=t2.no;

girince calıstı.
bu sqli , php icinde,

$sorgu="select t1.no as no, t1.adi as adi, t1.soyadi as soyadi, t2.sinif as sinif, t2.devamsizlik
from
test1 t1, test2 t2
where
t1.no=1 and t1.no=t2.no";

$ssorgu=mysql_query($sorgu);
while($ekranabas=mysql_fetch_assoc($ssorgu)) {
echo $ekranabas['ad']."<br>";
}


burda, br yerine tablo, td tr kullanabilirsin.

bu kod yukardaki sorgu ve test1, test2 tablolarıyla direk calısır. denedim ben sql olarak.
php de ekrana yazar. orda t1.no=1 burda bir yerine, $arananno diyebilirsin,
arananno yu da bir arama formundan alabilirsin.
Ara
Cevapla


Hızlı Menü:


Şu anda bu konuyu okuyanlar: 1 Ziyaretçi


10tl.net Destek Forumu -

Online Shopping App
Online Shopping - E-Commerce Platform
Online Shopping - E-Commerce Platform
Feinunze Schmuck Jewelery Online Shopping