Variablenübergabe bei Drop Down Liste aus Datenbank

dj_honda

Grünschnabel
Hallo liebe PHPler,
folgendes Problem:
der ausgewählte Wert aus einer Datenbank generierten Liste wird
anschließend nicht eingetragen


PHP:
require ('config.php');

require ('functions.php');
$conn = @mysql_connect($server, $dbusername, $dbpassword) or die (mysql_error());
$db = @mysql_select_db($db_name,$conn) or die (mysql_error());
$sql = "SELECT * FROM profiles WHERE username = '$name'";
$result = @mysql_query($sql, $conn) or die (mysql_error());
while ($sql = mysql_fetch_object($result)){

$test = $sql -> test;
$test_database = $sql -> test_database;

}


...
<form action="do_editprofile.php" method="post">
...

//1.statische liste 
 echo"<select size='1' name='test' >";
                echo"<option value='Ja'>Ja</option>";
                echo"<option value='Nein'>Nein</option>";
                echo"</select>";

//2. dynamische liste

      $query="SELECT test_database FROM member GROUP BY test_database  ORDER BY test_database ";

        $result = mysql_query ($query);
        echo "<select size='1' name='test_database'>test_database </option>";
          while($nt=mysql_fetch_array($result)){
         echo "<option value=$nt[id]>$nt[test_database]</option>";
        }
...
<input type="submit" name="submit" />
...

Dropdown Liste wird korrekt erstellt und angezeigt.

Soweit , so gut. Im nächsten verarbeitenden Dokument:

PHP:
connect, select.. etc..
...
$test = $_POST['test']; 
$test_database = $_POST['test_database']; 
...
$sql = "INSERT INTO profiles(test,test_database)
VALUES('$test','$test_database')";
...


Nun, der Wert der statischen Liste mit dem name=test wird
eingetragen
und der Wert mit der Datenbank erstellten Liste (name='test_database') wird nicht eingetragen
wobei in phpmyadmin sich der Wert der "Zeilen" der Spalte test_database erhöht , aber eben kein Wert eingetragen wird

Hat jemand einen Tip?
 
PHP:
$sql = "INSERT INTO profiles(test,test_database) VALUES('$test','$test_database')";

Zurnächst heiße ich dich Willkommen im Forum!
Ich habe den Quelltext jetzt nur grob überflogen...
Ich würde zurnächst prüfen ob die Variablen nicht leer sind. Hinzu kommt, das man auch Variablen vom normalen Text trennt! :-)

PHP:
if($test!="" AND $test_database!="") $sql = "INSERT INTO profiles SET test='".$test."', test_database='".$test_database."'";


Gruß,
Jan
 
ich glaube nach value= fehlen die Anführungszeichen, denn im HTML muss dort das value in Anführungszeichen stehen.

versuch mal:
PHP:
echo '<option value="'.$nt['id'].'">'.$nt['test_database'].'</option>';

this should work! :-)
 
ok, das stimmt vielleicht. Allerdings könnte man trotzdem den select mal noch schließen :)

PHP:
//2. dynamische liste

      $query="SELECT test_database FROM member GROUP BY test_database  ORDER BY test_database ";

        $result = mysql_query ($query);
        echo "<select size='1' name='test_database'>test_database </option>";
          while($nt=mysql_fetch_array($result)){
         echo "<option value=$nt[id]>$nt[test_database]</option>";
        }
         echo "</select>";
 
Zuletzt bearbeitet:
Hi Leute danke für die schnellen Antworten,

hmm, irgendwo ist noch ein Wurm drin,
wenn jemand von euch einen Gewerbeschein hat
würde ich das gerne von einem Profi mal durchchecken
lassen, alles weitere per pm

gruss

dj_honda
 
Zurück