Avatar billede kirstenh Nybegynder
12. december 2004 - 18:21 Der er 5 kommentarer

Data fra checkbox i mysql DB

Hvordan skal det se ud hvis jeg har 5-7 checkboxe hvor man kan aktivere indtil flere af dem, hvis de skal sættes ind i samme tabel i min mysql database?
de skal bare kunne hives ud som komme separeret.
Avatar billede kirstenh Nybegynder
12. december 2004 - 18:26 #1
Har forsøgt at tegne her hvad jeg mener.
http://upit.dk/u/db opslag.JPG
Avatar billede henninghabor Nybegynder
12. december 2004 - 18:30 #2
Hej Kirsten,

Du kan prøve at læse denne artikel:

http://www.webcafe.dk/artikler/php/loekker/

Her er din form:

<form action="script.html" method="post">
Markér dine favoritter:<p>
<input type="checkbox" name="favoritter[]" value="Carlsberg">
Carlsberg<br>
<input type="checkbox" name="favoritter[]" value="Tuborg">
Tuborg<br>
<input type="checkbox" name="favoritter[]" value="Harboe">
Harboe<br>
<input type="checkbox" name="favoritter[]" value="Wibroe">
Wibroe<p>
<input type="submit">
</form>

Og her findes ud af hvilke der er tjekket:

$favoritter = $_REQUEST["favoritter"];

$stoerrelse = sizeof($favoritter);

for ($i = 0; $i < $stoerrelse; $i++) {
  echo "<p>Jeg har valgt $favoritter[$i]";
}
Avatar billede kirstenh Nybegynder
13. december 2004 - 18:08 #3
Hej Henninghabor.
Hvordan skal det se ud i  en mysql løkke?
der kan jeg ikke helt få den ind.
Det er meningen at den skulle virke i denne:
mysql_query("INSERT INTO dvddb (titel, genre, lydformat, aargang, videoformat, region, imdb, scope, filmselskab) VALUES ('$titel', '$genre', '$lydformat', '$aargang', '$videoformat', '$region', '$imdb', '$scope', '$filmselskab')") or die (mysql_error());

hvor det så er lydformat der skulle skiftes ud.
Avatar billede henninghabor Nybegynder
13. december 2004 - 18:41 #4
Dette skal tilføjes til din form:

<input type="checkbox" name="favoritter[]" value="Carlsberg">
Carlsberg<br>
<input type="checkbox" name="favoritter[]" value="Tuborg">
Tuborg<br>
<input type="checkbox" name="favoritter[]" value="Harboe">
Harboe<br>
<input type="checkbox" name="favoritter[]" value="Wibroe">

Dette skal tilføjes til din sql query:

$favoritter = $_REQUEST["favoritter"]; // Her hentes alle checked boxes med navnet favoritter

$stoerrelse = sizeof($favoritter); // Antal favoritter i alt

for ($i = 0; $i < $stoerrelse; $i++) {
  $lydformat .= $favoritter[$i] . "-"; // Der gøres klar til at indsætte lydformat i databasen
}

mysql_query("INSERT INTO dvddb (titel, genre, lydformat, aargang, videoformat, region, imdb, scope, filmselskab) VALUES ('$titel', '$genre', '$lydformat', '$aargang', '$videoformat', '$region', '$imdb', '$scope', '$filmselskab')") or die (mysql_error());

Når du så henter folks indtastninger:

$lydformater = Array("", "Carlsberg", "Tuborg", "Harboe", "Wibroe"); // Alle slags lydformater

$lydformat = split("-", $_ROW[lydformat]); // Split folks indtastede lydformater

for($i = 0; $i < sizeof($lydformat); $i++)
{
  echo $lydformater[$lydformat]; // Lydformater udskrives
}
Avatar billede sukos Juniormester
14. december 2004 - 13:24 #5
Du vil ha' dem i DB, i et row?

if(isset($_POST["favoritter"])) {
$value = implode(",", $_POST["favoritter"]);
}else{
$value = "unknown";
}

INSERT INTO DB (`lydformat`) VALUES ('". $value ."');


Når du henter igen:

$values = explode(",", $row["lydformat"]);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester