Mehrfachauswahl über Select Box und dann zur Datenbank senden
Mehrfachauswahl einer Select Box an die DB senden
Hallo Freunde
Ich bin Zurzeit dabei mein Formular zu erweitern, das heißt das ich eine Select Box habe die aus der Datenbank gefüllt wird und ich dann einen Wert auswählen kann den ich dann zurück als INSERT oder UPDATE zur DB schicken kann, das klappt sowit auch.
Nun möchte ich eine Mehrfachauswahl einer Select Box machen, indem ich 2 oder mehr Werte auswähle, die sollen dann zur DB gesendet werden, nun ist meine Frage geht das überhaupt aus einer DB gespeissten Select Box eine Mehrfachauswahl zu machen ? und wie wird das über den PHP Code gelöst ?
Meine Codes lauten wie folgt:
1. Die Funktion für die Select Box:
Die Funktion läuft Prima, dort kann ich eine einfache Auswahl treffen und die dann zurück zu DB senden.
Mein Code für die Select Box befindet sich in einer Tabelle und wird ja von der Funktion gespeist, sie lautet wie folgt:
Nun möchte ich wie gesagt mehrere Werte aus der Box wählen und zur DB senden, ich weiß wohl das es über arrays gemacht werden sollte.
Aber wie das in meine Funktion eingebaut wird weiß ich dann wieder nicht.
Und wie werden die Werte dann zurück in das Formular gegeben ?
Wäre eine Toll wenn mir jemand helfen könnte.
mfg Burmy
Hallo Freunde
Ich bin Zurzeit dabei mein Formular zu erweitern, das heißt das ich eine Select Box habe die aus der Datenbank gefüllt wird und ich dann einen Wert auswählen kann den ich dann zurück als INSERT oder UPDATE zur DB schicken kann, das klappt sowit auch.
Nun möchte ich eine Mehrfachauswahl einer Select Box machen, indem ich 2 oder mehr Werte auswähle, die sollen dann zur DB gesendet werden, nun ist meine Frage geht das überhaupt aus einer DB gespeissten Select Box eine Mehrfachauswahl zu machen ? und wie wird das über den PHP Code gelöst ?
Meine Codes lauten wie folgt:
1. Die Funktion für die Select Box:
<?php // Select Box Inhalt von DB
function select_box($vergleich){
$sql = ("select ID,NAME from Tabelle");
$query = mysql_query($sql);
?> <select name="Wert">
<?php while($liste = mysql_fetch_array($query)) {
if($liste["ID"] == $vergleich)
{ ?> <option value="<?= $liste["ID"] ?>" selected><?= $liste["NAME"] ?></option> <?php }
else
{ ?>
<option value="<?= $liste["ID"] ?>"><?= $liste["NAME"] ?></option> <?php }
}
}
?>
Die Funktion läuft Prima, dort kann ich eine einfache Auswahl treffen und die dann zurück zu DB senden.
Mein Code für die Select Box befindet sich in einer Tabelle und wird ja von der Funktion gespeist, sie lautet wie folgt:
<?php
select_box($NAME);
?>
Nun möchte ich wie gesagt mehrere Werte aus der Box wählen und zur DB senden, ich weiß wohl das es über arrays gemacht werden sollte.
$Werte = array[$Wert1],[$Wert2],.....[Wertn]
Aber wie das in meine Funktion eingebaut wird weiß ich dann wieder nicht.
Und wie werden die Werte dann zurück in das Formular gegeben ?
$row[$Wert1],[$Wert2]
Wäre eine Toll wenn mir jemand helfen könnte.
mfg Burmy
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 45071
Url: https://administrator.de/contentid/45071
Ausgedruckt am: 23.11.2024 um 05:11 Uhr
5 Kommentare
Neuester Kommentar
1. Die Funktion für die Select Box:
Fein du wählst alles aus der Tabelle aus.> <?php // Select Box Inhalt von DB
> function select_box($vergleich){
> $sql = ("select ID,NAME from
> Tabelle");
> $query = mysql_query($sql);
> ?> <select name="Wert">
>
> <?php while($liste =
> mysql_fetch_array($query)) {
> if($liste["ID"] == $vergleich)
>
Dann guckste ob liste["ID"] == vergleich ist also gleich dem aus Name.. meiner Ansicht nach kann dies nur gleich sein, denn was willste anderes auswählen wenn nur werte aus der db drin stehen.
{ ?> <option value="<?=
$liste["ID"] ?>"
selected><?= $liste["NAME"]
?></option> <?php }
$liste["ID"] ?>"
selected><?= $liste["NAME"]
?></option> <?php }
else
{ ?>
<option value="<?=
$liste["ID"] ?>"><?=
$liste["NAME"] ?></option>
<?php }
}
}
?>
?>
lass dir doch einfach mal das ausgeben was du beim select mehrerer bekommst ...
Im Moment weiß ich nicht so recht was du erreichen willst...
Vielleicht ja ein anderer ^^
@burmy
Hi,
Ein ganz einfaches Script:
Du kannst mehrere Elemente in der Listbox an-/abwählen, in dem du
die STRG-Taste gedrückt hälst und mit der Maus die einzelnen Elemente
anklickst.
Nach Absenden des Formulars siehst du dann die Ausgabe deiner
Abfrage für die Datenbank.
Grüße
Günni
Hi,
Ein ganz einfaches Script:
//Zusammensetzen der Abfrage
// Erstes Element des Arrays, siehe Form, zuweisen....
$query="select $auswahl";
$i=1;
// .... anschließend in einer Schleife ein Komma und das nächste Element anhängen....
while($i<count($auswahl)){
$query.=",".$auswahl[$i];
$i++;
}
// .... zum Schluß Abfrage vervollständigen
$query.=" from tabelle";
// Testausgabe
echo "Testausgabe";
echo "$query";
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="select.php">
<!-- Listboxname als Array deklarieren -->
<select multiple="yes" name="auswahl">
<!-- Ein Element als ausgewählt deklarieren, sonst gibt es eine Fehlermeldung -->
<option selected="yes">Apfel</option>
<option>Birne</option>
<option>Banane</option>
<option>Kirsche</option>
<option>Erdbeere</option>
<input type="submit" value="Wählen">
</select>
</form>
</body>
</html>
Du kannst mehrere Elemente in der Listbox an-/abwählen, in dem du
die STRG-Taste gedrückt hälst und mit der Maus die einzelnen Elemente
anklickst.
Nach Absenden des Formulars siehst du dann die Ausgabe deiner
Abfrage für die Datenbank.
Grüße
Günni