אלו השדות הבסיסיים המופיעים בכל טבלה שאני יוצר (קשור בתשתית המערכת, אני לא ארחיב על הנושא):
CREATE TABLE `global_table` ( `id` int(11) unsigned NOT NULL auto_increment, `created` datetime NOT NULL, `created_by` int(11) NOT NULL default '0', `state` tinyint(1) NOT NULL default '1', `timestamp` int(11) NOT NULL default '0', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL default '0', `checked_out` int(32) NOT NULL default '0', `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=0 ;
|
טבלאות המשתמשים (אין כאן את השדות מלמעלה)
CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `username` varchar(30) collate utf8_bin NOT NULL default '', `password` varchar(32) collate utf8_bin default NULL, `email` varchar(50) collate utf8_bin default NULL, `ban` tinyint(4) NOT NULL default '0', `timestamp` int(11) unsigned NOT NULL default '0', `regdate` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP, `sendmail` tinyint(4) NOT NULL default '0', `activation` varchar(100) collate utf8_bin NOT NULL default '', `site_1` tinyint(4) NOT NULL default '1', PRIMARY KEY (`id`), UNIQUE KEY `username` (`username`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
|
בשביל להוסיף שטחי פרסום, יש צורך תחילה בהוספת אתר אל המערכת:
catid - הקטגוריה אלייה משוייך האתר.
CREATE TABLE `rdy_banner_sites_items` ( `id` int(11) unsigned NOT NULL auto_increment, `catid` int(11) NOT NULL, `name` varchar(32) collate utf8_bin NOT NULL, `description` varchar(255) collate utf8_bin NOT NULL, `address` varchar(255) collate utf8_bin NOT NULL, `metaKeywords` varchar(255) collate utf8_bin NOT NULL default '0', `created` datetime NOT NULL, `created_by` int(11) NOT NULL default '0', `state` tinyint(1) NOT NULL default '1', `timestamp` int(11) NOT NULL default '0', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL default '0', `checked_out` int(32) NOT NULL default '0', `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `metaKeywords` (`metaKeywords`), KEY `catid` (`catid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
|
טבלת שטחי הפרסום, כמובן שכל שטח משוייך לאתר:
catid - הקטגוריה אלייה משוייך שטח הפרסום (ברירת מחדל אך ניתן לשינוי, תבחר הקטגוריה אלייה שייך האתר).
adv_site_id - לאיזה אתר משוייך שטח זה.
allowFreeAds - אפשר פרסום בתמורה לקרדית רגיל.
advDaysPeriod\advPayment - תקופה מינימאלית ותשלום בעבורה.
CREATE TABLE `rdy_banner_sites_slots_items` ( `id` int(11) unsigned NOT NULL auto_increment, `catid` int(11) NOT NULL, `adv_site_id` int(11) NOT NULL default '0', `name` varchar(32) collate utf8_bin NOT NULL, `description` varchar(255) collate utf8_bin NOT NULL, `address` varchar(255) collate utf8_bin NOT NULL, `bannerType` int(11) NOT NULL default '1', `allowFreeAds` int(1) NOT NULL default '1', `advDaysPeriod` int(11) NOT NULL default '0', `advPayment` int(11) NOT NULL default '0', `totalCredit` int(11) NOT NULL, `totalFreeCredit` int(11) NOT NULL, `totalExposure` int(11) NOT NULL default '0', `totlaClicks` int(11) NOT NULL default '0', `created` datetime NOT NULL, `created_by` int(11) NOT NULL default '0', `state` tinyint(1) NOT NULL default '1', `timestamp` int(11) NOT NULL default '0', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL default '0', `checked_out` int(32) NOT NULL default '0', `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `catid` (`catid`), KEY `adv_site_id` (`adv_site_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
|
כעט, טבלת הקמפיינים, בכדי לפרסם בשטח פרסום יש צורך ביצירת קמפיין:
creditsAllocating - סה"כ קרדית (בתשלום\נרכש) מוקצה.
freeCreditsAllocating - סה"כ קרדית מוקצה.
remainCredits - קרדית (בתשלום\נרכש) שנותר.
remainFreeCredits - קרדית שנותר.
CREATE TABLE `rdy_banner_campaign_items` ( `id` int(11) unsigned NOT NULL auto_increment, `name` varchar(32) collate utf8_bin NOT NULL, `description` varchar(255) collate utf8_bin NOT NULL, `creditsAllocating` int(11) NOT NULL default '0', `freeCreditsAllocating` int(11) NOT NULL default '0', `remainCredits` int(11) NOT NULL default '0', `remainFreeCredits` int(11) NOT NULL default '0', `created` datetime NOT NULL, `created_by` int(11) NOT NULL default '0', `state` tinyint(1) NOT NULL default '1', `timestamp` int(11) NOT NULL default '0', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL default '0', `checked_out` int(32) NOT NULL default '0', `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
|
לכל קמפיין יש צורך בבחירת מקומות פרסום:
totalExposure - חשיפה בסה"כ.
totalClicks - לחיצות בסה"כ.
adv_campaign_id - משייך את השטח לקמפיין.
adv_site_id - משייך את השטח לאתר.
totalCostCredits - עלות כללית של הפרסום.
totalDaysExposure - סה"כ ימי חשיפה.
expDate - תוקף הפרסום.
CREATE TABLE `rdy_banner_campaign_slots_items` ( `id` int(11) unsigned NOT NULL auto_increment, `adv_campaign_id` int(11) NOT NULL default '0', `adv_site_id` int(11) NOT NULL default '0', `totalExposure` int(11) NOT NULL, `totalClicks` int(11) NOT NULL, `bannerImage` varchar(255) collate utf8_bin NOT NULL, `referLink` varchar(255) collate utf8_bin NOT NULL, `totalCostCredits` int(11) NOT NULL, `totalDaysExposure` int(11) NOT NULL, `expDate` date NOT NULL, `created` datetime NOT NULL, `created_by` int(11) NOT NULL default '0', `state` tinyint(1) NOT NULL default '1', `timestamp` int(11) NOT NULL default '0', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL default '0', `checked_out` int(32) NOT NULL default '0', `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`), KEY `adv_campaign_id` (`adv_campaign_id`), KEY `adv_site_id` (`adv_site_id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
|
עכשיו לטבלה הסופית, זו שתחזיק את המידע הרלוונטי של המשתמש:
totalEarnedCredits - סה"כ קרדית (לא חינמי).
totalEarnedFreeCredits - סה"כ קרדית (חינמי).
remainCredits - קרדית שנותר (ניתן למימוש כתשלום או כשימוש בשטחי פרסום).
remainFreeCredits - קרדית שנותר (חינמי)
remainPurchaseCredits - קרדית שנותר (קרדית שהמשתמש רכש בעצמו)
CREATE TABLE `rdy_banner_items` ( `id` int(11) unsigned NOT NULL auto_increment, `totalEarnedCredits` int(11) NOT NULL, `totalEarnedFreeCredits` int(11) NOT NULL, `remainCredits` int(11) NOT NULL, `remainFreeCredits` int(11) NOT NULL, `remainPurchaseCredits` int(11) NOT NULL, `created` datetime NOT NULL, `created_by` int(11) NOT NULL default '0', `state` tinyint(1) NOT NULL default '1', `timestamp` int(11) NOT NULL default '0', `modified` datetime NOT NULL default '0000-00-00 00:00:00', `modified_by` int(11) NOT NULL default '0', `checked_out` int(32) NOT NULL default '0', `checked_out_time` datetime NOT NULL default '0000-00-00 00:00:00', PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin AUTO_INCREMENT=1 ;
|
אשמח לשמוע את דעתכם בנושא