Ru-MaNGOS

Вернуться   Ru-MaNGOS > Дополнения > WWW

Важная информация

WWW Web интерфейс для MaNGOS

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
Старый 24.07.2010, 15:20   #1
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
Подмигивание Работа с DataLife Engine

1. Введение

Список переменных и классов DLE которые вы можете использовать в вашем подключаемом модуле, без дополнительного объявления:

$is_logged - содержит информацию, является ли посетитель авторизованным пользователем или гостем, и содержит значения true или false.
$member_id - содержит массив с информацией о авторизованном пользователе, включая всю его информацию из профиля.
$db - класс DLE для работы с базой данных.
$tpl - класс DLE для работы с шаблонами.
$cat_info - массив содержащий информацию обо всех категориях на сайте.
$config - массив содержащий информацию обо всех настройках скрипта.
$user_group - массив содержащий информацию о всех группах пользователей и их настройках.
$category_id - содержит ID категории которую просматривает посетитель.
$_TIME - содержит текущее время в UNIX формате с учетом настроек смещения в настройках скрипта.
$lang - массив содержащий текст из языкового пакета.
$smartphone_detected - содержит информацию о том, просматривает ли пользователь сайт со смартфона или с обычного браузера, и содержит значения true или false.
$dle_module - содержит информацию о разделе сайта, который просматривает пользователь, либо информацию переменной do из URL браузера.
Внимание: Ваш модуль должен только читать данные из данных переменных, внесение изменений в значения переменных повлечет сбои в работе стандартных возможностей скрипта и дальнейшей его некорректной работе.

2. Создание модулей для DLE

2.1 Разберём, для начала, создание модуля в качестве блока, который затем можно вставить в любую часть вашего шаблона.



2.2 Но если же нам мало одного блока, а хотим, к примеру, чтобы наш модуль занимал всю страницу, то поступаем след. образом:


Последний раз редактировалось Праведник; 24.07.2010 в 15:45.
Праведник вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
ghostpast (24.07.2010), Hantet (24.07.2010), Konctantin (24.07.2010)
Старый 24.07.2010, 15:20   #2
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

3. Кеширование

Распределение нагрузки - весьма важная часть в работе любого веб-мастера. Со временем растёт ваш сайт, растёт, а вместе с ним растёт и нагрузка. Один из самых простых и действенных способов её снизить - кеширование результатов. В DLE есть встроенные инструменты для кеширования, но мы пойдём по длинному пути.
1 Из моих знакомых написал весьма простенький, но в тоже время действенный класс для кеширования.



Сохраняем его в папке /engine/ именем cacheClass.php
Разберём его применение на созданных нами ранее модулях:

3.1. Кеширование модуля, созданного в качестве блока:



3.1. Кеширование модуля, созданного в качестве страницы:


Последний раз редактировалось Праведник; 24.07.2010 в 15:26.
Праведник вне форума   Ответить с цитированием
3 пользователя(ей) сказали cпасибо:
ghostpast (24.07.2010), Hantet (24.07.2010), Konctantin (24.07.2010)
Старый 24.07.2010, 15:26   #3
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

4. Примеры (Подготовка)

1. Конфиг
Под все модули будет общий и будет распологаться в папке /config/ , которая находится в директории сайта (корень).



2. Массивы
будут находиться в папке /engine/modules/wow/includes/array/
Всего нами будет использовано 2 массива: массив локаций, массив персонажей и классов

Содержание массива персонажей
Содержание массива зон

3. Функции
Функции сложим в папочку /engine/modules/wow/includes/functions/ под именем func.php



4. Класс кеширования
Класс для кеширования данных мы разбирали выше.
Закидываем в папку /engine/ файлик cacheClass.php

Последний раз редактировалось Праведник; 27.07.2010 в 02:28.
Праведник вне форума   Ответить с цитированием
4 пользователя(ей) сказали cпасибо:
ghostpast (24.07.2010), Hantet (24.07.2010), Konctantin (24.07.2010)
Старый 24.07.2010, 15:37   #4
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

5. Примеры
Для особо ленивых буду комментировать свои действия, но тут всё и так понятно без лишних слов...

5.1 Создаём модуль PVP-рейтинга на базе отдельной страницы.




5.2. Создаём модуль "задротов" на базе отдельной страницы

Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 15:37   #5
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

5.3. Рейтинг богачей на базе отдельной страницы



5.4. Создаём модуль отображения гейм мастеров в сети на базе отдельной страницы.

Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 15:40   #6
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

