Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
571
Tıklama
0
Öne Çıkarma
Slider alanına SQL sorgulama ile İlgili Yazıya İlgili Resimi getirme
G
10 yıl
Er
Konu Sahibi

İyi günler arkadaşlar bir sorum olacaktı, bilgisi olan cevaplayabilirse memnun olurum.

Haberler diye bir slider alanım var. Bu slider alanında 4 tane başlık gelecek bu
başlıklara ait birden fazla resim var. Ama ben slider alanımda ise ilgili
başlığa 1 resim gelmesini istiyorum.
Mysql veritabanında 2 tane tablom var birinde haberle ilgili bilgiler diğerinde
ise ilgili haberlere ait resimler var. Haber tablosu (HaberID, haberbaslik, haber, tarih vb.) Haberresim tablomda ise (HaberID, Resimyolu) idi.
Sadece sorgulama ile ilgili başlıklara ait ilgili 1 resimi slider alanıma nasıl getirebilirim?


< Resime gitmek için tıklayın >
< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi Guest-3DFC350BB -- 17 Mart 2015; 11:30:44 >

T
10 yıl
Çavuş

select *,
(select top 1 Resimyolu from Haberresim where HaberID=Haber.HaberID) as tekresim
from Haber

bu tarz bi sorgu yazdığınızda haberlerin tümünü, en sağ kolonda da ilgili habere ait tek bir resmin yolunu alabilirsiniz.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @mustafaatay450
G
10 yıl
Er
Konu Sahibi

Yazmış oldugun koddan fazla birşey anlayamadım. Ben şöyle anlatayım.

Öncelikle 2 ayrı tablom var. haber , haberresim tablosu ikisindede ortak HaberID

resimde de görüldüğü üzere sol tarafta resim alanı sağ tarafta ise başlık ve içerik alanı var.

resimleri ayrı bir while döngüsünde döndürmek ve başlık ve içerikleri ayrı bir while döngüsünde döndürmek istiyorum.

bu nedenlede 2 ayrı sorgu oluşturmam lazım.

1. sorguda resimlerin oldugu haberresim tablosundan haber tablosunda ki tek bir başlık ve içeriğe ait birden fazla resim var. Ama ben sadece 1 tanesini göstermesini istiyorum.

2. sorguda ise haber tablosundan başlık ve içeriğin gelmesini istiyorum..

Tek bir sorguda halledebilinir mi , Aşağıda tabloda bulunan alanların isimleri yazıyor. Yardımcı olursanız sevinirim...

haber tablosunda HaberID, HaberBaslik, Haber(açıklama), HaberTarih, Yazar bulunmakta

haberresim tablosunda ResimID, HaberID, ResimYolu bulunmakta...


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Th4L!0n
T
10 yıl
Çavuş

Yazmış olduğum sql sorgusu istediğin gibi zaten tüm alanları birleştirmiş olarak getiriyor tek sorguda. Daha açıklayıcı yazayım çünkü cevabın zaten üstte yazdığım sorguda.

select * from Haber --> Öncelikle bu sorguyu düşün ne diyor; bana Haber tablosundaki tüm bilgileri getir. Buradaki bilgilerden hariç ihtiyacın olan tek şey farklı bir tabloda ki ama haberin id si ile eşleşen tek resmi çekmek değil mi? Onun içinde şu sorguya bakalım;

(select top 1 Resimyolu from Haberresim where HaberID=Haber.HaberID) as tekresim --> yani diyor ki bana Haberresim tablosundan 1 tane resmi getir Haberresim tablosundaki HaberID ile Haber tablosundaki HaberID si eşit olanı getir diyor. Yani ilgili haberin kendi resminden 1 tane getiriyor.

Şimdi bu sorguyu birleştirelim;

select *,
(select top 1 Resimyolu from Haberresim where HaberID=Haber.HaberID) as tekresim
from Haber

sen bu sorguyu çalıştırdığında karşına Haberlerin tüm kolonları en sağ kolonunda da normalde Haber tablon da olmayan tekresim başlıklı bir kolon gelecek burada da ilgili resmi alabileceksin. Haberleri çektiğin yere de istediğin kolon adını yazarak doldurabilirsin.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @mustafaatay450
G
10 yıl
Er
Konu Sahibi

Sorguyu değişkene atayıp mysql_fetch_array fonksiyonu ile döndürüp print_r(); ile gelen değerlere bakayım dedim hata veriyor. tabloları ve tablodaki sutun isimlerini kontrol ettim ama hatayı yine verdi. kod Aşagıda

$resimhaber=mysql_query("SELECT *,(SELECT TOP 1 ResimYolu from haberresim where HaberID=haber.HaberID) as tekresim from haber ");

$haberresim=mysql_fetch_array($resimhaber);

print_r($haberresim);


Birde as tekresim kısmını anlayamadım...


< Resime gitmek için tıklayın >





< Bu mesaj bu kişi tarafından değiştirildi Guest-3DFC350BB -- 18 Mart 2015; 12:15:07 >


Bu mesajda bahsedilenler: @Th4L!0n
Y
10 yıl
Binbaşı

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.