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
				
					Collapse
				
			
		
	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
 und hier der insertCode:<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']'?????) ");Last edited by cronex; 31-08-2006, 16:02.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 Nee, EINE, dich dich versteht  
 ...hoffe ich zumindest.
 Ich bin mir nich ganz sicher, aber warum versuchst du es nichtmal auf diese Art:
 Wenn ich mich nicht irre, müsste das ungefähr sein, was du wolltest.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
 das Egebnis der Auswahl zu sehen sein.PHP Code:print_r($_POST['gruppe']);
 
 
 Hoffe, das kann dir ein bißchen helfen...Last edited by smarter; 01-09-2006, 10:11.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 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;
 }
 ?>
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 ich würd das dann wahrscheinlich so machen:
 Also wären dann alle ID's durch ein Leerzeichen voneinander getrennt.PHP Code:foreach ($_POST['gruppe'] as $key => $val)
 {
 $id.=$val." ";
 }
 $anfrage= "INSERT INTO '$tabelle' (`ID_GRUPPE`) VALUES ('$id')";
 
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 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?Ob wirklich alle Werte durchlaufen werden?PHP Code:foreach ($_POST['gruppe'] as $key => $val)
 {
 print("value: ".$val."<br>");
 $id.=$val." ";
 }
 
 Oder nach der Schleife mal ein print ($anfrage); ?Last edited by smarter; 01-09-2006, 11:37.
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 ja klar, es kommen auch die id's raus wenn ich den POST gruppe ausgebe...
 
 mit deinem code sieht die sache so aus:
 
 wie du siehstCode: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      
 Comment
- 
	
	
	
		
	
	
		
		
		
		
		
		
		
	
	
 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:
 aber natürlich erst, nachdem, du die neue angehangen hastPHP Code:print("ID: ".$id."<br>");
  Last edited by smarter; 01-09-2006, 11:50. Last edited by smarter; 01-09-2006, 11:50.
 Comment
 
          

Comment