5.5. Создаём модуль статистики на основе блока




Думаю, примеров довольно. Если что-то осталось непонятным, спрашиваем.

P.S. во избежание разного рода какашек в мой адрес: материал авторский (за исключением списка из первого поста (взят с оф. сайта DLE))

Последний раз редактировалось Праведник; 26.07.2010 в 05:03.
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 16:01   #7
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

PHP код:
$aSql mysql_num_rows(mysql_query("SELECT `id` FROM `account`"$sMySql)); 
Ого какой оптимальный код )
"SELECT count(`id`) FROM `account`
как-бы так правильнее )
и дальше тоже через count
PHP код:
$aSql mysql_num_rows(mysql_query("SELECT `guid` FROM `characters` WHERE `online` IN ( 1 )"$sMySql));
   
$nCurrenOnline $aSql;;
   
$aSql mysql_num_rows(mysql_query("SELECT `guid` FROM `characters` WHERE `online` IN ( 1 ) and `race` IN (6, 10, 5, 2, 8)"$sMySql));
   
$OnlineHorde $aSql;
   
$aSql mysql_num_rows(mysql_query("SELECT `guid` FROM `characters` WHERE `online` IN ( 1 ) and `race` IN ( 1, 4, 11, 3, 7 )"$sMySql));
   
$OnlineAlliance $aSql
Дальше function conventNormTime($nSec)
а чем вас не устроила стандартная PHP функция date ( string $format [, int $timestamp ] )
alien вне форума   Ответить с цитированием
Старый 24.07.2010, 16:40   #8
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от alien Посмотреть сообщение
PHP код:
$aSql mysql_num_rows(mysql_query("SELECT `id` FROM `account`"$sMySql)); 
Ого какой оптимальный код )
"SELECT count(`id`) FROM `account`
как-бы так правильнее )
...
Ого, какой оптимальный код!
Код:
SELECT COUNT(*) FROM account
Как бы, так быстрее и логически правильнее.
LordJZ вне форума   Ответить с цитированием
Старый 24.07.2010, 16:57   #9
Minimajack
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от LordJZ Посмотреть сообщение
Ого, какой оптимальный код!
Код:
SELECT COUNT(*) FROM account
Как бы, так быстрее и логически правильнее.
Код:
SELECT COUNT(1) FROM account
будет быстрее, можно долго оптимизировать
был бы смысл...экономия сотых процентов производительности в большинстве своём не стоит затрат на оптимизацию
  Ответить с цитированием
Старый 24.07.2010, 16:08   #10
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

Цитата:
Дальше function conventNormTime($nSec)
а чем вас не устроила стандартная PHP функция date ( string $format [, int $timestamp ] )
в realmd хранится разница во времени, а не время. Для справки.

Цитата:
Ого какой оптимальный код )
"SELECT count(`id`) FROM `account`
как-бы так правильнее )
Разницы не замечал. mysql_num_rows выводит тоже нужное числовое значение. Попробуете доказать быстродействие какой-либо функции, подумаем над грамотностью кода.
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 16:14   #11
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Доказать быстродействие легко.
Что делает ваш запрос.
Правильно он извлекает и передает список ID в скрипт на пхп который потом считает сколько записей ему вернул майскуль.
а что делает запрос SELECT count(`id`) FROM `account`. Правильно он запрашивает у майскуля сколько записей и возвращает это число.
Дальше сами подумайте что будет быстрее.
alien вне форума   Ответить с цитированием
Старый 24.07.2010, 16:23   #12
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

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

За пример взял таблицу с 19 тысячами записей и выбирал по 1 полю.
Выборка с помощью mysql_num_rows занимает 0.0005 сек. С использованием count теже 0.0005 сек.
Подсчитать кол-во строк для веб-сервера не займёт и тысячной доли секунды. Так что плюсы весьма и весьма сомнительные.
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 16:31   #13
ghostpast
Пользователь
 
Регистрация: 07.03.2010
Сообщений: 46
Сказал(а) спасибо: 11
Поблагодарили 17 раз(а) в 11 сообщениях
ghostpast На верном пути
По умолчанию

Цитата:
Сообщение от Праведник Посмотреть сообщение
думать можно по-разному и не всегда то, что кажется верным, таковым и является.

