ورود

View Full Version : درخواست راهنمایی برای تعریف جدول



kavoshgar63
پنج شنبه 27 فروردین 1388, 01:27 صبح
سلام من یک سایت اموزشگاه مجازی دارم طراحی می کنم که کاربر برای ورود به کلاسها باید مراحل زیر رو طی کنه
ابتدا باید در سایت ثبت نام اولیه کنه و یوزر . پسورد برای خودش تعریف کنه.
2- وارد سایت بشه یعنی لاگین کنه با نام کاربریش و از قسمت انتخاب دروس درسهایی رو که می خواد رو انتخاب کنه.
3- در قسمت ثبت فیش بانکی باید فیش بانکی رو که به حساب موسسه واریز کرده در سیستم ثبت کنه.
مدیر سایت اگر ببینه که اطلاعات مندرج در فیش بانکی درسته یعنی کاربر پول واریز کرده اون درسهایی رو که کاربر انتخاب کرده رو فعال می کنه.
حالا نگاهی به جداول بندازین

جدول تعریف دروس اولیه که مدیر تعریف می کنه.

CREATE TABLE IF NOT EXISTS `lesson` (
`lessonid` int(11) NOT NULL AUTO_INCREMENT,
`lessonname` varchar(255) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`lessonamount` int(11) NOT NULL,
`detail` varchar(255) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
PRIMARY KEY (`lessonid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=18 ;

جدول تعریف استاد

CREATE TABLE IF NOT EXISTS `teacher` (
`teacherid` int(11) NOT NULL AUTO_INCREMENT,
`teachername` varchar(16) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
`teacherfamily` varchar(20) CHARACTER SET utf8 COLLATE utf8_persian_ci NOT NULL,
`tel` varchar(11) COLLATE latin1_general_ci DEFAULT NULL,
`address` varchar(50) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
`email` varchar(30) COLLATE latin1_general_ci DEFAULT NULL,
`hours` varchar(50) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
`mobile` varchar(11) COLLATE latin1_general_ci DEFAULT NULL,
`proficiency` varchar(30) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
PRIMARY KEY (`teacherid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=8 ;

جدول تعریف دوره (دوره هایی که در آموزشگاه برگزار خواهد شد)

CREATE TABLE IF NOT EXISTS `period` (
`periodid` int(11) NOT NULL AUTO_INCREMENT,
`lessonid` int(11) NOT NULL,
`teacherid` int(11) NOT NULL,
`hours` varchar(50) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
`examdate` varchar(20) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
`periodstart` varchar(20) CHARACTER SET utf8 COLLATE utf8_persian_ci DEFAULT NULL,
`active` enum('f','t') COLLATE latin1_general_ci NOT NULL DEFAULT 'f',
`timestamp` int(10) DEFAULT NULL,
PRIMARY KEY (`periodid`),
KEY `lessonid` (`lessonid`),
KEY `teacherid` (`teacherid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=13 ;

جدول تعریف دروس انتخاب شده توسط کاربر

CREATE TABLE IF NOT EXISTS `lessonselect` (
`lessonselectid` int(11) NOT NULL AUTO_INCREMENT,
`userid` int(11) NOT NULL,
`periodid` int(11) NOT NULL,
`ghabzid` int(11) NOT NULL,
`mark` tinyint(4) DEFAULT NULL,
`active` enum('f','t') COLLATE latin1_general_ci NOT NULL DEFAULT 'f',
PRIMARY KEY (`lessonselectid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=1 ;

جدول اطلاعات فیش بانکی

CREATE TABLE IF NOT EXISTS `ghabz` (
`ghabzid` int(11) NOT NULL AUTO_INCREMENT,
`ghabznumber` varchar(20) COLLATE utf8_persian_ci NOT NULL,
`timestamp` int(10) NOT NULL,
`amount` int(11) NOT NULL,
PRIMARY KEY (`ghabzid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_persian_ci AUTO_INCREMENT=1 ;
حال که من همه چیز رو به نظر خودم شرح دادم می خوام بدونم که من پس از اینکه دروس انتخابی رو که کاربر مشخص کرده رو در سیستم درج کردم حالا باید منتظر بشم تا کاربر بره فیش بانکی رو واریز کنه و بیاد در سیستم درج کنه.
اگر کاربر 1 دوره 4 رو انتخاب کنه و بعد همین کاربر دوره 5 رو انتخاب کنه حال باید در جدول خودش فیلد قبض رو چی بگذاره چون هنوز قبضی پرداخت نشده.
حال ما باید چه کنیم.
در زمانی که کاربر بره و پول رو پرداخت کنه و بیاد توی سیستم ثبت کنه کاربر ما 5 تا درس رو در یک قبض پرداخت کرده مثلا هر درس 2000 تومان بوده و کاربر 100000
تومان پرداخت کرده من چطور توی جدول انتخاب دورس در قسمت فیلد ghabzid شماره آی دی قبض رو درج کنم.
این روش خیلی پیچیده است.
آیا روش بهینه تری توی ذهنتون هست؟
ممنونم از این که کمک می کنید.