Avatar billede thorus Nybegynder
03. oktober 2003 - 13:26 Der er 11 kommentarer og
1 løsning

multiple FORM Insert

Jeg har en multiple html form select hvor man kan vælge flere områder i danmark.

Hvordan ligger jeg de forskellige values ind i en mysql DB?
Avatar billede zchou Nybegynder
03. oktober 2003 - 13:56 #1
Du gør bare ligesom når du ligger et almindeligt tekstfield ind i mysql:
Hvis din select hedder: "omraade" og din db hedder xxx

mysql_query("insert into xxx (omraade) values ('$omraade')")or die(mysql_error());
Avatar billede zchou Nybegynder
03. oktober 2003 - 13:56 #2
Var et svar:D
Avatar billede thorus Nybegynder
03. oktober 2003 - 14:03 #3
den indsætter kun en value..

eks. jeg vælger
københavn -> value -> 21
Nordsjælland -> value -> 22

Så tager den kun den ene og indsætter
Avatar billede zchou Nybegynder
03. oktober 2003 - 14:06 #4
Skal den ikke også kun indsætte én af dem??
Avatar billede zchou Nybegynder
03. oktober 2003 - 14:07 #5
Nårh nej.. Det er min:D Det kan jeg faktisk ikke lige regne ud hvordan man gør så! ked af det:D
Avatar billede thorus Nybegynder
03. oktober 2003 - 14:27 #6
ellers tak for hjælpen..
Avatar billede sukos Juniormester
03. oktober 2003 - 15:32 #7
Skal det ind i en kolonne, f.eks. omraader ?

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<select name="area[]" multiple>
<option value="omraade1">omraade1</option>
<option value="omraade2">omraade2</option>
<option value="omraade3">omraade3</option>
<option value="omraade4">omraade4</option>
</select>
<input type="submit">
</form>

<?php
if(isset($_POST["area"])) {
$om = implode(",", $_POST["area"]);
echo $om;
}
?>

Så kan du putte $om i DB'en, og explode når du trækker det ud igen
Avatar billede thorus Nybegynder
03. oktober 2003 - 15:40 #8
Jeg har lige fundet ud af det selv..

$katres = mysql_query("select id, type from annonce order by type asc");

$typeannonce = $typeannonce . "<select class=but name=\"type\">
<option value=\"\">Vælg type</option>
";
                while($rowkat = mysql_fetch_array($katres))
                  {
                $typeannonce = $typeannonce . "<option value=\"{$rowkat["id"]}\">{$rowkat["type"]}</option>";
            }   

                   
før min insert:                   

for($i=0; $i < count($geo); $i++) {
  $geof = "$geo[$i];$geof";
}

så indsætter jeg bare $geof som kommer til at se ud: eks. 12;12;25;
Avatar billede thorus Nybegynder
03. oktober 2003 - 15:42 #9
sukos -> men dit forslag er nok lidt mere efter bogen.. bare giv et svar så for du points
Avatar billede sukos Juniormester
03. oktober 2003 - 15:46 #10
hmm, du bruger da heller ikke en multiple, og virker det med den for-løkke?
Og tag du selv point hvis ikke du bruger mit forslag! :O)
Avatar billede thorus Nybegynder
03. oktober 2003 - 16:21 #11
lige lidt forkert kode

$geores = mysql_query("select id, geo from geoannonce order by geo asc");

$geoannonce = $geoannonce . "<select class=but name=\"geo[]\" size=\"5\" multiple>

";

                  while($rowgeo = mysql_fetch_array($geores))
                  {
                $geoannonce = $geoannonce . "<option value=\"{$rowgeo["id"]}\">{$rowgeo["geo"]}</option>";
            }   
           
           
  $geoannonce = $geoannonce . "
                   
                   
                        </select>";

ja det virker fint..
Avatar billede thorus Nybegynder
17. december 2003 - 15:10 #12
afslutter
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