За пример взял таблицу с 19 тысячами записей и выбирал по 1 полю.
Выборка с помощью mysql_num_rows занимает 0.0005 сек. С использованием count теже 0.0005 сек.
Подсчитать кол-во строк для веб-сервера не займёт и тысячной доли секунды. Так что плюсы весьма и весьма сомнительные.
при использовании функции mysql_num_rows() будет больше трафика, так как на веб-сервер придут все записи.
при использовании в запросе функции count() на веб-сервер придет только одна запись - количество записей в таблице.
ghostpast вне форума   Ответить с цитированием
Старый 24.07.2010, 16:23   #14
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Отгадайте что вернет
Цитата:
echo date("z-H-s",161984);
1(дней)-23(часов)-44(секунд)
а ваш код с погрешностью работает притом нехилой
UPD:
SELECT SQL_NO_CACHE count(`guid`) FROM `creature`;
и
SELECT SQL_NO_CACHE `guid` FROM `creature`;
Выполните эти 2 запроса и сравните время выполнения в томже навикате

Последний раз редактировалось alien; 24.07.2010 в 16:32.
alien вне форума   Ответить с цитированием
Старый 24.07.2010, 16:33   #15
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

Текущий аптайм: 0 д. 9 ч. 0 м.

значение в timestamp - 32403

PHP код:
<?
echo date("z-H-s",32403);
?>
0-12-03

ваш вариант, безусловно, лучший
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 16:38   #16
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

не поленился и выполнил ваши запросы.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 1099
Размер:	47.9 Кб
ID:	549   Нажмите на изображение для увеличения
Название: 2.jpg
Просмотров: 945
Размер:	45.9 Кб
ID:	550  
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 16:41   #17
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Почему некто нехочет читать дки.
date_default_timezone_set('UTC');
echo date("z(дней)-H(часов)-s(секунд)",32403);
alien вне форума   Ответить с цитированием
Старый 24.07.2010, 16:43   #18
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

Цитата:
Сообщение от alien Посмотреть сообщение
Почему некто нехочет читать дки.
date_default_timezone_set('UTC');
echo date("z(дней)-H(часов)-s(секунд)",32403);
спасибо, мой косяк.


Цитата:
Ой ЛОЛ
а вы не видите что пхпмай одмин дававил к запросу?
отменно видим. Уберите лимит и получите точно такой же результат с немного большим цифровым значением, но ровный.
Считает-то он в любом случае всё. А выводит.. ну пускай выводит сколько хочет. Нам ведь не это главное, не правда ли?

Последний раз редактировалось Праведник; 24.07.2010 в 16:48.
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 16:41   #19
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

LordJZ, выше результат выполнения 2х разных подходов. Быстрее?
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 16:42   #20
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Цитата:
не поленился и выполнил ваши запросы.
Ой ЛОЛ
а вы не видите что пхпмай одмин дававил к запросу?
alien вне форума   Ответить с цитированием
Старый 24.07.2010, 16:45   #21
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

LordJZ, согласен но тут разница в десятитысяцные )
alien вне форума   Ответить с цитированием
Старый 24.07.2010, 16:48   #22
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

http://img687.imageshack.us/gal.php?g=sqll.jpg
тогда выкиньте пхп май админ.
alien вне форума   Ответить с цитированием
Старый 24.07.2010, 16:50   #23
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

alien, чего ради мне его выкидывать? Отлично зарекомендовавшее себя средство.
Не нужно переходить в крайности. И ваш бравый файловый хостинг увы не открывается. Закиньте во вложения.
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 16:51   #24
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Вот держите
Миниатюры
Нажмите на изображение для увеличения
Название: sql2.JPG
Просмотров: 843
Размер:	31.8 Кб
ID:	551   Нажмите на изображение для увеличения
Название: sql.JPG
Просмотров: 922
Размер:	36.6 Кб
ID:	552  
alien вне форума   Ответить с цитированием
Старый 24.07.2010, 16:56   #25
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

Даже спрашивать не стану о столь существенной разнице выполнения между двумя вариантами (мой/ваш). Но, дабы положить конец этой бессмысленной теме, сейчас переделаю каунтом все запросы.
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 17:14   #26
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

А вы поставьте Навикат и выполните запросы там.
Я вот поставил пхп май админ и вижу что он такую чушь делает
Да и мне страшно представить сколько у вас страница грузилось если вы лимит убрали.
Он же пробовал показать все ид)

