[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: массив из mysql
bomi1012
привет. Мне очень надо из mysql сделать массив в файл, но в определенной форме. Уже дня 3 бьюсь, но получается что-то все время не то.
Итак, есть в мускуле таблица с двумя полями: КНИГА и ГЛАВЫ. С помощью селекта я ее вытаскиваю:
$buch = mysql_query("SELECT `buch`, `glava` FROM `list` order by `id_list`");

И вот дальше мне нужен массив следующего формата:
$book = array (
'КНИГА_1' => array (
0 => 'Глава1',
1 => 'Глава2',
),

'КНИГА_2' => array (
0 => 'Глава3',
1 => 'Глава4',
),
);


у меня выходит несколько по-другому:
$array_bc = array();
while ($fetch_bc = mysql_fetch_array($buch, MYSQL_ASSOC)){
$array_bc[] = array($fetch_bc['buch'] => $fetch_bc['glava']);
}
print_r($array_bc);

Результат такой:
Array ( [0] => Array ( [Книга_1] => глава1 ) 
[
1] => Array ( [Книга_1] => глава2 )
...............
[
5] => Array ( [Книга_2] => глава3 )
);


Подскажите, пожалуйста, как мне сделать массив в том формате, что мне нужен?




Спустя 23 минуты, 2 секунды (23.09.2011 - 10:45) Sanchopansa написал(а):
Возможно попробуй такой запрос:
$buch = mysql_query("SELECT `buch`, `glava` FROM `list` order by `buch`, `glava`");

По идее должен выйти массив типа :
Книга 1 => Глава 1
Книга 1 => Глава 2
Книга 1 => Глава 3
Книга 2 => Глава 1
Книга 2 => Глава 2
Книга 3 => Глава 1
........

Спустя 42 секунды (23.09.2011 - 10:46) Игорь_Vasinsky написал(а):
Может:

$array_bc = array();
while ($fetch_bc = mysql_fetch_array($buch, MYSQL_ASSOC)){
$array_bc[] = array($fetch_bc['buch']);

foreach($array_bc as $buch)
{
if($buch == $fetch_bc['buch'])
{
$array_bc['butch'] = array();
$array_bc['butch'][] = $fetch_bc['glava'];
}
}
}

echo '<pre>' . print_r($array_bc, 1) . '</pre>';


Не проверял, и не нравиться мне то - что цикл в цикле.

Спустя 3 минуты, 19 секунд (23.09.2011 - 10:49) Invis1ble написал(а):
$books = array();
while ($book = mysql_fetch_assoc($rBook))
$books[$book['buch']][] = $book['glava'];

print_r($books);

А вообще, советую почитать про нормализацию БД.

Спустя 4 минуты, 11 секунд (23.09.2011 - 10:53) Игорь_Vasinsky написал(а):
ну. Достаточно было создать 2 таблицы

Книги

id | name | author | date_public

Разделы

id | name | id_book

Спустя 9 минут, 42 секунды (23.09.2011 - 11:03) bomi1012 написал(а):
Спасибо всем. от Invis1ble как раз подошло. Касаемо БД, то пляшу от того, что дано.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.