İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

Asp ile MySql Veri Çekmede 2 Ayrı Tablodan Koşullu Sorgu Yaptırma

sempativet

0
İyinet Üyesi
Katılım
3 Mart 2005
Mesajlar
283
Reaction score
0
Merhaba, yardımınızı rica ediyorum.

MySql de 2 tablom var. İlk tablo arama, ikinci tablo icerikler.

arama Tablosu sütunları : id , arama, onay
icerikler Tablosu sütunları : id , arama_id , onay

arama tablosundaki id ile icerikler tablosundaki arama_id aynı.

Yapabildiğim bağlantı şu ;
PHP:
set rs = baglanti.execute("select * from arama WHERE onay = 1 order by rand() limit 0,30")
Bu şekilde arama tablosundan onaylanmış 30 adet rastgele veri çekiyorum.

Ancak yapmak istediğim şey, bu 30 rastgele veriyi, icerikler tablosunda kayıtlı olmayanlardan seçmek.
Arama tablosundakiler sayfalar, icerikler tablosundakiler de bu sayfalardaki içeriklerden oluşuyor.
Yapmak istediğim şey, hiç içeriği olmayan rastgele 30 onaylanmış sayfayı listeletmek...

arama tablosundaki kayıtlardan onaylanmış 30 tanesini rastgele listeleyeceğim, ama bu listede, icerikler tablosunda, arama tablosundaki id ye sahip veri olmayacak.:ıslık:


Çok daha kolay anlaşılabileceğini düşündüğüm bir örnek daha ;

forum konuları ve forum cevapları olarak iki tablomuz var,
forum konuları tablosunda id, baslık ve onay sütunları var,
forum cevapları tablosunda da id, forum_konu_idsi ve onay sütunları var,

ben 30 adet CEVAPLANMAMIŞ konuyu listeletmek istiyorum.



Anlatırken bile zorlanıyorum:eek:ha:, umarım anlatabilmişimdir. Bu sorgu için yardım bekliyorum.

Teşekkürler, saygılar.
 
T

trgy

Misafir
Dediğini anlamadım gerçekten. Yardımcı olayım diye girdim kafam allak bullak oldu.

1-30 tane rastgele veri çekeceksin
2- Sanırım bot yazıyorsun. :)

Botun mantığını anlatırsan daha iyi olur. :)
 

sempativet

0
İyinet Üyesi
Katılım
3 Mart 2005
Mesajlar
283
Reaction score
0
Hayır bot yazmıyorum. Çok daha basit bir olay aslında, içeriği olmayan sayfalardan 30 tanesini listelemeye çalışıyorum.

Olay şu ;

ankara diye bir arama yaptın. db deki arama tablosuna ;
id=586
aranan=ankara
onay=0

olarak kaydetti. Sonra editör girdi, bu girdiyi onayladı, son durumda ;

id=586
aranan=ankara
onay=1

oldu.

Sonra ben girdim, ankara ya bir içerik ekledim. Bu da db deki icerikler tablosuna ;

id=123
arama_id=586
onay=0

olarak kaydedildi. Sonra editör girdi, bu iceriği onayladı, son durumda ;

id=123
arama_id=586
onay=1

oldu.

Şimdi arama tablomda 586 id ile ankara araması mevcut.
icerik tablomda da 123 id ile ankara sayfasına ait (586) icerik mevcut.

tablolarda aşağıdaki kayıtlar var farzedelim ;

arama tablosu , id=1 den 586 ya kadar arama kayıtları, onaylı ve onaysızlar
icerik tablosu, id=1 den 123 e kadar icerik kayıtları, onaylı ve onaysızlar

arama tablosundaki 586 kayıttan rastgele 30 tanesini seçeceğim ama bu seçtiklerim onaylı olacak ;

PHP:
set rs = baglanti.execute("select * from arama WHERE onay = 1 order by rand() limit 0,30")

buraya kadar iyiyiz. 30 tane onaylı sayfa listeledi bana.

Fakat ben, bu listelenen 30 sayfanın, içerik eklenmemiş, yani arama tablosundaki id nin icerikler tablosundaki arama_id ile eşiti olmayanlardan oluşmasını istiyorum.

yukarıdaki varsayımda da belirttiğim üzere, ankara aramasının bir içeriği olduğu için, bu 30 tane rastgele veri de bu ankara sayfası yani 586 id li kayıt görünmemeli. arama tablosundan veri çekerken, icerikler tablosunda da sorgu yaptırıp, iceriği olmayan aramalardan 30 tane listelemem gerekiyor..:peh:


Çok daha kolay anlaşılabileceğini düşündüğüm bir örnek daha ;

forum konuları ve forum cevapları olarak iki tablomuz var,
forum konuları tablosunda id, baslık ve onay sütunları var,
forum cevapları tablosunda da id, forum_konu_idsi ve onay sütunları var,

ben 30 adet CEVAPLANMAMIŞ konuyu listeletmek istiyorum. :utan:


Teşekkür ederim, saygılar
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst