Ho due tabelle, una cats e una forums strutturate in questo modo:
codice:
Campo Tipo Null Predefinito
cat_id mediumint(8) No
cat_pos mediumint(8) No
cat_name varchar(255) No
cat_desc text No
cat_img varchar(255) No
cat_lock tinyint(1) No 0
codice:
Campo Tipo Null Predefinito
forum_id mediumint(8) No
forum_pos mediumint(8) No
forum_cat mediumint(8) No
forum_name varchar(255) No
forum_desc text No
forum_lock tinyint(1) No 0
Ora dovrei creare un array in questo modo:
codice:
Array
(
'ID_CATEGORIA' => Array
(
[name] => 'NOME_CATEGORIA'
[forum] => Array
(
'ID_FORUM' => Array
(
[name] => 'NOME_FORUM'
)
)
)
)
Ho provato ad inserire l'array dentro un while, dopo la query:
codice:
SELECT c.cat_id, c.cat_name, f.*
FROM cats AS c
LEFT JOIN forums AS f ON f.forum_cat=c.cat_id
ma non fa quello che vorrei.
Il risultato della query è:
codice:
cat_id cat_name forum_id forum_pos forum_cat forum_name forum_desc forum_lock
1 Comunità 1 1 1 Presentati Prova descrizione con HTML 0
1 Comunità 2 2 1 Problemi Sito/Forum Segnala qui i problemi. 0
2 Musica 3 3 2 Power Sezione dedicata al Power metal 0
Ma mi genera l'array così:
codice:
Array
(
[1] => Array
(
[cat_name] => Comunità
[cat_forums] => Array
(
[2] => Array
(
[name] => Problemi Sito/Forum
)
)
)
[2] => Array
(
[cat_name] => Musica
[cat_forums] => Array
(
[3] => Array
(
[name] => Power
)
)
)
)
con questo codice:
codice:
while($row = $db->fetch_assoc($sql))
{
$forum[$row['cat_id']] = array(
'cat_name' => $row['cat_name'],
'cat_forums' => array(
$row['forum_id'] => array(
'name' => $row['forum_name'],
)
)
);
}
Grazie per eventuali suggerimenti/correzioni!