Allroa ragazzi, mi scuso se il titolo non è molto esplicito

Premetto che uso il linguaggio SQL da soli 3 giorni, ma sono soddisfatto per i risultati che sto ottenendo.

Allora, ho tre tabelle con la seguente struttura:

ip_bands:
codice:
id             	int(5)             auto_increment
name            varchar(255)
genre         	text
formed_city 	varchar(63)
formed_date 	text
website 	varchar(63)
members 	varchar(255)
ip_bands_albums:
codice:
id             	int(5)             auto_increment
id_band         int(5)
name_album      text
date_album 	int(4)
ip_bands_members:
codice:
id             	int(5)             auto_increment
id_band         int(5)
voice           text
drum            text
keyboard        text
bass            text
guitar_1        text
guitar_2        text
guitar_3        text

Ora, seleziono tutto con questa query:

Codice PHP:
$sql 'SELECT band.*, album.*, members.* 
    FROM ip_bands AS band
    JOIN ip_bands_albums AS album ON album.id_band=band.id
    JOIN ip_bands_members AS members ON members.id_band=band.id
    WHERE band.id=' 
mysql_real_escape_string($_GET['id']); 
Con questo elaboro i risultati per poi stamparli a video:
Codice PHP:
while ($row $db->sql_fetchrow($result))
        {
            
$band_id $_GET['id'];
            
$band_name =  $row['name'];
            
$genre_array explode("/"$row['genre']);
            foreach(
$genre_array as $genre)
            {
                
$template->assign_block_vars('band_view_genre', array(
                
'BAND_GENRE' => $genre,
                ));
            }
            
$band_city_formed = (!empty($row['formed_city'])) ? $row['formed_city'] : 'N.D.';
            
$band_date_formed = (!empty($row['formed_date'])) ? $row['formed_date'] : 'N.D.';
            
$band_name_album = (!empty($row['name_album'])) ? $row['name_album'] : 'N.D.';
            
$band_date_album = (!empty($row['date_album'])) ? $row['date_album'] : 'N.D.';
            
$band_website = (!empty($row['website'])) ? str_replace('http://'''$row['website']) : 'N.D.';
            
$band_member_drum = (!empty($row['drum'])) ? $row['drum'] . '(' $lang['Band_Drummer'] . ')' '';
            
$band_member_voice = (!empty($row['voice'])) ? $row['voice'] . '(' $lang['Band_Singer'] . ')' '';
            
$band_member_keyboard = (!empty($row['keyboard'])) ? $row['keyboard'] . '(' $lang['Band_Keyboarder'] . ')' '';
            
$band_member_bass = (!empty($row['bass'])) ? $row['bass'] . '(' $lang['Band_Bassist'] . ')' '';
            
$band_member_guitar_1 = (!empty($row['guitar_1'])) ? $row['guitar_1'] . '(' $lang['Band_Guitarist_1'] . ')' '';
            
$band_member_guitar_2 = (!empty($row['guitar_2'])) ? $row['guitar_2'] . '(' $lang['Band_Guitarist_2'] . ')' '';
            
$band_member_guitar_3 = (!empty($row['guitar_3'])) ? $row['guitar_3'] . '(' $lang['Band_Guitarist_3'] . ')' '';

            (
$board_config['url_rw'] == '1') || (($board_config['url_rw_guests'] == '1') && ($userdata['user_id'] == ANONYMOUS)) ? $view_band_url append_sid(str_replace ('--''-'make_url_friendly($band_name) . '-band-id' $band_id '.html')) :    $view_band_url append_sid('band.' PHP_EXT '?id=' $band_id);

            (
$userdata['user_level'] = ADMIN && $userdata['session_logged_in']) ? $url_band_edit '[url="band.' PHP_EXT '?edit=' $band_id '"]' $lang['Edit_delete_post'] . '[/url]' $url_band_edit '';

            
$template->assign_block_vars('band_view_album', array(
            
'BAND_ALBUM_NAME' => $band_name_album,
            
'BAND_ALBUM_DATE' => $band_date_album,
            ));
        }
        
$template->assign_block_vars('band_view', array(
            
'BAND_ID' => $band_id,
            
'BAND_NAME' => $band_name,
            
'BAND_CITY' => $band_city_formed,
            
'BAND_DATE' => $band_date_formed,
            
'BAND_ALBUM_NAME' => $band_name_album,
            
'BAND_ALBUM_DATE' => $band_date_album,
            
'BAND_WEBSITE' => $band_website,
            
'BAND_MEMBER_DRUM' => $band_member_drum,
            
'BAND_MEMBER_VOICE' => $band_member_voice,
            
'BAND_MEMBER_KEYBOARD' => $band_member_keyboard,
            
'BAND_MEMBER_BASS' => $band_member_bass,
            
'BAND_MEMBER_GUITAR_1' => $band_member_guitar_1,
            
'BAND_MEMBER_GUITAR_2' => $band_member_guitar_2,
            
'BAND_MEMBER_GUITAR_3' => $band_member_guitar_3,
            
'U_VIEW_BAND' => $view_band_url,
            
'U_EDIT_BAND' => $url_band_edit,
        )); 

Ogni gruppo ha un id UNICO nella prima tabella che lo identifica appunto. Relaziono i dati con le altre tabelle in base a id_band.

Ho due problemi:

Il primo:
Devo inserire diversi dati nei campi in ip_albums_bands quindi devo stampare a video tanti input quanti sono gli album inseriti, più quelli che vuole l'utente, in base ad un valore passato via POST.

Quindi, dovrei scrivere qualche condizione che mi conti i campi del DB poi ne aggiunga, mantenendo quelli già presenti del DB, quanti scelti.

Il secondo (è collegato al primo):
Per inserire i dati, devo abbinare ad ogni album la propria data (mi dovrò basare sul campo id della tabella ip_album_bands) ma non so come.

Cioè:
l'id 1 ha in name_album 'Prova' e in date_album '1990';
l'id 2 ha in name_album 'Prova2' e in date_album '1991;

Come posso realizzare la query in modo i dati inseriti non si mischino tra di loro, e ogni nome album e ogni data sia nello stesso ID a dove vengono scritti nel form?


Grazie in anticipo. Possibilmente se rispondete fatelo a prova di scemo perchè non conosco amncora molto beben la sintassi SQL