Avatar billede ulle55 Nybegynder
09. november 2004 - 08:44 Der er 9 kommentarer og
1 løsning

data fra multiple input, til database

Hvordan sætter jeg dataen fra et "multiple input" felt ind i et felt i en database, og får dataen ud igen?
Avatar billede sukos Juniormester
09. november 2004 - 08:45 #1
I et felt?
Eller i et nyt row?

Og hvad er multiple input?
Du mener vel select?
Avatar billede ulle55 Nybegynder
09. november 2004 - 08:52 #2
min fejl, ja det er et SELECT.
Det skal sættes ind i et felt i en DB
Avatar billede sukos Juniormester
09. november 2004 - 08:59 #3
Noget i denne stil

<html><head></head>
<body>
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<select name="selectname[]" multiple>
    <option value="Selectvar1">valg 1</option>
    <option value="Selectvar2">Valg 2</option>
    <option value="Selectvar3">Valg 3</option>
    <option value="Selectvar4">Valg 4</option>
</select>
<br>

<input type="submit" value="Udfør">
</form>
<?php
if(isset($_POST["selectname"])) {

echo"<p>";
$var = implode(",", $_POST["selectname"]);

$sql_single = "INSERT INTO `table` (`kolonnenavn`) VALUES ('". $var ."')";

echo $sql_single;

echo"<p>";

foreach($_POST["selectname"] as $value) {
$sql = "INSERT INTO `table` (`kolonnenavn`) VALUES ('". $value ."')";
echo $sql ."<br>";

    }

}
?>

</html></head>
Avatar billede ulle55 Nybegynder
09. november 2004 - 09:46 #4
Nu spørger jeg dumt, men hvor´dan skal jeg sætte der ind i min kode?

<?php

if ($_POST['skriv']){
$mail = $_POST['uname'];
$addr = $_POST['addresse'];
$postnr = $_POST['postnr'];
$tlfnr1 = $_POST['tlfnr'];
$mobilnr = $_POST['mobilnr'];
$medlem_som = $_POST['medlem_som'];
$om = $_POST['om'];


  mysql_query("UPDATE medlemsliste SET addresse='$addr', om='$om', postnr='$postnr', tlfnr='$tlfnr1', mobilnr='$mobilnr', leder_for='$klasse1', medlem_som='$medlem_som' WHERE email LIKE '$mail'");
}
?>

<form method=post action=<? $PHP_SELF; ?>>
    <input TYPE=hidden NAME=skriv VALUE=1>
<?
      $foresp1 = mysql_query("SELECT * FROM authuser INNER JOIN medlemsliste ON authuser.uname=medlemsliste.email WHERE uname='$uname'");
        while ($data = mysql_fetch_array($foresp1))
          {
            echo        "Brugernavn / Email<input type=text name=uname value=$data[uname] readonly><br>";
            echo        "Navn:<input type=text name=navn VALUE='$data[navn]'><br>";
            echo        "Addresse:<input type=text name=addresse value='$data[addresse]'><br>";
            echo        "Post nr. / By<input type=text name=postnr value='$data[postnr]'><br>";
            echo        "Telefon nr.<input type=text name=tlfnr value=$data[tlfnr]><br>";
            echo        "Mobil nr.<input type=text name=mobilnr value=$data[mobilnr]><br>";
            echo        "Leder for<input type=text name=leder_for value='$data[leder_for]'><br>";
            echo        "Medlem som<input type=text name=medlem_som value=$data[medlem_som]><br>";
            echo        "Om:<textarea rows=6 cols=50 name=om>$data[om]</textarea><br>";

$ledfor = $data[leder_for];
          }
            echo        "klasse:<select name='klasse[]' size='9' multiple>";
              $leder = mysql_query("select klasse from klasser");
              while($row = mysql_fetch_array($leder)){
                if ($row["klasse"] == "$ledfor") {
                  $sel = 'SELECTED';}
                else
                  { $sel = ""; }

              echo "<option value='$row[klasse]' $sel>$row[klasse]</option>";
              }
            echo        "</select>";
?>
    <input type=submit VALUE="Opdater">
</form>
Avatar billede sukos Juniormester
09. november 2004 - 09:56 #5
Det er vel feltet "leder_for" du vil ha' opdateret?

if ($_POST['skriv']){
$mail = $_POST['uname'];
$addr = $_POST['addresse'];
$postnr = $_POST['postnr'];
$tlfnr1 = $_POST['tlfnr'];
$mobilnr = $_POST['mobilnr'];
$medlem_som = $_POST['medlem_som'];
$om = $_POST['om'];

$klasser = implode(",", $_POST["klasse"]);

  mysql_query("UPDATE medlemsliste SET addresse='$addr', om='$om', postnr='$postnr', tlfnr='$tlfnr1', mobilnr='$mobilnr', leder_for='$klasser', medlem_som='$medlem_som' WHERE email LIKE '$mail'");
}

Så får du hver klasse adskilt af et komma

For at vise det igen

$ledfor = explode(",", $data["leder_for"]);


..........................

                if (in_array($row["klasse"], $ledfor)) {
                  $sel = 'SELECTED';}
                else
                  { $sel = ""; }

Tror jeg da! :O) Er ikke testet jo!
Avatar billede ulle55 Nybegynder
09. november 2004 - 10:36 #6
Det ser ud somom det virker, undtagen
                if (in_array($row["klasse"], $ledfor)) {
                  $sel = 'SELECTED';}
                else
                  { $sel = ""; }

Har du et andet forslag?
Avatar billede sukos Juniormester
09. november 2004 - 16:04 #7
hmm, nej ikke lige umiddelbart
Men du kan jo prøve at outputte $ledfor inden, for at se hvilke som findes i array'et
Avatar billede ulle55 Nybegynder
08. marts 2005 - 09:14 #8
vil du svare?
Avatar billede sukos Juniormester
08. marts 2005 - 09:19 #9
Fik du det til at virke?
Avatar billede ulle55 Nybegynder
08. marts 2005 - 10:29 #10
Ja det virker perfekt
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