Results 1 to 5 of 5
Oct 29, 2013, 02:32 #1
Is there any algorithm to make some ad display at random more often than others
I have a table of advertisement with expiry date and location. Currently, I display ad at random base on userís location.
In the near future, I want to add tier system in to my ad sale. It means the first tier ad should be displayed more often than the second tier, but I donít know how to control that.
Is there any existing solution for my problem?
Nov 5, 2013, 07:33 #2
Anyone? Here's the code I've been done so far:
Creating a table:
$mysqli->query("CREATE TABLE `ads` ( `id` INT NOT NULL AUTO_INCREMENT, `uid` INT NOT NULL, `txt` TEXT NOT NULL, `date` DATE NOT NULL default '0000-00-00', `img` VARCHAR( 120 ) NOT NULL, `location` VARCHAR( 75 ) NOT NULL, `expiry` DATE NOT NULL default '0000-00-00', PRIMARY KEY ( `id` ), UNIQUE ( `id` ) ) ENGINE = INNODB CHARACTER SET UTF8 COLLATE utf8_general_ci ") or die("DB error!");
SELECT id, uid, img, location, expiry FROM ads WHERE location = '$location' AND CURDATE() < expiry AND RAND()<(SELECT ((1/COUNT(*))*10) FROM ads) ORDER BY RAND() LIMIT 1
Nov 5, 2013, 08:23 #3
- Join Date
- Jul 2002
- Toronto, Canada
- 63 Post(s)
- 3 Thread(s)
Nov 5, 2013, 08:41 #4
Thank you. Any added knowledge is good news. I'm now convinced that it is seriously problematic. I'll abandoned this until getting further information.
Thank you again.
Nov 6, 2013, 04:55 #5
I found a solution. This is nothing new. Here it is: http://www.kahunaburger.com/2008/10/...ds-from-mysql/