Avatar billede gf Nybegynder
23. februar 2005 - 21:18 Der er 9 kommentarer og
1 løsning

Fra list/menu tilbage til databasen i ny tabel

Hej

Jeg har to list menuboxe den ene indeholder nogle elev navne, der hentes ud af en database som det kan ses herunder. Disse navne kan overføres til en anden list/menu ved hjælp af en lille java script funktion.

Hvordan kan jeg hente navnene der er overført ud og lægge dem ind i en ny tabel.

Mvh GF


<div id="Hovedside">
        <form action="" method="post">
                <select multiple id="elever" style="height:200px;width:125px">
                <?php
                $sql = "SELECT navn FROM elevdata";
                $qh = mysql_query( $sql ) or die( mysql_error() );
                while ( $row = mysql_fetch_assoc( $qh ) ) {
                  echo '<option value=>'.$row[navn].'</option>';
                }
                ?>
                </select> 
                    <input type="button" value=">>" onclick="moveFromTo('elever','syge');">
                    <input type="button" value="<<" onclick="moveFromTo('syge','elever');">
                    <select multiple style="height:200px;width:100px" id="syge">
                </select>
        </form>
    </div>
Avatar billede sukos Juniormester
23. februar 2005 - 21:55 #1
Ved ikke lige helt hvad du spørger om, men ved at bruge [] i navnet, får du et array at lege.
<select name="elever[]" multiple>

if(isset($_POST["elever"])) {
foreach($_POST["elever"] as $elev) {
echo $elev ." -":
    }
}
Avatar billede gf Nybegynder
23. februar 2005 - 22:06 #2
Hej Sukos

Ja jeg indrømmer gerne det er lidt kryptisk, det kan forenkles ved følgende:

<form action="" method="post">
                <select multiple id="elever" style="height:200px;width:125px">
                <?php
                $sql = "SELECT navn FROM elevdata";
                $qh = mysql_query( $sql ) or die( mysql_error() );
                while ( $row = mysql_fetch_assoc( $qh ) ) {
                  echo '<option value=>'.$row[navn].'</option>';
                }
                ?>
        </form>
    De navne der lægges ind i listen med PHP hvordan kan de overføres til en mysql database med tabel navnet elever i feltnavnet nyeelever?

Mvh gf
Avatar billede sukos Juniormester
23. februar 2005 - 22:14 #3
if(isset($_POST["elever"])) {
foreach($_POST["elever"] as $elev) {
$str = implode(",", $elev):
    }
mysql_query("INSERT INTO `elever` (`nyeelever`) VALUES('". $str ."')") or die (mysql_error());
}
Avatar billede sukos Juniormester
23. februar 2005 - 22:15 #4
Men så husk at bruge name="elever[]"    !!!!!!!!!!!!!!
Avatar billede gf Nybegynder
23. februar 2005 - 22:54 #5
Hej sukos

jeg har lavet følgende men der indsættes intet i databasen, jeg får ingen fejlmeldinger.

<form action="" method="post">
                <select multiple id="elever" style="height:200px;width:125px">
                <?php
                $sql = "SELECT navn FROM elevdata";
                $qh = mysql_query( $sql ) or die( mysql_error() );
                while ( $row = mysql_fetch_assoc( $qh ) ) {
                  echo '<option value=>'.$row[navn].'</option>';
                }
                ?>
                </select> 
                    <input type="button" value=">>" onclick="moveFromTo('elever','syge');">
                    <input type="button" value="<<" onclick="moveFromTo('syge','elever');">
                    <select name="sygeelever[]" multiple style="height:200px;width:100px" id="syge">
                </select>
                    <input type="submit" name="Submit" value="Submit" />
                    <? if(isset($_POST["submit"])) {
                    foreach($_POST["sygeelever"] as $sygelev) {
                    $str = implode(",", $sygelev);
                      }
                    mysql_query("INSERT INTO sygeelever (navn) VALUES('. $str .')") or die (mysql_error());
                    } ?>
        </form>

function moveFromTo(from,to) {
  fromElm = document.getElementById(from);
    toElm = document.getElementById(to);
    var sletArr = new Array();
    while (fromElm.selectedIndex != -1) {
        toElm.options[toElm.length] = new Option(fromElm.options[fromElm.selectedIndex].text,fromElm.options[fromElm.selectedIndex].value);
        fromElm.options[fromElm.selectedIndex] = null;
  }
}
</script>
Avatar billede gf Nybegynder
23. februar 2005 - 22:55 #6
<script language="javascript" type="text/javascript">

ligger selvfølgelig inden js

mvh gf
Avatar billede sukos Juniormester
23. februar 2005 - 23:00 #7
Du bruger ($_POST["submit"] men kalder knappen for Submit, altså stort s Kan godt gøre en forskel!

Men når du laver dit "flytteri", laver du vel heller ikke noget kode, altså "<option value="navn">navn</option> så der er heller ikke noget at putte ind, eller hvad?
Avatar billede gf Nybegynder
23. februar 2005 - 23:06 #8
Hej igen

Nej der afvikles ingan anden koden end js
Efter jag har ændret til stort S får jeg nu følgende fejl

Warning: Invalid argument supplied for foreach() in line

Mvh gf
Avatar billede gf Nybegynder
25. februar 2005 - 22:32 #9
så vik jeg det til at virke tak for hjælpen

smid lige et svar
Avatar billede sukos Juniormester
26. februar 2005 - 06:35 #10
Kan jeg godt.
Hvad gjorde du? :O)
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