![]() | |
| | #1 (permalink) |
| ... Üyelik Tarihi: 08/2002 Yer: İstanbul
Mesaj: 8,753
|
Selamlar.. Elımde uc tablo var.. ana_haber, ana_yazi ve ana_yorum.. ana_yorum tablosu kalan ıkı tablo tarafından ortak kullanılıyor.. Herneyse sorun su.. Ben bu yapıda bır yazı kategorısıne aıt en son eklenen yazının tarıhını (bu forumda oldugu gıbı) ve hangı tabloda (yazı,yorum) oldugunu bulmak ıstıyorum.. Ama son eklenen bır yazıda olabılır bır yorumda.. Bu durumda nasıl bır sorgu kullanmalıyımkı benım ıcın ana_yorum ve ana_yazı tablolarını bırlestırıp sadece gecerlı kategorıye aıt kayıtların her ıkı tablodakı tarıhlerını karsılastırıp en buyuk tarıhe sahıp alanın ıd sını versın? Ben buraya kadar gelıp takıldım... Kod: select yazi_id, yorum_id, if(max(yorum_tarih)>max(yazi_tarih), max(yorum_tarih), max(yazi_tarih)) as tarih from ana_yorum, ana_yazi where yorum_tablo = 'ana_yazi' and yorum_hedef = yazi_id and yazi_kategori = '2' group by yazi_kategori Kod: yazi_id | yorum_id | tarih 1 | 1 | 2003-04-22 16:00:00 Neyse fazla uzattım sızce ne yapmam lazım? |
| | |
| | #2 (permalink) |
| ... Üyelik Tarihi: 08/2002 Yer: İstanbul
Mesaj: 8,753
|
Yanı benım ıstedıgım aslında.. Kod: id | uye | tarih 1 | 2 | 2003-04-22 16:00:00 Uye ıse yıne benzer sekılde son eklenen yazi ıse yazi_uye, degıl yorum ıse yorum_uye.. Tarih ıse son eklenen yazı yada yorum kaydının tarihi.. Cokmu sey ıstıyorum acaba? |
| | |
| | #3 (permalink) |
| Registered User Üyelik Tarihi: 01/2003
Mesaj: 6,337
|
Ne diyorsun yahu ![]() 10 kere okudum daha cozemedim Tablolari birlestirmek icin UNION kullanabilirsin. Mesela SELECT 'yorum', yorum_id, yorum_tarih AS Tarih FROM ana_yorum WHERE ... UNION SELECT 'yazi', yazi_id, yazi_tarih AS Tarih FROM ana_yazi WHERE ... ORDER BY Tarih DESC LIMIT... Bu isine yarar mi bilmiyorum cunku soruyu anlayamadim. |
| | |
| | #4 (permalink) | |
| Luke is back... Üyelik Tarihi: 05/2002 Yer: ../Dark_Side
Mesaj: 2,443
| Alıntı:
Demek ki bende bi anormallik yokmuş , bi iki kere okudum ama hiç bi şey anlamadım, açlıktandır dedim kendime..Neyse..
__________________ Do or do not. There is no try. | |
| | |
| | #5 (permalink) |
| ... Üyelik Tarihi: 08/2002 Yer: İstanbul
Mesaj: 8,753
| Eheh kusura bakma ya.. Ama uzun uzun anlatıp kafanızı sısırmeyım demıstım.. Sımdı durum su.. Elımde uc tablo varana_haber ------------ haber_id haber_uye haber_kategori ... ana_yazi ------------ yazi_id yazi_uye yazi_kategori ... ana_yorum ------------ yorum_id yorum_uye yorum_tablo yorum_hedef Bunun yanında bırde yazı kategorılerını tutan bır tablo ve uye tablosu var.. kat_yazi ------------ kat_id kat_baslik kat_icerik kat_hedef (hedef 0 ıse bolum, 0 dan buyuk ıse kategorı) ana_uye ---------- uye_id uye_user .... Yanı hersey ılıskısel.. Ornegın o bahsettıgım kategorı degerı kat_yazi tablosundan gelıyor.. Ben once hedefı 0 ve baslıgı "Ana bolum" olan bır kayıt eklıyorum kat_yazi ya boylece "Ana bolum" adında bır bolumum olmus oluyor.. Ardından bu bolume bır kategorı eklemek ıstedıgımde hedefı "1" ve baslıgı "Alt kategorı" olan bır kayıt daha eklıyerek bu ısıde halledıyorum.. Bu "Alt kategorı" nın ıdsıde ornegın "2" dıyelım.. Bunuda bu kategorı altına yazı eklerken yazının yazi_kategorı alanına yazıyorum.. Ote yandan yorum tablosu ıcın bu tıp bır alan tanımlamadım.. Yanı yorumları saklarken sadece kaydın hangı tabloya ve o tablodakı hangı kayda aıt oldugunu tutuyorum sadece.. Dıyelımkı yazi_id si "1" olan yazıya bı yorum eklemek ıstıyorum ozaman gıdıp ana_yorum tablosuna yorum_tablosu "ana_yazi" ve yorum_hedefı "1" olan bır kayıt eklıyorum.. Sımdı hersey acıksa sorun su.. Ben bu bolumlerı (hedefı 0 olan kategorılerı) lıstelerken soyle bır cıktı almak ıstıyorum.. PHP Kodu: Iste benım ıstedıgım seyde bu son eklenen kaydın hangı tabloda hangı tarıhte ve hangı uye tarafından yazıldıgını bılmek.. Cunku ona gore Uye adını yazı tarıhını ve yazıya gıden lınkı yazdırıcam ekrana.. Sımdı bana "pekı nıye bu kadar ugrasıyosun, ıkı sorgu ve bır karsılastırma ıle bu halledılebılır" dıyeceksınız.. Bılıyorum ama ben bunu tek bır sorgu ıle yapmak ıstıyorum.. Sımdı yeterınce acık oldumu |
| | |
| | #8 (permalink) |
| Luke is back... Üyelik Tarihi: 05/2002 Yer: ../Dark_Side
Mesaj: 2,443
|
Yalnız bu forumda tam olarak bir normalizasyon uygulanmamış.. Veritabanı tabloları ekrandaki sayfalar gözönüne alınarak tasarlanmış.. Yani JOIN işlemi masraflı olduğundan olabildiğince tek tablodan sorguları halledebilmeyi hedeflemişler. Mesela konuyu ekleyenin ID si değilde kullanıcı adı konu tablosuna yazılması gibi... Herneyse, soruyu okuyayım belki yanıtlayabilirim..
__________________ Do or do not. There is no try. |
| | |
| | #9 (permalink) |
| Registered User Üyelik Tarihi: 01/2003
Mesaj: 6,337
|
Bir kere tasarim olarak hata var. Ya haber ve yazi tablolarini birlestirip tel tablo yapmali ve yazi_tip diye bir alan eklemelisin (tip 0, haber demek; tip 1, yazi demek olacak) ya da her ikisi icin de ayri birer yorum tablosu olmali. yazi_yorum ve haber_yorum diye... Tasarimi degistirmek istemiyorum diyorsan, ilk mesajda yazdigim UNION isini goruyor. |
| | |
| | #10 (permalink) |
| ... Üyelik Tarihi: 08/2002 Yer: İstanbul
Mesaj: 8,753
|
Aslında tasarım bıraz kod yapısınada baglı.. Yanı asıl amacım tum yorum fonksıyonlarını (yorum_listele, ekle, degıstır,sıl gıbı) bır dosyada (yorum.php) toplayarak her ıkı scrıpte (haber,php,yazı.php) ınclude ederek aynı seylerı tekrar tekrar yazmaktan kurtulmaktı... Kı aslında bahsettıgın gıbı ılk yaptıgım tasarımda yazı,yorum,haber,forum hepsı tek bır tablo altındaydı.. Ama herbırının kendıne has alanları olucagı ıcın (haber_foto gıbı) bundan vazgecerek tabloları ayırmaya karar verdım.. Ardından yorumlarıda bır hedef alanına baglıyarak (hedef 0 ıse yazı, sıfırdan farklı ıse degere baglı yazının yorumu) haber ve yazı ıcın ayrı ayrı tutmayı dusundum ama buda basta dedıgım gıbı ek ıs cıkartıcaktı.. Kısacası ben su UNION 'ı kurcalayıp anlamaya calıssam ıyı olucak gıbı ![]() Yardımlar ve tavsıyeler ıcın tesekkurler.. |
| | |
![]() |
| Bookmarks |
| Seçenekler | |
| |
Benzer Konular | ||||
| Konu | Konuyu açana göre | Forum | Cevap | En Son Mesaj |
| sql sorgusu | msk1977 | PHP | 1 | 11/04/2006 13:41 |
| sql sorgusu | msk1977 | PHP | 3 | 10/04/2006 12:00 |
| SQL sorgusu... | rccinar | Veritabanları & SQL | 5 | 19/05/2005 12:27 |
| PHP Sorgusu | zinnat | PHP | 8 | 08/12/2004 00:58 |
| sql sorgusu... | Hard`n`Dark | Veritabanları & SQL | 7 | 12/11/2002 18:23 |
| Reklamlar & Desteklenenler | |
| Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv | |