Ben kodlama başlamadan önce, ilk olarak iyi bir tasarım ile gelmek istiyorum. Temelde, ben tarihleri ile dolu bir veritabanı tablo var, ve o tarihlerde (tarihleri sql biçiminde olan) ile ilişkilidir kullanıcılar.
PHP kullanarak ben, her kullanıcı için, ilişkili oldukları kaç hafta sonları ilişkili oldukları kaç hafta içi (toplam sayımı) hesaplamak yanı sıra istiyorum. Ben her ay için toplam sayısını, hem de büyük bir toplam olması gerekir. Bu Mayıs Ağustos tarihleri arasında "çalıştırmak" için gerekiyor.
Ben bir gün ile bir hafta sonu ya da hafta içi bir gün olup olmadığını belirlemek olduğunu biliyoruz:
$date = '2007/08/30';
$weekday = date('l', strtotime($date));
Ay belirlemek için, ben SQL kullanmak, ve, örneğin, "10" dan "Ekim" almak için dava deyimi kullanabilirsiniz:
SELECT MONTH(DATE_SPECIFIED);
Ben en çok emin değilim Ne olsa da, geçmesi ne süreçtir. Ben kolayca sorguları ALOT olabilir, ancak bu verimsiz. İdeal olarak, bir html tablosunda sonuçları baskı düşünüyordum.
Herkes bu konuda gitmek nasıl herhangi bir öneri / tavsiye edebilir miyim?
Teşekkürler.
EDIT:
Ben kullanıcıların bir tablo var ve bir eventcal tablo.
Burada kullanıcılar tablo:
CREATE TABLE `users` (
`fname` varchar(50) NOT NULL,
`lname` varchar(50) NOT NULL,
`role` varchar(75) NOT NULL,
`region` tinyint(4) unsigned default NULL,
`username` varchar(25) NOT NULL,
`password` varchar(75) NOT NULL,
`new_pass` varchar(5) default NULL,
PRIMARY KEY (`username`),
KEY `role` (`role`),
KEY `region` (`region`),
CONSTRAINT `users_ibfk_2` FOREIGN KEY (`region`) REFERENCES `region` (`region`) ON UPDATE CASCADE,
CONSTRAINT `users_ibfk_1` FOREIGN KEY (`role`) REFERENCES `role` (`role`) ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Ve burada eventcal tablo:
CREATE TABLE `eventcal` (
`id` int(11) NOT NULL auto_increment,
`region` tinyint(3) unsigned NOT NULL,
`primary` varchar(25) NOT NULL,
`secondary` tinyint(1) NOT NULL,
`eventDate` date NOT NULL,
PRIMARY KEY (`id`),
KEY `primary_2` (`primary`),
CONSTRAINT `eventcal_ibfk_1` FOREIGN KEY (`primary`) REFERENCES `users` (`username`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=28 DEFAULT CHARSET=utf8
Bu evencal.primary users.username bir yabancı anahtar referansı vardır Not ...