Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Выборка из массива по условию

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: заполнить несколько таблиц массивом
Zerrata
Отправлено: 02 Июля, 2013 - 12:17:42
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




Добрый день.
Подскажите пожалуйста.
Получила я следующий массив из БД:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. (
  3.     [0] => Array
  4.         (
  5.             [id] => 1
  6.             [name] => Bob
  7.             [section] => Chief
  8.         )
  9.  
  10.     [1] => Array
  11.         (
  12.             [id] => 2
  13.             [name] => John
  14.             [section] => Chief
  15.         )
  16.  
  17.     [2] => Array
  18.         (
  19.             [id] => 3
  20.             [name] => Helen
  21.             [section] => Manager
  22.         )
  23.  
  24.     [3] => Array
  25.         (
  26.             [id] => 4
  27.             [name] => Sarah
  28.             [section] => Manager
  29.         )
  30.  
  31.     [4] => Array
  32.         (
  33.             [id] => 5
  34.             [name] => Bill
  35.             [section] => Technics
  36.         )
  37.  
  38.     [5] => Array
  39.         (
  40.             [id] => 6
  41.             [name] => Will
  42.             [section] => Technics
  43.         )
  44.  
  45. )
  46.  


Ломаю голову: как его разложить по разным таблицам. Хотела бы получить такую картину:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. ------------------------    --------------------
  3. |     Chief            |    |      Manager     |    
  4. ------------------------     --------------------
  5. | 1 | Bob             |    | 3 | Helen         |
  6. | 2 | John            |    | 4 | Sarah         |
  7. ------------------------     --------------------
  8.  


и т.д.

Спасибо.
 
 Top
VenZell
Отправлено: 02 Июля, 2013 - 12:47:23
Post Id


Частый гость


Покинул форум
Сообщений всего: 237
Дата рег-ции: Июнь 2013  


Помог: 12 раз(а)




Возможно, не самый лучший вариант, но он работает.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.  
  3. $test = array(
  4.     0 => array(
  5.         'id' => 1,
  6.         'name' => 'Bob',
  7.         'section' => 'Chief'
  8.     ),
  9.     1 => array(
  10.         'id' => 2,
  11.         'name' => 'John',
  12.         'section' => 'Chief'
  13.     ),
  14.     2 => array(
  15.         'id' => 3,
  16.         'name' => 'Helen',
  17.         'section' => 'Manager'
  18.     ),
  19.     3 => array(
  20.         'id' => 4,
  21.         'name' => 'Sarah',
  22.         'section' => 'Manager'
  23.     ),
  24.     4 => array(
  25.         'id' => 5,
  26.         'name' => 'Bill',
  27.         'section' => 'Technics'
  28.     ),
  29.     5 => array(
  30.         'id' => 6,
  31.         'name' => 'Will',
  32.         'section' => 'Technics',
  33.     )
  34. );
  35. $new_array = array();
  36. foreach ($test as $value):
  37.     $section = $value['section'];
  38.     if (!array_key_exists($section, $new_array)):
  39.         $new_array[$section] = array();    
  40.     endif;
  41.     unset($value['section']);
  42.     array_push($new_array[$section], $value);
  43. endforeach;
  44. unset($value);
  45. echo "<pre>"; print_r($new_array); echo "</pre>";
  46. ?>

(Отредактировано автором: 02 Июля, 2013 - 12:51:53)

 
 Top
Zerrata
Отправлено: 02 Июля, 2013 - 13:19:19
Post Id



Новичок


Покинул форум
Сообщений всего: 20
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




Спасибо работает Улыбка
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB