|
|
| |||||||
| PHP R10.net Php sevenler klubü. Kodlama soru(n)ları & acil php yardım hattı. |
| |
|
| | | LinkBack | Seçenekler |
| |||
| Arkadaşlar yarına kadar yetiştirmem gereken bir proje var. PHP ile bir web sitesi yapmam gerekiyordu. Yaptım yalnız 2 ufak kısmı için mantık kuramadım yardımlarınızı rica ediyorum. 1- Sitede facebook gibi bildirim sayfası var. Örnek: X kişisi A konusunu acmış ve bu A konusuna 3 yorum girilmiş. A kullanıcısının profilinde 3 bildiriminiz var nasıl dedirteceğim. Sql kodu lazım. 2- Sitede üyelerin yorum yaptığı bir yer var. A konusu , B konusu... bunlar arasında en çok yorum alan 5 konuyu sorgulayan sql kodu nedir ? Tüm bunlar büyük bir scriptin ufak parçaları. sql kısmında takıldım yardımlarınız için şimdiden sağolun |
| | |||
| 1-Konuyu ekletirken konular tablona konu_ekleyen_id diye bir alan aç buraya konuyu ekleyen kişinin uyeler tablosundaki id degerini kaydettir.Yorumlar tablosunada hangi konuya yorum yapılmışsa o konunun id sini konu_id alanına eklet ve kaç tane yorum oldugunu buna göre bul.Kullanıcı sayfasında bildirim sayısını göstermek için ise bildirimler diye bir tablo aç veritabanında yeni yorum yapıldıgında buraya konuyu açan kişini idsini konu_sahibi alanına ekletip, yorum yapan kişi bulabilmek içinse yorum_yapan_id kısmınada yorum yapanı ekletirsin.Daha sonra kaç tane bildirim oldugunu bu tablodan sorgulatıp gosterirsin.Kullanıcı bu bildirim linkine tıkladıgındada bildirimler tablosundaki o konuya ait verileri sildirirsin. 2.sorunda zaten order by anahtar kelimesinin kullanımından başka birşey değil. |
| |||
| Alıntı:
2. cevabın için ise şunumu diyorsun ? SELECT Count(*) FROM tablo GROP BY tablo LIMIT 10 bu tam olmadı ama boyle bir şey mi ? |
| |||
| 2. Soruyu hallettim. kod şu SELECT COUNT( y.ikonuid ) AS "konu sayısı", i.id AS "konu ID" FROM ikonu i, yorumlar y WHERE i.id = y.ikonuid GROUP BY y.ikonuid ORDER BY COUNT( y.ikonuid ) DESC LIMIT 10 peki bunları php de nasıl yazdıracağım ? gelen değerleri bir değişkene nasıl atarım ? |
| |||
| $sorgu = mysql_query("SELECT COUNT(y.ikonuid), i.id FROM ikonu i, yorumlar y WHERE i.id = y.ikonuid GROUP BY y.ikonuid ORDER BY COUNT( y.ikonuid ) DESC LIMIT 10"); while($kayit = mysql_fetch_array($sorgu)) { echo "Veri 1: $kayit[count(y.ikonuid)] Veri 2: $kayit[i.id]"."<br />"; } Test etmedim ama bunu dener misiniz ?
__________________ "Konuşabilmek" ile "Konuşmayı bilmek" Arasında çok büyük fark vardır. |
| |||
| Birinci sorunuz için, bildirimler için bir tablo açarsınız. Tabloda bildirimin ID numarası, kime bildirileceği ve bildiri yazısı alanları olur. Kişinin konusuna yorum geldiğinde bu tabloya gereken yazıyla birlikte bir kayıt eklersiniz. Kişi oturum açtığında onunla ilgili olan bütün bildirimleri çekip görüntülersiniz. Kişi bildirimi görüntüleyince de tablodan silersiniz veya okunup okunmadığıyla ilgili bir alan daha açıp buraya okundu olarak kaydedersiniz. Alıntı:
__________________ Hakan Aktaş |
| |||
| Alıntı:
|
| |||
| Sorgudaki AS tanımlarını kaldırın. Direk veritabanındaki adıyla kullanın değişkenlerde.
__________________ Hakan Aktaş |
![]() |
| Bookmarks |
| Seçenekler | |
| |