Mehrauswahl mit Datenbankzugriff

gunbow

Grünschnabel
Mehrfachauswahl mit Datenbankzugriff

Ich habe mir einen kleinen Code gebastelt, mit dem ich auf eine Tabelle in meiner Datenbank zugreifen kann. Diese wird dann als Liste ausgegeben.

Hier der Code:

Code:
<?
//Verbindung herstellen
	$db = mysql_connect("localhost", "datenbank", "passwort");
	mysql_select_db("datenbank",$db);
	$abfrage = "SELECT name FROM profil";
	$ergebnis = mysql_query($abfrage);
	 while($ausgabe = mysql_fetch_object($ergebnis))
	{
	 echo '<a>'.$ausgabe->name.'</a><br>';
	}
?>

Das funktioniert einwandfrei...

Nun möchte ich das ganze allerdings in einer Textbox mit Mehrauswahl so unterbringen, dass ich die Auswahl in eine neue Tabelle in meiner Datenbank einlesen,und auch wieder löschen kann.

Die Mehrfachauswahl wollte ich so aufbauen:

Code:
<select name="liste" size="25">
<option>...</option>
</select>

Aber mit der Datenbankabfrage, und dem Lesen bzw. Löschen komme ich einfach nicht weiter.

Ich hoffe ich habe mich soweit verständlich ausgedrückt? :-(

Danke
 
Zuletzt bearbeitet:
die Abfrage:
Code:
<select name="liste" size="25">
 while($ausgabe = mysql_fetch_object($ergebnis))
	{
	 echo '<option>'.$ausgabe->name.'</option>';
	}
</select>
 
Danke, ich bekomme jetzt meine Begriffe in die Mehrauswahlliste.
Wenn ich nun aber versuche diese durch Auswahl wieder in die Datenbank zu lesen, bekomme ich nur 2 Punkte angezeigt (..)

Hier die Codes die ich geschrieben hab:

auswahl.php
Code:
<?
//Verbindung herstellen
	$db = mysql_connect("localhost","datenbank", "passwort");
	mysql_select_db("datenbank",$db);
	$abfrage = "SELECT name FROM begriffe";
	$ergebnis = mysql_query($abfrage);
?>
<form name="form" enctype="multipart/form-data" action="einlesen.php" method="post">
<select name="liste" size="25">
<? while($ausgabe = mysql_fetch_object($ergebnis))
		{
		 echo '<option>'.$ausgabe->name.'</option>';
		}
?>
</select>
<br><br>
<input type="submit" value="Einlesen">

einlesen.php
Code:
<?php $link = mysql_connect ("localhost","datenbank", "passwort")		
or die ("keine Verbindung möglich: " .mysql_error());	
print ("");	
mysql_query ("INSERT INTO namen (einlesen)
VALUES('.$einlesen.')")		
or die ("Ungültige Abfrage: " . mysql_error());	
mysql_close ($link);
header("Refresh: 0;url=liste.php");
?>

liste.php
Code:
<?
//Verbindung herstellen
	$db = mysql_connect("localhost","datenbank", "passwort");
	mysql_select_db("datenbank",$db);
	$abfrage = "SELECT einlesen FROM namen";
	$ergebnis = mysql_query($abfrage);
	 while($ausgabe = mysql_fetch_object($ergebnis))
	{
	 echo '<a>'.$ausgabe->einlesen.'</a><br>';
	}
?>

Tabelle
Code:
CREATE TABLE namen (
id tinyint(3) DEFAULT '0' NOT NULL AUTO_INCREMENT,
einlesen varchar(50),
primary key(id)
);

Wo liegt mein Denkfehler? :confused:
 
Hallo!

PHP:
mysql_query ("INSERT INTO namen (einlesen) VALUES('".$_POST['liste']."')") or die ("Ungültige Abfrage: " . mysql_error());
Ich bin mir jetzt aber nicht sicher ob es überhaupt ohne Value in der Auswahlliste funktioniert..... <option value="wert">

Und wozu überhaupt print?
Du gibst "nichts" aus um etwas auszugeben?! :eek:
Ausserdem darf vor header() keine Ausgabe stattfinden.

Gruss Dr Dau
 
Zurück