Gå til innhold

Verdier fra checkbox inn i MySQL


Anbefalte innlegg

Hei.

 

Har en form som er slik at brukeren velger hvilke filmer han/hun har sett, og så skal valget lagres i en database.

 

Eksempel på slik jeg har gjort det:

 

Kryss av hvis du har sett Film 1: <input type="checkbox" name="Film01">
Kryss av hvis du har sett Film 2: <input type="checkbox" name="Film02">
Kryss av hvis du har sett Film 2: <input type="checkbox" name="Film03">

 

Spm. er, hvordan skal jeg sette dette inn i databasen? Jeg har 2 rader, med feltene "id" og "sett".

 

"id" skal være navnet på filmen (Film01, Film02, Film03) og "sett" skal være enten 1 eller 0 (1=sett 0=ikke sett).

 

Hvordan setter jeg dette inn?

 

EDIT:

 

Feltene i databasen er definert fra før og er satt til "0" som default

 

Så de skal altså oppdateres til 1 på de feltene hvor brukeren huker av checkboxen.

Endret av timb
Lenke til kommentar
Videoannonse
Annonse
Hei.

 

Har en form som er slik at brukeren velger hvilke filmer han/hun har sett, og så skal valget lagres i en database.

 

Eksempel på slik jeg har gjort det:

 

Kryss av hvis du har sett Film 1: <input type="checkbox" name="Film01">
Kryss av hvis du har sett Film 2: <input type="checkbox" name="Film02">
Kryss av hvis du har sett Film 2: <input type="checkbox" name="Film03">

 

Spm. er, hvordan skal jeg sette dette inn i databasen? Jeg har 2 rader, med feltene "id" og "sett".

 

"id" skal være navnet på filmen (Film01, Film02, Film03) og "sett" skal være enten 1 eller 0 (1=sett 0=ikke sett).

 

Hvordan setter jeg dette inn?

 

EDIT:

 

Feltene i databasen er definert fra før og er satt til "0" som default

 

Så de skal altså oppdateres til 1 på de feltene hvor brukeren huker av checkboxen.

 

Google: http://www.google.no/search?hl=no&sour...mp;aq=f&oq=

 

Eks. http://www.tizag.com/phpT/examples/formex.php

Lenke til kommentar
<input type="checkbox" value="Hva du vil1" name="Film01">
<input type="checkbox" value="hva du vil2" name="Film02">
<input type="checkbox" value="hva du vil3" name="Film03">

 

I value bestemmer du hva som skal bli "verdien"

Skjønner fremdeles ikke så mye.

Endret av timb
Lenke til kommentar
<input type="checkbox" value="Hva du vil1" name="Film01">
<input type="checkbox" value="hva du vil2" name="Film02">
<input type="checkbox" value="hva du vil3" name="Film03">

 

I value bestemmer du hva som skal bli "verdien"

Skjønner fremdeles ikke så mye.

 

Okey, skal prøve å komme med et eksempel:

 

Formen:

<form action="post.php" method="post">
<input type="checkbox" value="hva du vil2" name="Film02" value="f1"/>
<input type="checkbox" value="hva du vil3" name="Film03" value="f2"/>
<inoput type="sumbit" name="summit" value="Velg"/>
</form>

 

Post.php

if(isset($_POST['submit'])){
$film1 = $_POST['Film1'];
$film2 = $_POST['Film2'];

$sql = "
INSERT INTO filmTable(film1,film2) VALUES ('$film1','$film2')
";
}

 

Evt. kan du sjekke på om den er krysset av på denne måten:

if($film1 == 'f1') {
echo 'Du valgte film1';
}
if($film2 == 'f2') {
echo 'Du valgte film2.';
}

 

Dette har jeg ikke fått testet nå, men det skal være ganske greit. Håper det er til noen hjel.

Lenke til kommentar
Post.php

if(isset($_POST['submit'])){
$film1 = $_POST['Film1'];
$film2 = $_POST['Film2'];

$sql = "
INSERT INTO filmTable(film1,film2) VALUES ('$film1','$film2')
";
}

På meg så blir det jo slik:

Post.php

if(isset($_POST['submit'])){
$film1 = $_POST['Film1'];
$film2 = $_POST['Film2'];

$sql = "
INSERT INTO filmer(id,sett) VALUES ('$film1','1')
";
}

 

Men hva skjer dersom de krysser av for mer enn én film?

 

Som jeg beskrev over så skal "sett" settes til 1 om filmen er sett

Lenke til kommentar

Nå er det en stund siden jeg drev med dette, men jeg mener at du kan gjøre det slik:

 

<!-- form.php -->
<?php
 $filmliste[]='Kill Buljo';
 $filmliste[]='Død snø';
 $filmliste[]='Hans and Gretle';
 echo '<form method="post" action="form_handler.php">';
 echo '<input type="hidden" name="filmliste" value="'.seralize($filmliste)-'">;
 foreach($filmliste as $film)
 {
echo "Har du sett $film? <input type=\"checkbox\" name=\"film[]\"><br/>\n";
 }
 echo '</form>';
?>

 

<!-- formhandler.php -->
 $filmliste = unserialize($POST['filmliste'];
 echo 'Du har sett følgende filmer:<br/>';
 for($cnt=0; $cnt<count($filmliste); $cnt++)
 {
if($_POST['film'][$cnt]=='Checked')
  echo $filmliste[$cnt].'<br/>';
 }
?>

 

Jeg tar forbehold om at koden kan inneholde syntaktiske, logiske og til og med idiotiske feil da jeg ikke har prøvd koden men bare skriver etter det jeg mener er riktig.

 

Cluet til koden er at <input name="film[]"..> vil havne i $_POST['film'][].

 

Fordelen er da at du ikke trenger å vite hvor mange filmer som er med i valglisten på forhånd hverken i design av skjemaet eller i behandlingsfunksjonen og skalerbarhet er alltid en god ting.

 

Håper det hjelper.

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...