PDA

Bekijk Volledige Versie : PHP/MySQL : toevoegen meerdere rijen



ST247
15/05/07, 11:44
Hallo,

Ik ben nog niet zolang bezig met php en ben bezig met een website om
o.a. een volledige discografie bij te houden van een artiest.
Het deel waar ik nu vastzit is bij het toevoegen van de tracks.
Ik heb 3 tabellen die hier betrekking op hebben :
* discography (informatie over het album)
* tracks (alle tracktitels, om dubbele te vermijden)
* albumtrack (koppeltabel tussen discography en tracks, met daarbij
specifieke info over de track)

In een eerste formulier zet ik de album-specifieke info en daarbij ook
het aantal tracks. Na de insert vraag ik de id op en ga ik naar een
nieuw formulier waar ik de volgende velden heb : discnummer,
tracknummer, titel, duur, versie (vb. Single Edit, remix,...) en
notities. Dit wordt zo vaak onder elkaar getoond als ik in het vorige
formulier tracks heb opgegeven.

Het probleem zit hem nu in het toevoegen in mijn albumtrack tabel. Hij
voegt natuurlijk enkel de eerste rij toe. Nu heb ik zoiets al wel eens
aan de praat gekregen met een array, maar daar ging het over 1 veldje
(checkbox). Ik heb eigenlijk geen idee op welke manier ik dit kan
oplossen.

Is er iemand die me op weg kan helpen ? Alvast bedankt ;-)

ST247

Floortje
15/05/07, 11:44
ST247 schreef:

> Het probleem zit hem nu in het toevoegen in mijn albumtrack tabel. Hij
> voegt natuurlijk enkel de eerste rij toe. Nu heb ik zoiets al wel eens
> aan de praat gekregen met een array, maar daar ging het over 1 veldje
> (checkbox). Ik heb eigenlijk geen idee op welke manier ik dit kan
> oplossen.

Dit is een oplossing. Er zijn zat andere maar als je dit alleen voor
jezelf doet zal het wel voldoen.

Verander '5' door het aantal nummers ($aantal oid) en klus het bovenste
gedeelte om naar een query en klaar is kees :-)

<?php
if ($_POST)
{
for ($i=1;$i<=5;$i++)
{
echo '<h1>Track '.$i.'</h1>';
echo '<p>Nummer '.$_POST['nummer'][$i].'<br>';
echo 'Duur '.$_POST['duur'][$i].'<br>';
echo 'titel '.$_POST['titel'][$i].'</p>';
}
}
echo '<form action ="index.php" method="POST">';

for($i=1;$i<=5;$i++)
{
echo 'Track '.$i.'<br>';
echo 'Nummer<input type ="text" name="nummer['.$i.']"><br>';
echo 'Duur<input type ="text" name="duur['.$i.']"><br>';
echo 'Titel<input type ="text" name="titel['.$i.']"><br>';
}
?>
<input type="submit">
</form>

--
Arjen
http://www.arjenkarel.nl

ST247
15/05/07, 11:44
Floortje wrote:

> ST247 schreef:
>
> > Het probleem zit hem nu in het toevoegen in mijn albumtrack tabel.
> > Hij voegt natuurlijk enkel de eerste rij toe. Nu heb ik zoiets al
> > wel eens aan de praat gekregen met een array, maar daar ging het
> > over 1 veldje (checkbox). Ik heb eigenlijk geen idee op welke
> > manier ik dit kan oplossen.
>
> Dit is een oplossing. Er zijn zat andere maar als je dit alleen voor
> jezelf doet zal het wel voldoen.
>
Bedankt Arjen.
Ik had ondertussen al iets in elkaar geknutseld als volgt :
Een loop waar $track mijn teller is en dan bij de form elementen
name="track[$track][veldnaam]".
Dan een foreach ($_POST['track'] as $track) met daarin dan een verwijzing
naar de velden als $track["veldnaam"] en het insert / update statement en
dat lijkt prima te werken momenteel.
Ben blij dat ik arrays al een beetje beter door begin te krijgen ;-)

Bedankt !

Annemie


--