hallo, hast du denn jetzt das Problem, dass du für jede zeile, in die eine ID soll, eine neue Anfrage machst, gelöst?
[PHP5] multiselect mit ausgabe und insert
Einklappen
X
-
warum soll es nicht gehen ein array in eine mysql datenbank einzufügen
also nochmahl zur erklärung...
in meinem formular habe ich ein array
mit z.b. 1 und 3
das wird durch das multiselect selectiert..
dann will ich das was in meinem multiselect array steht
in meine mysql tabelle einfügen...
hab schon sämtliche sachen mit $_POST $HTTP_.... ausprobiert...
es muss doch irgendwie gehen.
kann mir nicht vorstellen das es sowas nicht gibt..
also das formular
Code:<select name="gruppe[]" size="5" multiple="multiple"> <option value='1'>gruppe1</option> <option value='2'>gruppe2</option> <option value='3'>gruppe3</option> <option value='4'>gruppe4</option> <option value='5'>gruppe5</option> <option value='6'>gruppe6</option> </select>
Code:mysql_query("INSERT INTO `$tabelle` (`ID_GRUPPE`) VALUE (??????'$_POST['gruppe']'?????) ");
Zuletzt geändert von cronex; 31.08.2006, 16:02.
Kommentar
-
Nee, EINE, dich dich versteht
...hoffe ich zumindest.
Ich bin mir nich ganz sicher, aber warum versuchst du es nichtmal auf diese Art:
PHP-Code:<?php
//Formularkopf
echo("<form action='insert.php' method='POST'>
<select name='gruppe[]' size='5' multiple='multiple'>");
include("db_connect.php");
$sql=mysql_query("select * from teile_gruppe");
//Die einzelnen Einträge der Liste
while($zeile = mysql_fetch_assoc($sql))
{
print("<option value=".$zeile['persID'].">"
.$zeile['benutzername']."</option>");
}
//Button zum Absenden
print("<input type=submit value=Absenden>");
echo("</select></form>");
?>
Damit bekommst du dann halt alle gewählten Einträge in dem Array gruppe[] zurück geliefert und kannst so wie gewohnt darauf zugreifen.
Jetzt sollte auch bei einer Testausgabe mit
PHP-Code:print_r($_POST['gruppe']);
Hoffe, das kann dir ein bißchen helfen...Zuletzt geändert von smarter; 01.09.2006, 10:11.
Kommentar
-
danke du hast mir sehr gehollfen mit der überprüfung von meinem array bekomm ich alle meine ausgewählten postionen;
das mit dem formular hab ich so gemeint aber du hast mir ja schon die lösung veraten
PHP-Code:<?
include("db_connect.php");
//position1
$sql = mysql_query("SELECT ID, Beschreibung from teile_gruppe where ID=1");
while ($adr = mysql_fetch_array($sql))
{
echo "<select name='gruppe' size='5' multiple='multiple'>";
echo "<option value='$adr[ID]'>$adr[Beschreibung]</option>";
break;
}
//position2
$sql2 = mysql_query("SELECT ID, Beschreibung from teile_gruppe where ID=2");
while ($adr2 = mysql_fetch_array($sql2))
{
echo "<option value='$adr2[ID]'>$adr2[Beschreibung]</option>";
break;
}
//position3
$sql3 = mysql_query("SELECT ID, Beschreibung from teile_gruppe where ID=3");
while ($adr3 = mysql_fetch_array($sql3))
{
echo "<option value='$adr3[ID]'>$adr3[Beschreibung]</option>";
echo "</select>";
break;
}
?>
Kommentar
-
-
ich würd das dann wahrscheinlich so machen:
PHP-Code:foreach ($_POST['gruppe'] as $key => $val)
{
$id.=$val." ";
}
$anfrage= "INSERT INTO '$tabelle' (`ID_GRUPPE`) VALUES ('$id')";
Kommentar
-
da weiß ich dann ehrlich gesagt auch micht mehr so richitg weiter, bin ja selber noch Anfänger
Die Notice "Undefined variable" kriegst du eigentlich weg, wenn du die Variable initialisiertst....
Also habe das auch alles bei mir ausprobiert und das hat geklappt.
Hast du dir zu Testzwecken vor der Schleife mal $_POST['gruppe'] ausgeben lassen?
Oder vielleicht in der Schleife mal eine Testausgabe des Values untergebracht um zu schauen, was passiert?PHP-Code:foreach ($_POST['gruppe'] as $key => $val)
{
print("value: ".$val."<br>");
$id.=$val." ";
}
Oder nach der Schleife mal ein print ($anfrage); ?Zuletzt geändert von smarter; 01.09.2006, 11:37.
Kommentar
-
ja klar, es kommen auch die id's raus wenn ich den POST gruppe ausgebe...
mit deinem code sieht die sache so aus:
Code:value: 1 Notice: Undefined variable: id in C:\Programme\xampp\htdocs\idgruppe\insert.php on line 13 value: 2
value: 1| dann nen fehler und dann | value: 2
Kommentar
-
dann schreib mal vor die Schleife
$id="";
Damit ist dann erstmal der Fehler (Undefined variable) weg.
Mal sehen, was dann spannendes passiert
und lass dir mal bitte in der schleife anstelle von den values die ID's augeben mit:
PHP-Code:print("ID: ".$id."<br>");
Zuletzt geändert von smarter; 01.09.2006, 11:50.
Kommentar
Kommentar