Русский English Deutsch Українська Қазақша

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

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

Вы не вошли.

#1 2009-06-20 23:46:41

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

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

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

Вне форума

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

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

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

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

Вне форума

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

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

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

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

Вне форума

#4 2009-06-21 03: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 10:04:00

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

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

^_^

Отредактировано insider (2009-06-21 18:41:16)

Вне форума

#6 2009-06-21 15: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 15:34:25

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

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

^_^

Отредактировано insider (2009-06-21 18:41:26)

Вне форума

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

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

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

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

Вне форума

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

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

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

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

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

Вне форума

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

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

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

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

Вне форума

#11 2009-06-21 18: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 18:45:50

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

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

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

Вне форума

#13 2009-06-21 23:32:41

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

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

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

Вне форума

Сейчас в этой теме пользователей: 0, гостей: 1
[Bot] ClaudeBot

Подвал форума

Под управлением FluxBB 1.5.11
Модифицировал Visman

[ Сгенерировано за 0.045 сек, 7 запросов выполнено - Использовано памяти: 546.63 Кбайт (Пик: 563.63 Кбайт) ]