Перейти к содержимому
La2Base
Главная
ЗагрузкиВикиФорумFAQ
Поиск
ruen
Регистрация Войти
ГлавнаяФайлыВикиВойти
  • Главная
  • Загрузки
  • Вики
  • FAQ
  • Обратная связь
  • О проекте
  • Правила
  • Конфиденциальность
  • Условия использования

© 2026 la2base.com · Все права защищены

ruen
Форум/Web обвязка/Помогите подправить скрипт
Поиск

Помогите подправить скрипт

13 ответов211 просмотровСейчас просматривают: 1
2
263

Пользователь

Бывалый

Постов: 186

На форуме с: 11.09.2008

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

Рейтинг: 0

· 04.11.2008, 12:01

Сабж, скрипт выводит онлйн, понимаю что таких много и легче готовый взять, но необходимо именно этот поправить
Скрипт впринципе работает но выводит только 1 значение, как сделать столько значений сколько чаров онлайн?

Цитата
{
echo ' ';
$fu = mysql_query("SELECT * FROM characters,char_templates WHERE online AND char_templates.ClassId=characters.classid ORDER BY exp DESC" );
$fu1 = mysql_fetch_array($fu);
echo '<b>Чаров онлайн<b>:'. $fu1[0];
}

0
2
263

Пользователь

Бывалый

Постов: 186

На форуме с: 11.09.2008

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

Рейтинг: 0

· 04.11.2008, 16:54

Up

0
H
hellEVIL_TEAM

Пользователь

Бывалый

Постов: 292

На форуме с: 28.03.2008

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

Рейтинг: 0

· 04.11.2008, 17:02

{
echo ' ';
$fu .= mysql_query("SELECT * FROM characters,char_templates WHERE online AND char_templates.ClassId=characters.classid ORDER BY exp DESC" );
$fu1 .= mysql_fetch_array($fu);
echo '<b>Чаров онлайн<b>:'. $fu1[0];
}

не факт что поможет надо было по другому делать но всё же попробуй

0
2
263

Пользователь

Бывалый

Постов: 186

На форуме с: 11.09.2008

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

Рейтинг: 0

· 04.11.2008, 17:12

Если не трудно не могли бы вы привести пример правильного начала?

0
2
263

Пользователь

Бывалый

Постов: 186

На форуме с: 11.09.2008

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

Рейтинг: 0

· 05.11.2008, 12:57

UP

0
xgl
xgl

Пользователь

Участник

Постов: 95

На форуме с: 09.12.2007

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

Рейтинг: 0

· 05.11.2008, 17:49

попробуй такой запрос

Код
SELECT * FROM characters LEFT JOIN char_templates ON char_templates.ClassId=characters.classid WHERE online ORDER BY exp DESC

0
2
263

Пользователь

Бывалый

Постов: 186

На форуме с: 11.09.2008

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

Рейтинг: 0

· 05.11.2008, 23:23

Дело не в запросе, он идеально подходит поставленной задаче. В навикате работает, дело в организации пхп скрипта

вот в этом месте
во что переправить эту фразу или какую добавить, я так понял она овтечает за фильтрование данных, но выводит статичную запись (забивает в ячейку первое число и все, когда требуется чтобы она выводила все записи). Требуется что-то вроде цикла.

Цитата
$fu1 = mysql_fetch_array($fu);
echo '<b>Чаров онлайн<b>:'. $fu1[0];

0
A
axelll

Пользователь

Ветеран

Постов: 577

На форуме с: 15.07.2007

Репутация: -99999999

Рейтинг: 0

· 05.11.2008, 23:49

с пхп знаком?
тебе нада заюзать оператор while

у меня в админке это выглядит так:

Код
echo "<thead><tr><th>№</th><th>аккаунт</th><th><center>Ник Чара</center></th><th>lvl</th><th>Class</th><th>Титул</th><th>клан</th><th>IP</th><th>email</th><th>дата реги</th><th>Баффы</th><th>скиллы</th></tr></thead></center>\n";

//присваиваем переменной o значение 1
$o=1;