Цитата:
Считает-то он в любом случае всё. А выводит.. ну пускай выводит сколько хочет. Нам ведь не это главное, не правда ли?
Вот именно что он выводи. Тоесть генерирует лезультат и хранит у себя в памяти(кстати трафик не гонятеся так-как mysql_num_rows() делает запрос к серверу и он возвращает тоже только результат(тоесть число записей))
Но вот сервер ХРАНИТ у себя результат запроса. То есть все 100к строк.
а представьте что у вас в секунду 50 таких запросов будет?
Цитата:
экономия сотых процентов производительности в большинстве своём не стоит затрат на оптимизацию
Это не экономия это вкорне неправильный запрос с точки зрения логике.

Последний раз редактировалось alien; 24.07.2010 в 17:20.
alien вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Праведник (24.07.2010)
Старый 24.07.2010, 17:20   #27
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 17:24   #28
alien
Ученый
 
Регистрация: 17.05.2010
Сообщений: 148
Сказал(а) спасибо: 18
Поблагодарили 25 раз(а) в 22 сообщениях
alien На верном пути
По умолчанию

Ну вот а теперь представьте что вы сервер.
Вам говорят выдайка мне ид из таблички такойто но при этом всего 30 штук.
Что сервер будет делать. Правильно он грубо говоря просто пробежит по 30 записям и вернет их.
А теперь верника мне ВСЕ записи из таблици. Что будет делать сервер. Правильно он будет по всем записям бежать.
А вот если мы запрашиваем. Сервер а скажи ка мне сколько у тебя там всего записей.
Сервер же не дурак чтобы бежать по всем записям и считать их. Он просто(грубо говоря) возвращает число записей.
alien вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Праведник (24.07.2010)
Старый 24.07.2010, 17:35   #29
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию



Ещё замечания?
Праведник вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
tempura (24.07.2010)
Старый 24.07.2010, 21:28   #30
fr3ak
Гость
 
Сообщений: n/a
Плохо я хз почему...

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

меня беспокоит эта ошибка:
Parse error: syntax error, unexpected T_SL in
Z:\home\test1.ru\www\engine\modules\wow\short_stat s.php on line 87


А вот собственно и значение данной строки:
Код:
  $nCurrenOnline = $nCurrenOnline." ". number_ending($nCurrenOnline, "игроков", "игрок", "игрока");
short_stats.php без пробела, тут форум глючит походу...

Последний раз редактировалось fr3ak; 24.07.2010 в 21:42.
  Ответить с цитированием
Старый 24.07.2010, 21:58   #31
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

я как бы и есть разработчик этих модулей
в данной строке нет ошибок.
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 22:09   #32
fr3ak
Гость
 
Сообщений: n/a
Вопрос RE:

В данной строке нет ошибок
а в целом в странице есть
я все отредактировал, все работает, а мне нужна только таблица подобного рода под статистику

...
Посмотри плз файл во вложении, это и есть тот самый файл php
Вложения
Тип файла: 7z short_stats.7z (1.9 Кб, 591 просмотров)
  Ответить с цитированием
Старый 24.07.2010, 22:22   #33
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

Вложения
Тип файла: rar short_stats.rar (1.9 Кб, 598 просмотров)
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 22:43   #34
fr3ak
Гость
 
Сообщений: n/a
Смущение заполонил ошибками )

Код:
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 21 
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 27 
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 32 
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 37 
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 43 
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 47 
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 56 
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 64 
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 66 
Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 68 
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\test1.ru\www\engine\modules\wow\short_stats.php on line 74
  Ответить с цитированием
Старый 24.07.2010, 22:47   #35
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

нету подключения к мускулю.
Праведник вне форума   Ответить с цитированием
Старый 24.07.2010, 23:08   #36
fr3ak
Гость
 
Сообщений: n/a
По умолчанию

Цитата:
Сообщение от Праведник Посмотреть сообщение
нету подключения к мускулю.

да нет уж
подключение есть, вот только просак в том что этот error code выводится сверху от общей страницы сайта, а в header по умолчанию уже вшивается {short_stats}



как раз беда в time директивах
  Ответить с цитированием
Старый 24.07.2010, 23:44   #37
LordJZ
Супер-модератор
 
Аватар для LordJZ
 
Регистрация: 07.03.2010
Сообщений: 647
Сказал(а) спасибо: 100
Поблагодарили 252 раз(а) в 123 сообщениях
LordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранитаLordJZ Как самоцвет среди гранита
По умолчанию

Цитата:
Сообщение от fr3ak Посмотреть сообщение
да нет уж
подключение есть, вот только просак в том что этот error code выводится сверху от общей страницы сайта, а в header по умолчанию уже вшивается {short_stats}

