Php Borç Takip Scritpi Yazdırmak İstiyorum.
-
Ben kendi çapımda php öğrenmeye çalışan bi adamım.
Fakat bi yerlerde tıkanıyorum hep.
Şuan yurtta kalıyorum. Yurtta 7 arkadaş ortak internet bağlattık. İnternet benim üzerime. Ben hepsinden aylık para alıyorum. Faturayı ödüyorum.
Bu işi için kendi çapımda bi script yapayım dedim. Fakat veritabanını bile nasıl şekillendirmem gerek çözemedim.
Nasıl bişey istediğimi tarif edeyim;
7 kişinin listeneceği (sonradan ekleme-çıkarma olabilecek)
örneğin ekim ayında ödediyse ödedi. Kasım ödemedi
şeklinde tablo gibi listeleyebileceğim.
Karmaşık bi admin paneline gerek yok.
Böyle bi script yapmak istiyorum.
Bana yardımcı olabilecek olan var mı? Çok zamanını almaz diye tahmin ediyorum. Hatta yarım saat içinde bana anlatarak yazabilsin
Ne kadar ücret isteyeceğini pm yoluyla bildirirse anlaşırız umarım. -
yok mu yardımsever bi vatandaş :(
-
Şimdi profesyonel birşey olmadığı için gelişigüzel söyleyeyim, sen araştır yaz, madem meraklısın yapabilirsin :)
Veritabanında iki tablo oluştur, kisiler ve yonetici. Yönetici kısmına 2 sütun oluştur kadi ve sifre diye, kullanıcı adını ekle ve kullanacağın şifreyi md5leyip ekle. Kisiler kısmına ad, soyad, ve taksit sütunlarını oluştur. (tabi taksit kısmında ister 1 sütun oluşturup her ödemede 1 arttırıp kaç taksit ödendiğini sayı olarak tut, istersen 12 sütun oluştur bool tipinde, direk 1-0 şeklinde ödendi-ödenmedi gibisinden tut)
Veritabanı kısmı biti, tutulması gereken başka bilgi yok herhalde?
---
Şimdi geç admin paneline; login.php içerisinde giriş formu oluştur bir kontrol.php sayfasına kadi değerini ve md5(sifre) değerini gönder,
SELECT * FROM yonetici WHERE kadi == gelenKadi AND sifre == gelenMd5lenmisSifre
gibi bi sorguyla veritabanından kontrol et girişi, doğruysa panele git yanlışsa geri döndür de. panel.php dosyanda session kontrolün olacak, ona görede eğer giriş yapılmamışsa session değerleri hatalı yada eksik diyip paneli göstertmemelisin, yoksa direk panel.php açılır giriş yapılmadan.
Panelde de SELECT * FROM kisiler diyip bütün satırları sütunları çektirip listeleyip yazdırırsın
Ad Soyad - 1. ay 2. ay falan gibisinden alt alta, her ayın olduğu kısımda bi checkbox olur, sayfanın en altında bi kaydet butonu olur, kaydet dediğinde işaretli olan checkboxlar vtabanına true döndürür ilgili ay sütununa.
panel.phpde kullaniciEkle.phpye link verirsin, tıkladığında yine session kontrolü ile oturum açılmışmı baktırırsın, oturum doğrulandıktan sonra ad ve soyad için textboxlar olur, gönder ve sil butonların olur, göndere tıkladığında
INSERT INTO kisiler (ad, soyad, ay1, ay2,...diğer ayların sütunları) VALUES (girdiginAdDegeri, girdiginSoyadDegeri, aySutunlariIcinFalse değerleri)
şeklinde bir sorguyla yeni kişi eklersin, sile tıkladığında DELETE FROM kisiler WHERE ad == girdiginAd AND soyad == girdiginSoyad sorgusuyla kayıt silersin.
---
index.php dosyasında da SELECT * FROM kisiler diyince gelenleri paneldeki gibi listeletirsin, ama checkboxlı olarak değilde checkbox yerinde ödendiyse(true ise) yeşil tik işareti, ödenmediyse kırmızı çarpı işareti gösterir.
Framework bilgim yok, böyle birşey için frameworke gerek olduğunu da sanmıyorum, düz php yapıştır gitsin. Daha sonra bi freehost falan ayarlayıp scripti yükle kim ödemiş kim ödememiş diğerleride görsün :D tabi kağıt üzerinde de kaydını tut ki hacklenir, silinir bişey olur hesabın şaşmasın. Haydi kolay gelsin.
-
wasd hocam sağolasın. kendi resellerım var zaten :)
amaç burda gerçek verileri tutmak da değil. Kendim birşeyler yapabilmek ve yapabildiğimi görmek.
Bu taksitlendirme için ayrı bi tablo yapsam. Odeme diyeodeme_id -> pk ai
odeyen_id -> odeyen kişinin idsi
odeme_miktari -> o ay ödenen miktar
odeme_tarihi -> hangi tarihte ödemiş
şeklinde yapsam. Bunu nasıl birleştireceğim veriyi index.php de yansıtırken? -
O şekilde yapmayı planlıyorsan şöyle olur;
Ödeme miktarı - Ödeme tarihi - Ödemeyi yapanın adı soyadı
Şeklinde listeletirsin. "SELECT * FROM odemeler" diyip odemeler tablosunu çekersin, miktarla tarihi yazdırırsın, gelen kullanıcı idsinide başka bir sorguya verirsin "SELECT * FROM kisiler WHERE id == kisiId" şeklinde, burdan dönen ad soyad değerlerinide ödemeyi yapanın adı soyadı hanelerine yazdırırsın.
Bu şekilde yapacaksan veritabanını şöyle yapabilirsin
3 tablo: kisiler, odemeler, yonetim
kisiler tablosu: kisiId, ad, soyad
odemeler tablosu: kisiId, miktar, tarih
yonetim tablosu: kadi, sifre
odemeler tablosuna kisiId dışında bir id değeri eklemene gerek yok, direk ORDER BY tarih yaparsın, ödeme tarihlerine göre sıralatırsın zaten.
Tarihi otomatik aldırıp kaydettirirsin, panelde tüm kişilerin yanına bir silme butonu eklersin ad soyad yazmadan kisiId ile direk butona tıkladığında o kişi silinir tabi yine odemeler tablosundan da bu kisiIdye sahip ödemeler sildirilebilir.(eğer kişi silme işlemi sadece taksit bittiğinde yapılacaksa) Hatta kişi silme sorgusunu buton çalıştırır, bu kişi silme sorgusu için trigger yazarsın, o trigger ile odemeler tablosundan kişiye ait kayıtlar silinir.
Geliştirmek istedikten sonra çok geliştirilir, ben bu işi çözemedim dediğin için olabildiğince basit anlatmaya çalıştım. Gerçi ben de profesörü değilim ama ilk mesajda yazdığımdan daha fazlası yapılabilir elbet =)
Ekleme: hatta şöyle bir triggerda ekleyebilirsin: kullanıcının yaptığı ödemenin kayıt sorgusu çalıştığında bir trigger çalışır, odemeler tablosunda o kullanıcının idsini tutan ödeme kayıtlarındaki miktarları toplayıp kullanıcının borcu kalıp kalmadığını kontrol eder, eğer borcu bittiyse kullanıcıyı sistemden silebilir ya da herhangi başka birşey yapabilir.
wasd tarafından 04/Kas/14 03:35 tarihinde düzenlenmiştir