//сливаем данные с запроса в переменную online
while ($online=mysql_fetch_array($onlinedata))

    {

//получение доп. инфы. по чару.
    mysql_select_db($dbname, $link);
    $AccInfa2 = mysql_query("SELECT * FROM accounts WHERE login ='$online[account_name]'");
    $AccInfa = mysql_fetch_array($AccInfa2);
    $AccInfa3 = mysql_query("SELECT * FROM zl_accounts_info WHERE account ='$online[account_name]' ORDER BY reg_date DESC");
    $AccInfa4 = mysql_fetch_array($AccInfa3);
    mysql_select_db($L2JBS_config["mysql_db"], $link);
    if ($AccInfa4[mail]=='') { $AccInfa4[mail]="-"; }
    if ($AccInfa4[reg_date]=='') { $AccInfa4[reg_date]="-"; }

    $clan=mysql_fetch_array(mysql_query("select * from clan_data where clan_id=$online[clanid]"));
    if ($clan[clan_name]=='') { $clan[clan_name]="-"; }
           if ($online[title]=='') { $online[title]="<font color=red>Empty</font>"; }
    $class=mysql_fetch_array(mysql_query("select ClassName from char_templates where ClassId=$online[classid]"));

//вывод данных в таблицу
echo "<tr><td><center><b>$o</b></center></td><td><center><a onClick=\"window.open('char_inventory3.php?login1=$online[account_name]','popup','width=850,height=400,status=no,resizable=no,scrollbars=yes,left=200,top=200')\" href=\"#\">$online[account_name]</a></center></td><td><center><b><A href=char_inventory1.php?name=$online[char_name]>$online[char_name]</a></b></center></td><td><center>$online[level]</center></td><td><center>$class[ClassName]</center></td><td><center>$online[title]</center></td><td><center><a onClick=\"window.open('clanview.php?clannameN=$online[clanid]','popup','width=850,height=400,status=no,resizable=no,scrollbars=yes,left=200,top=200')\" href=\"#\">$clan[clan_name]</a></center></td><td><center><A href=lastip.php?lastipR=$AccInfa[lastIP]>$AccInfa[lastIP]</center></td><td><center><A href=http://yandex.ru/yandsearch?text=$AccInfa4[mail] target=_blank>$AccInfa4[mail]</a></center></td><td><center>$AccInfa4[reg_date]</center></td><td><center><a onClick=\"window.open('buffs.php?obj_ids=$online[obj_id]&charNAMEs=$online[char_name]','popup','width=850,height=700,status=no,resizable=no,scrollbars=yes,left=300,top=80')\" href=\"#\">баффы</center></td><td><center><a onClick=\"window.open('skills.php?obj_ids=$online[obj_id]&charNAMEs=$online[char_name]','popup','width=850,height=700,status=no,resizable=no,scrollbars=yes,left=300,top=80')\" href=\"#\">скиллы</center></td></tr>\n";

//добаляем переменной o +1.
    $o++;
    }


Более подробно объяснять не буду ;)

0
2
263

Пользователь

Бывалый

Постов: 186

На форуме с: 11.09.2008

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

Рейтинг: 0

· 06.11.2008, 08:39

Спасибо большое!!!

0
2
263

Пользователь

Бывалый

Постов: 186

На форуме с: 11.09.2008

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

Рейтинг: 0

· 06.11.2008, 16:43

Все получилось понаписал кучу скриптов, терь возникла проблема как ограничить цикл 50 значениям (это нужно скажем для вывода статистики ПК/ПВП)

0
A
axelll

Пользователь

Ветеран

Постов: 577

На форуме с: 15.07.2007

Репутация: -99999999

Рейтинг: 0

· 06.11.2008, 16:48

ну я не через цикл ограничение делаю.
а через запрос в базу.

$listsql = mysql_query("SELECT * FROM `items` WHERE `item_id` = '$id' ORDER BY `count` DESC LIMIT 0,400;");

вместо 400 - ставь сколько нужно.

0
johnny.concent
johnny.concent

Пользователь

Новичок

Постов: 6

На форуме с: 07.10.2008

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

Рейтинг: 0

· 07.11.2008, 11:00

В конце запроса можно просто LIMIT 50.

0
A
axelll

Пользователь

Ветеран

Постов: 577

На форуме с: 15.07.2007

Репутация: -99999999

Рейтинг: 0

· 16.11.2008, 10:51

johnny.concent: В конце запроса можно просто LIMIT 50.

можно, но лучше все таки с излишком писать.

0
Тема закрыта для ответов