Skip to content
La2Base
Home
DownloadsWikiForumFAQ
Search
ruen
Sign up Login
HomeFilesWikiLogin
  • Home
  • Downloads
  • Wiki
  • FAQ
  • Contact Us
  • About
  • Rules
  • Privacy
  • Terms of Service

© 2026 la2base.com · All rights reserved

ruen
Forum/Web обвязка/[скрипт] ТОП голосующих
Search

[скрипт] ТОП голосующих

15 replies387 viewsCurrently viewing: 1
DGINS23
DGINS23

User

Бывалый

Posts: 186

На форуме с: 10/15/2008

Репутация: +31

Рейтинг: 0

· 02/06/2009, 08:19 PM

Есть ли такой скрипт? Чтобы из БД считывал всех проголосовавших за месяц и выводил их в список от 1 до 10 . ?
( то есть я проголосовал в л2топ сервер их считал и записал в бд а скрип из бд считал и показал на странице количество голосов и список от 1 до 10)

0
Rem000
Rem000

User

Бывалый

Posts: 321

На форуме с: 01/29/2008

Репутация: +256

Рейтинг: 0

· 02/06/2009, 08:24 PM

делаешь дополнительную таблицу в БД: ник - количество голосов

при добавлении итема пишешь запрос, который будет добавлять ник и 1 голос в эту новую таблицу ели человек голосовал первый раз, если не первый, то инкрементировать количесво его голосов...

ну а далее выводить список сортировав по голосам.

— FoBOSS

0
DGINS23
DGINS23

User

Бывалый

Posts: 186

На форуме с: 10/15/2008

Репутация: +31

Рейтинг: 0

· 02/06/2009, 08:29 PM

Я не разбираюсь в скрптах..по этому попросил помощи у вас.

0
Дмитрий
Дмитрий

User

Ветеран

Posts: 834

На форуме с: 05/30/2007

Репутация: +632

Рейтинг: 0

· 02/06/2009, 08:31 PM

Виложи свой скрипт л2топа, только в тег спойлер вложи.

WebDeveloper сервера DARKWORLD

0
DGINS23
DGINS23

User

Бывалый

Posts: 186

На форуме с: 10/15/2008

Репутация: +31

Рейтинг: 0

· 02/06/2009, 08:40 PM

SQL
<?


