Gå til innhold

Reg. med insert like mange ganger som rader er fylt ut


Anbefalte innlegg

God helg alle.

 

Jeg sitter her å lager en oversikt over cd'er og sangene mine, skal også lage en oversikt over dvd'ene mine også. også holder jeg på å lærer meg php :) lurte på om noen kunne hjelpe meg litt.

 

Fil: reg_cd.htm

<html>
<body>
<form method="post" action="reg_cd.php">
Antall sanger som skal registreres: <input name="antall" type="text" value="" />
<br />
<input name="submit" type="submit" value="Neste" />
</form>
</body>
</html>

 

Fil reg _cd.php

<html>
<body>
<form method="post" action="query_reg_cd.php">
<table>
<tr>
<td>CD</td>
<td>Spor</td>
<td>Artist</td>
<td>Sang</td>
<td>Kommentar</td>
</tr>

<?php
IF ($_POST['antall'] >= 1) 
{
  for ($i = 0; $i < $_POST['antall']; $i++) 
  {
echo '
  <tr> 
	<td><input name="cd[]" type="text" value="" /></td>
	 <td><input name="spor[]" type="text" value="" /></td>
	 <td><input name="artist[]" type="text" value="" /></td>
	 <td><input name="sang[]" type="text" value="" /></td>
	  <td><input name="kommentar[]" type="text" value="" /></td>
</tr>';
}
}
?>
</table>
<br />
<input name="submit" type="submit" value="Lagre" />
</form>
</body>
</html>

 

fil:query_reg_cd.php

 

<?php

$cd = $POST['cd'];
$nr = $POST['spor'];
$ar = $POST['artist'];
$sa = $POST['sang'];
$ko = $POST['kommentar'];

require($_SERVER["DOCUMENT_ROOT"]."/config/db.php");

$query = "INSERT INTO tbl_cd (cd_id, cd, spor, artist, sang, kommentar) 
			VALUES (NULL, '$cd', '$nr', '$ar', '$sa', '$ko')";
mysql_query($query, $db) or die (mysql_error());

echo '<a href ="list_cd.htm">Gå til cd listen</a>';
?>

 

 

Lurte på om noen kan hjelpe meg med to ting her.

1. Registrere alle sangene inn i mysql. (dette må vel gjøres igjennom en loop) i filen query_reg_cd.php....

 

2. Legge til en knapp slik at jeg får en ekstra rad i reg_cd.php uten å miste informasjone jeg har skrevet. I dag må jeg gå tilbake og rette verdien i reg_cd.htm og starte på nytt.

 

Håper noen har tid og orker å hjelpe meg, på forhånd takk :)

Endret av 1King
Lenke til kommentar
Videoannonse
Annonse

Hei!

 

Tenkte bare å gi deg et lite tips her. Måten du har tenkt å gjøre dette på, er å først velge antall sanger, for deretter å få tilsvarende antall sanger opp som felt i neste vindu, i tillegg til info som artist, album, spor, etc. Eller er dette feil?

 

I såfall ville jeg tenkt litt annerledes, og heller laget en tabell som ser ut omtrent slik (navn på felter):

 

id - navn - sang - cd - dvd - nummer - eier - bilde - artist - aar - lengde

 

* Id- en gir deg direktelink der du har beov for det, eks. index.php?show=cd&id=535.

* Navnet er navnet, enten det er en cd, sang, eller dvd.

* Sang - cd - dvd har verdi en eller null. En sang har verdi en i sang, null i cd og dvd.

* Nummer er info om spor. Denne sorterer sanger etter riktig rekkefølge.

* Eier gir deg info om hvilken cd eller dvd som eier sang (id).

* Bilde inneholder et eventuelt bildenavn

* artist - aar - lengde (tilleggsinfo) ..

 

For å liste eksempelvis alle cd- er, velger du de ut ved:

"SELECT bilde, navn FROM TABELL WHERE cd ='1'";

 

For å liste ut sanger på bestemt cd, velger du ved:

"SELECT navn FROM TABELL WHERE eier ='" . (int) $_GET['cd'] . "' AND sang = '1'";

 

For å liste hvilken CD / DVD en bestemt sang tilhører (denne vet du allerede id på), velger du ved:

"SELECT navn FROM TABELL WHERE id ='" . (int) $_GET['id'] . "' LIMIT 1";

 

Slik du gjør det nå, får du mye info skrevet inn unødvendig mange ganger i tabellen, og ting er etter min mening litt tungvint i forhold til utbygging. (du kan like gjerne legge opp til det fra starten av at du kan legge inn DVD- er i den samme tabellen). Du kan eksempelvis bygge ut tabellen med Regissør ++.

 

 

Uansett. Først, Kjør skjema slik du allerede har gjort.

 

 

Neste side -> Skjema start.

 

Skriv felt med albumnavn, år, artist ++.

 

$antall= (int) $_GET['antall']; bruker du til å skrive felter til navn på sangene.

 

for ($i=1; $i=<$antall; $i++) {

echo $i . '<input type="text" size="20" name="' . $i . '" />';

}

 

submit, skjema slutt.

 

Neste side -> Dette sendes til db.

 

 

 

For å endre / slette artister, cd-er, etc., lager du et tilsvarende skjema som lister opp alle sanger, artister, album (alt etter som du vil ha det).

 

Du velger f.eks et album, og albumet kommer opp i samme liste som du har skrevet. Her trenger du så å si det samme skjemaet. Velg CD, kjør dette inn i felt for cd. Velg alle sangene som tilhører cd- en, og lag x antall felt som du forhåndsplasserer innhold i. Denne gangen skal du bruke UPDATE isteden for INSERT. så du ser hva du har av innhold i skemaet, og velger de riktige radene først, som du seretter oppdaterer.

 

Uansett, bare spør dersom du står fast, og lykke til. :D

Lenke til kommentar
Neste side -> Skjema start.

 

Skriv felt med albumnavn, år, artist ++.

 

$antall= (int) $_GET['antall']; bruker du til å skrive felter til navn på sangene.

 

for ($i=1; $i=<$antall; $i++) {

echo $i . '<input type="text" size="20" name="' . $i . '" />';

}

 

submit, skjema slutt.

 

Neste side -> Dette sendes til db.

 

 

 

For å endre / slette artister, cd-er, etc., lager du et tilsvarende skjema som lister opp alle sanger, artister, album (alt etter som du vil ha det).

 

Du velger f.eks et album, og albumet kommer opp i samme liste som du har skrevet. Her trenger du så å si det samme skjemaet. Velg CD, kjør dette inn i felt for cd. Velg alle sangene som tilhører cd- en, og lag x antall felt som du forhåndsplasserer innhold i. Denne gangen skal du bruke UPDATE isteden for INSERT. så du ser hva du har av innhold i skemaet, og velger de riktige radene først, som du seretter oppdaterer.

 

Uansett, bare spør dersom du står fast, og lykke til. :D

 

Dette er jo ikke helt det jeg lurer på.

 

Hvis jeg skal registrere varer som har part nummer og serie nummer osv.i tillegg en "select tag" som lister opp hvilket type produkt det er snakk om.

 

Lurer på hvordan jeg lager en løkke som først gjør en kontroll om alle feltene er fylt ut. er dette ok.. så registrer dette i mysql?

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...