Итак, есть в мускуле таблица с двумя полями: КНИГА и ГЛАВЫ. С помощью селекта я ее вытаскиваю:
$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 написал(а):
Возможно попробуй такой запрос:
По идее должен выйти массив типа :
Книга 1 => Глава 1
Книга 1 => Глава 2
Книга 1 => Глава 3
Книга 2 => Глава 1
Книга 2 => Глава 2
Книга 3 => Глава 1
........
$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
Книги
id | name | author | date_public
Разделы
id | name | id_book
Спустя 9 минут, 42 секунды (23.09.2011 - 11:03) bomi1012 написал(а):
Спасибо всем. от Invis1ble как раз подошло. Касаемо БД, то пляшу от того, что дано.