...

как раз беда в time директивах
mysql_num_rows и mysql_fetch_array ожидают первый аргумент в виде результата от вызова mysql_connect. У вас он вернул boolean, очевидно — false, что говорит о том, что подключение не создалось.

А на вашем скриншоте я вижу нули во всех полях, включая время, что так же может свидетельствовать о некорректном соединении.
LordJZ вне форума   Ответить с цитированием
Старый 25.07.2010, 16:24   #38
tempura
Forum bot
 
Аватар для tempura
 
Регистрация: 01.02.2010
Адрес: пусто
Сообщений: 841
Сказал(а) спасибо: 286
Поблагодарили 418 раз(а) в 190 сообщениях
Записей в дневнике: 60
tempura отключил(а) отображение уровня репутации
По умолчанию

Цитата:
Сообщение от fr3ak Посмотреть сообщение
...вот только просак в том что...
Просак
Цитата:
Ранее слово употреблялось в нескольких устойчивых оборотах (напр. будешь в просаке, попался в преизрядный просак), сейчас же слово употребляется исключительно в разговорной речи в выражении "попасть впросак", что означает оказаться по своей вине в неприятном, неловком положении; выражение известно с начала XVIII века.
outdated, not used in this context.
__________________
Совершенно безопасен для людей, обладающих хотя бы некоторыми минимальными зачатками интеллекта, и способными строить причинно-следственные цепочки.
tempura вне форума   Ответить с цитированием
Старый 25.07.2010, 22:44   #39
TIMzs
Гость
 
Сообщений: n/a
Лампочка

По поводу тестов... заинтересовали... )

Решил выяснить, какой способ быстрее подсчитывает данные.

Тест проводился в php цикле. n - количество раз. Засекалось время в начале работы скрипта и в конце, после чего высчитывалось время выполнения запроса.

Первый тест, выполнялся 200 раз.
Код:
SELECT SQL_NO_CACHE count(`guid`) FROM `creature`
Код работал 0.0197730064392с.

SELECT SQL_NO_CACHE `guid` FROM `creature`
Код работал 16.0518889427с.

SELECT SQL_NO_CACHE count(1) FROM `creature`
Код работал 0.0185179710388с.

SELECT SQL_NO_CACHE count(*) FROM `creature`
Код работал 0.0183970928192с.
Селект без count() отпадает сразу, результат на глаза. Остальные же запросы, было сложно оценить, в плане производительности. Для этого проводился второй тест.


Второй тест, выполнялся 200000 раз.
Код:
SELECT SQL_NO_CACHE count(`guid`) FROM `creature`
Код работал 19.9426920414с.

SELECT SQL_NO_CACHE count(1) FROM `creature`
Код работал 19.7694129944с.

SELECT SQL_NO_CACHE count(*) FROM `creature`
Код работал 19.4894280434с.
count(*) - бесспорный победитель.
  Ответить с цитированием
2 пользователя(ей) сказали cпасибо:
Праведник (25.07.2010)
Старый 24.07.2010, 23:32   #40
Праведник
Пользователь
 
Регистрация: 27.03.2010
Сообщений: 80
Сказал(а) спасибо: 12
Поблагодарили 25 раз(а) в 13 сообщениях
Праведник На верном пути
По умолчанию

там с кодировкой косяк.

http://ru-mangos.ru/showpost.php?p=11229&postcount=16 альтернатива

Последний раз редактировалось Праведник; 24.07.2010 в 23:34.
Праведник вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с MySQL через c++ Hantet Языки программирования 54 10.04.2013 10:38
работа с базой characters извне Energy Флудильня 15 31.08.2010 19:10
Работа с Mangos Vampirenok Корзина 2 29.08.2010 05:00
ScriptDev2 Работа с ГО. xmolex Прочая документация 9 04.08.2010 06:59


Текущее время: 05:01. Часовой пояс GMT +3.


ru-mangos.ru - Русское сообщество MaNGOS
Главная цель проекта MaNGOS - обучающая, поэтому разрешается использовать исходный код и собранную программу только для образовательных целей.
Вы не можете использовать MaNGOS в коммерческих целях, а также не разрешается устанавливать публичные серверы на базе MaNGOS.
Любое копирование материалов, информации в любом виде без указания источника - форума Ru-MaNGOS будет считаться нарушением авторских прав и нарушением Уголовного Кодекса РФ, ст. 146 ст. 147.
Перевод vBulletin: zCarot