Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разобрать код по полокам 
:(
    Опции темы
sayber
  Дата 1.4.2010, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Добрый вечер!

У меня есть POST массив.
Код

Array
(
    [colore_input_id_1] => C-0111
    [colore_input_id_2] => C-0111
    [colore_input_id_3] => C-0111
    [colore_input_id_4] => C-0121
    [colore_input_id_5] => s1
    [colore_input_id_6] => s2
    [colore_input_id_7] => s2
    [cols] => 7
)


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

... | s1 | C-0111, C-0121 | ...
... | s2 | C-0111, C-0121 | ...

Т.е. если повторяется s2 то объеденяем  с другими s2 - получается что то типа ID.
Затем объединяем все C-01** что бы получить их в виде C-0111, C-0121.
Все поля colore_input_id_* могут иметь различные значения.


 smile 


Мой корявый код

Код

//$post содержит выше указанный массив.
$arr = array_count_values($post);
    $session_id = $this->session->userdata('session_id');

    for ($i = 1; $i <= $post['cols']; $i++)
    {

         if (!empty($post['colore_input_id_'.$i]))
         {

            if (preg_replace("/^s[0-9]/", "", $post['colore_input_id_'.$i]))
            {
                $count_wall = $arr[$post['colore_input_id_'.$i]];
                $arr3 = $i." => ".$post['colore_input_id_'.$i];

            }
            else
            {
                $count_wall = $arr[$post['colore_input_id_'.$i]];
            }

  
            if (!preg_replace("/^s[0-9]/", "", $post['colore_input_id_'.$i]))
            {
                $arr2[] = "INSERT INTO x_cart VALUE ('NULL', '{$session_id}', '{$post['foto']}', '{$post['namefoto']}', '',
                'size', '', 's', '', '{$count_wall}', '{$post['colore_input_id_'.$i]}' )"
                ."<br />";
            }


         }
        else
        {
            echo "";
        }

    }



    foreach (array_unique($arr2) as $row => $k)
    {
       echo $k;
    }


--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
sayber
Дата 1.4.2010, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 30.7.2006
Где: Moscow - qwerty

Репутация: нет
Всего: нет



Вопрос снимается. Сделал =)

Код


$post = $_POST;
$post = preg_replace("/c[0-9]$/", "", $post);

if (isset($post['addcart']))
{
   
    $arr = array_count_values($post);
    $session_id = $this->session->userdata('session_id');

    for ($i = 1; $i <= $post['cols']; $i++)
    {

         if (!empty($post['colore_input_id_'.$i]))
         {

            if (preg_replace("/^s[0-9]/", "", $post['colore_input_id_'.$i]))
            {
                $count_wall = $arr[$post['colore_input_id_'.$i]];
                $arr_colore[] = $post['colore_input_id_'.$i];

              
            }
            else
            {
                $count_wall = $arr[$post['colore_input_id_'.$i]];
            }

  
            if (!preg_replace("/^s[0-9]/", "", $post['colore_input_id_'.$i]))
            {

                $arr2[] = "INSERT INTO x_cart VALUE ('NULL', '{$session_id}', '{$post['foto']}', '{$post['namefoto']}', '',
                'size', '', 'wallpapercolore', '', '{$count_wall}', '{$post['colore_input_id_'.$i]}' );"
                ."<br />";

            }


         }
        else
        {
            echo "";
        }

    }

    $wall_source2 = "";
    
    foreach (array_unique($arr_colore) as $wall_source)
    {
       $wall_source2 .= $wall_source.";";
    }

    $rr="";
    
    foreach (array_unique($arr2) as $row => $k)
    {
       $rr .= $k;
    }

    $finalwall =  str_replace("wallpapercolore", $wall_source2, $rr);
    echo $finalwall;
}




Если кто то знает более правильный вариант, с радостью посмотрю.
--------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~WoW CafeSayber ©  Портфолио ~~~~~~~~~~~~~~~~~~~~~~~~~~~
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0951 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.