if(!isset($_POST['name'])){

echo '<form action="module/l2top.php" method="post">';


echo 'Получение Coin Of Luck За Голосование<br>Введите ник персонажа.<br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус!"/>

</form>';


}else{

$bonus_id=4037; // ID вещи которую зачисляем игроку как бонус за голосование | По умолчанию 6673 - Festival Adena
$cols_for_vote=5; // Колличество зачисляемых вещей за одно голосование
$id_l2top=5465; // Ваш ID в рейтинге L2Top

$host='localhost'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$pass=''; // пароль пользователя от базы данный
$db='l2'; // название базы данных

$mc = mysql_connect($host, $user, $pass);
if($mc){
$db = mysql_select_db ($db);
}

if(!$mc || !$db){

echo 'Нет соединения с базой данных.';

exit;

}

$name=mysql_escape_string($_POST['name']);

$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$name';");
$chd=mysql_fetch_assoc($ch);

$char_id=$chd['obj_Id'];
$total=0;
$your_ip = $_SERVER['REMOTE_ADDR'];
$dip=explode('.',$your_ip);
$your_ip1 = $dip[0].'.'.$dip[1].'.'.$dip[2].'.xxx';

$html = @file_get_contents('http://l2top.ru/?servID='.$id_l2top.'&act=info');
if (!$html || !preg_match_all('/<td>([^<]+)</td>/', $html, $matches))
$error .= 'Не удалось получить информацию с L2Top.ru!<br/>';
else
{
foreach ($matches[1] as $id => $nick)
{
if (strtolower(trim($nick))==strtolower(trim($name))) {
$voters[] = $matches[1][$id-2];
}
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `nick` = '".mysql_escape_string($name)."' AND `time` = '".mysql_escape_string($time)."'");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 4037");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`");
$row = mysql_fetch_assoc($result);
$ins_id = $row['id'];

mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1)");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 4037");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= 'Голос за '. $time.' зачислен.<br/>';
}
else
$error .= 'Голос за '. $time.' уже был зачислен.<br/>';
}
}
else
$error .= 'Ваш голос на сайте L2Top.ru не найден.<br>';
}

echo $error.'<br><b>'.$total.'</b> Coin of Luck зачислено вашему персонажу<br/>';

}

?>


SQL
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1)");
/*
данный запрос необходимо переделывать взависимости от того, какая структура таблицы items у вас на сборке сервера. Данный запрос отвечает за добавление бонусной вещи за голосование в инвентарь, если у вас её еще нет.
*/


Ну так что? Кто поможет?

0
Дмитрий
Дмитрий

User

Ветеран

Posts: 834

На форуме с: 05/30/2007

Репутация: +632

Рейтинг: 0

· 02/07/2009, 08:48 AM

Оговорюсь сразу, с запросами не знаком ))) пишу приблизительно, по аналогии )))

вставка

SQL
mysql_query("INSERT INTO `l2topvoters` (`voter`) VALUES(`nick`)");

выборка
SQL
mysql_query("SELECT * FROM "l2topvoters" ORDER BY "l2topvoters" ASC LIMIT 10 ");

должно быть что-то похожее на это )))

WebDeveloper сервера DARKWORLD

0
DGINS23
DGINS23

User

Бывалый

Posts: 186

На форуме с: 10/15/2008

Репутация: +31

Рейтинг: 0

· 02/07/2009, 09:57 AM

Knokswille: Оговорюсь сразу, с запросами не знаком ))) пишу приблизительно, по аналогии )))

вставка
SQL
mysql_query("INSERT INTO `l2topvoters` (`voter`) VALUES(`nick`)");

выборка
SQL
mysql_query("SELECT * FROM "l2topvoters" ORDER BY "l2topvoters" ASC LIMIT 10 ");

должно быть что-то похожее на это )))



Чет все равно не работает. Не получаться..

0
Дмитрий
Дмитрий

User

Ветеран

Posts: 834

На форуме с: 05/30/2007

Репутация: +632

Рейтинг: 0

· 02/07/2009, 10:39 AM

естественно, я ж написал запросы и не факт что рабочие, нужно создать доп таблицу, а запросы ещё дописать.

WebDeveloper сервера DARKWORLD

0
колян
колян

User

Участник

Posts: 39

На форуме с: 06/24/2008

Репутация: +22

Рейтинг: 0

· 02/08/2009, 05:58 PM

у меня такой скрипт

Цитата
<?php
echo('<center><b><font color="" size="3">ТОП 10 голосующих игроков</font></b><br><br><div style="margin: 0 auto;width:300; border: 1px solid #TColor; background: #TColor; padding: 3px; font-size: 10pt; ">');
echo('<table border="0" width="280" cellpadding="1" cellspacing="1" align="center"><tr bgcolor=""><td><b><center>la2mir</center></b></td></tr></table>');
echo('<table border="0" width="280" cellpadding="1" cellspacing="1" align="center"><tr bgcolor=""><td></td><td><b>Имя</b></td><td><b>голосов</b></td><td><b>сервер</b></td></tr>');

$result=mysql_query('SELECT nick, count(nick) from l2top group by nick order by count(nick) desc limit 10');

$i=0;
$t=0;
while ($r_arr=mysql_fetch_array($result))
{
$i++;
$t=$t-1;
//if ($i<6)
//{
//$t=100;
//}

echo('<tr style="font-size:'.$t.'" bgcolor="" align="center"><td>'.$i.'</td><td>'.$r_arr['nick'].'</td><td>'.$r_arr['count(nick)'].'</td><td>Сервер</td></tr>');
}
echo('</table>');


$result=mysql_query('SELECT id from l2top');
echo(mysql_error());
$allvote=mysql_num_rows($result);

#################





echo('<table bortder="0" width="280" bgcolor="" cellpadding="1" cellspacing="1"><tr align="right"><td><b>Всего голосов: '.$allvote.'</b></td></tr></table><font class="text">Учет видется с 1-го числа текущего месяца!<br><b>Трое самых активных в конце месяца получат приз!<b></font><br>
');
?>
если помог есть кнопа :)

0
DGINS23
DGINS23

User

Бывалый

Posts: 186

На форуме с: 10/15/2008

Репутация: +31

Рейтинг: 0

· 02/10/2009, 10:46 AM

xaos27: у меня такой скрипт если помог есть кнопа :)




А куда ты его вставляешь7 И как он тебя в БД входит?

0
колян
колян

User

Участник

Posts: 39

На форуме с: 06/24/2008

Репутация: +22

Рейтинг: 0

· 02/11/2009, 09:55 AM

линки для чего? вставляю в обычный php скрипт

0
X
xvamx

User

Бывалый

Posts: 123

На форуме с: 10/17/2008

Репутация: +11

Рейтинг: 0

· 02/11/2009, 12:24 PM

DGINS23: А куда ты его вставляешь7 И как он тебя в БД входит?

у него под мой вед ,а не под дле

0
колян
колян

User

Участник

Posts: 39

На форуме с: 06/24/2008

Репутация: +22

Рейтинг: 0

· 02/11/2009, 05:30 PM

Цитата
у него под мой вед ,а не под дле
если руки примые и под дле можно сделать

0
X
xvamx

User

Бывалый

Posts: 123

На форуме с: 10/17/2008

Репутация: +11

Рейтинг: 0

· 03/08/2009, 11:27 AM

xaos27: если руки примые и под дле можно сделать

ну дак ты сделай раз у тебя руки прямые.

0
Сергей
Сергей

User

Бывалый

Posts: 252

На форуме с: 08/01/2008

Репутация: +47

Рейтинг: 0

· 03/08/2009, 11:51 AM

создай файл конфиг, может помочь, как у мв есть так и те надо. либо добавь в скрипт данные для коннекта

— 15

0
Topic is closed for replies