• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

[Gesior ACC] The most popular items in SMS Shop!

Aleh

Active Member
Joined
Jan 9, 2009
Messages
1,228
Reaction score
39
Location
Rzeszów
Hello!
I present you simple script by me.

Q0UwmNUP4.png


As you can see in the picture is a script that shows the three most popular items in the sms shop.

Open yours shopsystem.php and find
PHP:
elseif($buy_offer['type'] == 'item') {
and below this
PHP:
$SQL->query($save_transaction);
paste
PHP:
$bought = 'UPDATE `z_shop_offer` SET `bought` = bought + 1 WHERE `id` ='.$buy_offer['id'].';';
$SQL->query($bought);
Now find (~167 line)
PHP:
unset($_SESSION['viewed_confirmation_page']);
$main_content .= '<h2><center>Welcome to '.$config['server']['serverName'].' Shop.</center></h2>';
and paste this
PHP:
$query = $SQL->query("SELECT * FROM `z_shop_offer`WHERE `offer_type` NOT LIKE 'container' AND `offer_type` NOT LIKE 'changename' ORDER BY `bought` DESC LIMIT 3");
foreach($query as $rows) {      
    if(is_int($number_of_rows / 2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; }
        $number_of_rows++;
        $result .= '
			<td bgcolor='.$bgcolor.'>
				<center>
					<img src="images/items/'.$rows['id'].'.gif"> <br /><br />
					Offer Name: <b>'.$rows['offer_name'].'</b><br />
					Points: <b>'.$rows['points'].'</b><br />
					<form action="index.php?subtopic=shopsystem&action=select_player" method=POST>
						<input type="hidden" name="buy_id" value="'.$rows['id'].'">
						<input type="submit" value="Buy '.$rows['offer_name'].'">
					</form>
				</center>
			</td>';
}

$main_content .= "<table border=\"0\" cellspacing=\"1\" cellpadding=\"4\" width=\"100%\"><tr bgcolor=".$config['site']['vdarkborder']."><td class=\"white\" colspan=\"3\"><center><strong>The most popular items in SMS Shop!</strong></center></td></tr><tr bgcolor=".$config['site']['vdarkborder']."><td class=\"white\" width=\"33%\"><b><center>#1</center></b></td><td class=\"white\" width=\"33%\"><b><center>#2</center></b></td><td class=\"white\" widht=\"33%\"><b><center>#3</center></b></td></tr>".$result."</table> <br />";

For end add this query to database:
PHP:
ALTER TABLE `z_shop_offer` ADD `bought` INT( 11 ) NOT NULL DEFAULT '0';

If you have any suggestions as to the script - WRITE!

Thanks, REP ++!
 
Last edited:
Approved.

You shouldn't count it on "bought + 1", it's much easier to take that info from z_shop_history_item table ^^.

Aleh said:
For end add this query to database:

This should be on the begin.
 
Last edited:
ok. I can't edit last post.

change:
Code:
                    <img src="/images/items/'.$rows['id'].'.gif"> <br /><br />
to
Code:
                    <img src="/images/items/'.$rows['itemid1'].'.gif"> <br /><br /> [code]
 
I have script easier in setup. You only must paste this code in shopsystem.php or in other like latestnews.php.
PHP:
foreach($SQL->query('SELECT * FROM z_shop_offer LEFT OUTER JOIN (SELECT COUNT( offer_id ) AS bought, offer_id FROM z_shop_history_item GROUP BY offer_id) AS tmp ON (offer_name = offer_id) ORDER BY bought DESC LIMIT '.$config['site']['top'].';') as $rows) 
{      
	$number_of_rows = 0;
    if(is_int($number_of_rows/2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; }
        $number_of_rows++;
        $result .= '
            <td bgcolor='.$bgcolor.'>
                <center>
                    <img src="item_images/'.$rows['id'].'.jpg"> <br /><br />
                    Offer Name: <b>'.$rows['offer_name'].'</b><br />
                    Points: <b>'.$rows['points'].'</b>
                </center>
            </td>';
}
$main_content .= '<table border="0" cellspacing="1" cellpadding="4" width="100%"><tr bgcolor='.$config['site']['vdarkborder'].'><td class="white" colspan='.$config['site']['top'].'><center><strong>The most popular items in SMS Shop!</strong></center></td></tr><tr bgcolor='.$config['site']['vdarkborder'].'><td class="white" width="20%"><b><center>#1</center></b></td><td class="white" width="20%"><b><center>#2</center></b></td><td class="white" widht="20%"><b><center>#3<center></b></td><td class="white" width="20%"><b><center>#4</center></b></td><td class="white" width="20%"><b><center>#5</center></b></td></tr>'.$result.'</table> <br>';

You don't must edit table in database.
 
Sory i paste wrong script. I please moderator for delete post up ( i can't edit it).
PHP:
foreach($SQL->query('SELECT * FROM z_shop_offer LEFT OUTER JOIN (SELECT COUNT( offer_id ) AS bought, offer_id FROM z_shop_history_item GROUP BY offer_id) AS tmp ON (offer_name = offer_id) ORDER BY bought DESC LIMIT 5;') as $rows) 
{      
	$number_of_rows = 0;
    if(is_int($number_of_rows/2)) { $bgcolor = $config['site']['darkborder']; } else { $bgcolor = $config['site']['lightborder']; }
        $number_of_rows++;
        $result .= '
            <td bgcolor='.$bgcolor.'>
                <center>
                    <img src="item_images/'.$rows['id'].'.jpg"> <br /><br />
                    Offer Name: <b>'.$rows['offer_name'].'</b><br />
                    Points: <b>'.$rows['points'].'</b>
                </center>
            </td>';
}
$main_content .= '<table border="0" cellspacing="1" cellpadding="4" width="100%"><tr bgcolor='.$config['site']['vdarkborder'].'><td class="white" colspan="5"><center><strong>The most popular items in SMS Shop!</strong></center></td></tr><tr bgcolor='.$config['site']['vdarkborder'].'><td class="white" width="20%"><b><center>#1</center></b></td><td class="white" width="20%"><b><center>#2</center></b></td><td class="white" widht="20%"><b><center>#3<center></b></td><td class="white" width="20%"><b><center>#4</center></b></td><td class="white" width="20%"><b><center>#5</center></b></td></tr>'.$result.'</table> <br>';
 
Back
Top