Next Generation CMS :: Форум поддержки

Заинтересовала наша система? Тогда этот форум для Вас!

Вы не зашли.

#1 2009-06-21 00:46:41

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Опять насчет плагина xfield

Несколько странных фишек заметил, когда писал свой маленький парсер для xml - Почему в каждой новости храниться название поле и его размер, я имею ввиду не содержание, а именно название - это мне показалось не много странным. Не легче держать только ID-номерок поля? Или по ресурсам это больше займет?

Не в сети

#2 2009-06-21 01:43:06

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Опять насчет плагина xfield

В БД хранится сериализованный ассоциативный массив значений xfields-полей, где ключи - названия полей. По ID не легче, ибо xfields-поля ID не имеют. Можно конечно добавить ID к полям и ключами массива назначить эти ID, но это будет ни разу не быстрее, но и не медленнее.

Не в сети

#3 2009-06-21 04:50:45

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: Опять насчет плагина xfield

ааа, ну тогда я спокоен)

Не в сети

#4 2009-06-21 04:58:14

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: Опять насчет плагина xfield

Воо, кстати может подскажешь, по php:
Разбираю тут xml, а там рубрики непонятно указаны, если число:
1
2
4
8
16
32
64
То все в поряде, значит одна рубрика.
А вот если их несколько, например первая и последняя (1 и 64) то там указано не 64,1 как хотелось бы, а 65, складываются они короче.
Максимум значения 127.
Сижу уже долго голову ломаю - как с помощью php определить какие это 2 рубрики?
Моих маленьких познаний в этой области уже нехватает((
А поиски в интернете с ключевиками "делитель php " и делимое php и еще много других, не увенчались успехом((

Не в сети

#5 2009-06-21 11:04:00

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Опять насчет плагина xfield

^_^

Изменено insider (2009-06-21 19:41:16)

Не в сети

#6 2009-06-21 16:23:44

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: Опять насчет плагина xfield

Не выходит(((
8 разобрал, а потом вообще выкинул
Fatal error: Cannot redeclare categories() (previously declared in Z:\home\piggi\www\import.php:168) in Z:\home\piggi\www\import.php on line 168
может я не правильно описал?)

genre - жанр игр в дампе. доступны следующие значения

"Логические" => 1,
"Аркадные" => 2,
"Стрелялки" => 4,
"Cимуляторы" => 8,
"Настольные" => 16,
"Детские" => 32,
"Я ищу" => 64


как видно - значения жанров это числа кратные степени двойки, если Вы хотите получить игры 2х или более жанров просто сложите соответствующие числа. Например, для получения общего дампа аркадных игр и стрелялок значение параметра genre должно быть равным 6. Для получения топа 100 всех игр, например, задайте параметр genre равным 127

Не в сети

#7 2009-06-21 16:34:25

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Опять насчет плагина xfield

^_^

Изменено insider (2009-06-21 19:41:26)

Не в сети

#8 2009-06-21 17:59:28

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: Опять насчет плагина xfield

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

Не в сети

#9 2009-06-21 18:14:03

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Опять насчет плагина xfield

еперь осталось только массив превратить в номер категории

Т.е.? Пример можно?

Не в сети

#10 2009-06-21 19:19:45

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: Опять насчет плагина xfield

Ну что бы можно было, уже нормально в базу переписывать - если массив 68, то получится что у переменной будет значение "64,2"

Не в сети

#11 2009-06-21 19:40:17

insider
Участник
Зарегистрирован: 2009-01-25
Сообщений: 229
Рейтинг :   35 
Сайт

Re: Опять насчет плагина xfield

if (!function_exists('categories'))
{
    function categories($categories)
    {
        $result = array();
        for ($i = 0; ($category = pow(2, $i)) <= $categories; $i++)
        {
            if ($categories & $category)
            {
                $result[] = $category;
            }
        }
        return implode(',', $result);
    }
}

echo categories(76);

Не в сети

#12 2009-06-21 19:45:50

icedogas
Участник
Откуда Москва
Зарегистрирован: 2009-02-08
Сообщений: 318
Рейтинг :   
Сайт

Re: Опять насчет плагина xfield

Урра, спасибо большое)

Не в сети

#13 2009-06-22 00:32:41

vitaly
Администратор
Откуда Россия
Зарегистрирован: 2008-10-08
Сообщений: 2,823
Рейтинг :   118 

Re: Опять насчет плагина xfield

icedogas, это обыкновенная битовая маска.
Переводишь число из десятичной в двоичную систему и дальше становится всё понятно smile

Не в сети

Подвал раздела

Работает на FluxBB