SQL in Dropdownmenü und dann in neue Tabelle?

romeodadon

Angesehenes Mitglied
Hallo leute,
ich hab ein kleines Problem.

Undzwar bin ich dabei eine Personaldatenbank aufzubauen die wie folgt aussieht:

Tabelle1 = Personen (Name, Vorname usw..)
Tabelle2 = Trniere (Turniername, Turnierdatum)
Tabelle3 = Personen_bei_Turnier

Tabelle1 wird per POAST ind die DB geschreiben .... Funktioniert
Tabelle2 genauso, da funktioniert auch alles.

Wo mein Problem ist ist das zuweisen von Turnieren an die Personen.

Ich hab es jetzt sogar geschafft das die schon eingegeben Daten aus der DB ausgelesen werden,
nur schaffe ich es irgedndwie nicht das die daten in die Tabelle3 eingetragen werden.

Zur Ansicht heir das Script aus welchen die Datensätze rausgelesen werden.

CODE
<?php


$sql = "SELECT Turniername FROM Turniere";


$result= mysql_query($sql) or die("Verbindung konnte nicht hergestellt werden: ".mysql_error());

$anzahl = mysql_num_rows($result);

echo"<table>";
echo"<tr>";
echo"<td></td>";
echo"<td>Turniername </td>";
echo"<td><p>";
echo"<select name='Turniername'>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<option>".$line['Turniername']."</option>";
}
echo"</select> Bitte wählen ";
echo"</p></td>";
echo"</tr>";
?>
</p>
<p class="Stil1"> </p>
<p>
<?php
$sql = "SELECT id, name, vorname FROM personal";


$result= mysql_query($sql) or die("Verbindung konnte nicht hergestellt werden: ".mysql_error());


$anzahl = mysql_num_rows($result);
echo"<table>";
echo"<tr>";
echo"<td> Dealername </td>";
echo"<td><p>";
echo"<select name='Dealer'>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<option>".$line['id']." ".$line['name']. " ".$line['vorname']."</option>";
}
echo"</select> Bitte wählen ";
echo"</p></td>";
echo"</tr>";



?>



Wie gesagt die daten werden in einem Dropdown Menü angezeigt, weis jetzt jemand wie ich es hinkrige das die Daten in Tabelle 3 eingetragen werden ?

Das problem liegt daran das ich die variablen nicht klar deffinieren kann welche wo eingetragen werden, binam ende mit mienem Latein !
sad.gif
 
Was du übersehen hast, ist das du zwar <option> schön ausgibst, aber dir das schönste Dropdown nichts nützt wenn dieses kein VALUE hat.
CODE <option value=\"".$line['id']."\">".$line['Turniername']."</option>

so müsste das ganze aussehen.

Das gleiche auch mit dem 2ten Dropdown.

Was ich jetzt nicht sehe ist, ob du ein <form> tag auf und zu gemacht hast? Das select muss ja natürlich da rein. Dann kannst du das Value mit $_POST['Turniername'] bzw. $_GET['Turniername'] das jeweilige Value abfragen und dann in einem 2ten Schritt in die DB eintragen lassen.

Grüsse Ts.
 
Ja das ist ja das Problem das ich die VALUE nicht erstellen konnte, bzw. nicht wusste wie !?

Ja der form tag ist ok! ist einmal auf und einmal zu ! Wo soll ich denn jetzt das Seclect hin machen?

CODE
<BODY>

<form action="xxx-ok.php" method="post">
<input name="submit" type="submit" value="Anlegen" class="rahmen"
</form>




Habe jetzt das <option value> eingefügt und was nun?
 
CODE
<BODY>

<form action="xxx-ok.php" method="post">

<select name="dropdown1">
<option value="id">Person</option>
</select>

<select name="dropdown2">
<option value="id">Turnier</option>
</select>

<input name="submit" type="submit" value="Anlegen" class="rahmen" />
</form>
</BODY>



Wenn du nun auf submit drückst schickt er dir alle Felder an xxx-ok.php
Diese kannst du dann dort mit $_POST abrufen.

in diesem beispiel wäre das $_POST['dropdown1'] und $_POST['dropdown2'].

Grüsse Crazymind
 
Also Ne irgendwie klappt das net ich wollte jetzt nur das er das per ECHO in der xxx-ok.php ausgibt.

Aber das feld bleibt leer.

Ich habe folgendes gemacht: (den Code so angepasst wie du es gesagt hat)
CODE
$sql = "SELECT Turniername FROM Turniere";


$result= mysql_query($sql) or die("Verbindung konnte nicht hergestellt werden: ".mysql_error());

$anzahl = mysql_num_rows($result);

echo"<table>";
echo"<tr>";
echo"<td></td>";
echo"<td>Turniername </td>";
echo"<td><p>";
echo"<select name='dropdown1'>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<option value>".$line['Turniername']."</option>";
}
echo"</select> Bitte wählen ";
echo"</p></td>";
echo"</tr>";



Das Submit ist ok !

Auf der xxx-ok.php seite habe ich folgendes:

CODE

$xxx = $_POST['dropdown1'];
echo $xxx;




Aber alles bleibt leer, das heisst wohl er verarbeitet nix odcer?
 
CODE $sql = "SELECT * FROM Turniere";


$result= mysql_query($sql) or die("Verbindung konnte nicht hergestellt werden: ".mysql_error());

$anzahl = mysql_num_rows($result);

echo"<table>";
echo"<tr>";
echo"<td></td>";
echo"<td>Turniername </td>";
echo"<td><p>";
echo"<select name='dropdown1'>";
while ($line = mysql_fetch_array($result, MYSQL_ASSOC))
{
echo "<option value=\"".$line['id]."\">".$line['Turniername']."</option>";
}
echo"</select> Bitte wählen ";
echo"</p></td>";
echo"</tr>";


dem attribut value must du ja natürlich noch den eigentlichen Wert hinzufügen
smile.gif

Probier es mal mit diesem Code. must natürlich deine $line['id'] anpassen. weiss nicht ob deine ID-feld id heisst.

Grüsse, Crazymind
 
Ok er zeigt mir jetzt alles im Doptdownmenü an !

Ich verstehe aber nicht warum er in der xxx-ok.php nicht die ausgewählten daten anzeigt.

Wie soll oder kann ich den die Variablen festlegen?


 
kleiner tipp von mir:

Wenn es mit dem PHP und übergaben nicht klappt, versuche es zu testzwecken mal mit Hardcodiertem!

Probier mal:
CODE
<form action="xxx-ok.php" method="post">
<select name="select1">
<option value="test">Hallo</option>
</select>
<input name="submit" type="submit" value="Anlegen" class="rahmen" />
</form>



und im xxx-ok.php:

echo "hier: ".$_POST['select1'];

Wenn das nicht klappt dann ist irgend etwas an der Übermittlung falsch.
PS: achte dass das "hier:" ausgegeben wird. Vielleicht wird die Variable ja übergeben, aber das echo würde falsch plaziert.

Grüsse, Crazy
 
nun baue das einfach wieder um.

mach dieses dropdown wieder mit php..
und dann geh mal im seitenquelltext nachgucken ob dort der value in den option-tags sichtbar ist.
Wenn ja? überprüfe nochmal die übergabe.. und mach sie genau gleich mit dem beispiel wo ich dir gesendet habe.
wenn nein? dann gibst du die ID falsch aus. Schau in der db nach ob du das feld id überhaupt hast. Oder gib als value $line['Turniername'] mal zum testen an.

Grüsse, Ts.
 
OK jetzt gehts da waren einige unstimmigkeiten :S

jetzt gibt er mir das ergebnis bzw. die ID aus das ist super.

Um weiter zu machen muss ich folgendes in eine Variable mit $ umwandeln:

echo "hier: ".$_POST['select2'];

Wie sage ich jetzt das das ober die varibale $varibale sein soll?


Weil wenn ich $variable = .$_POST['select2']; mache gibt er mir einen FEHLER AUS ! ?
 
CODE $variable = $_POST['select2'];
der .(punkt) muss natürlich weg. Der ist nur da zum Variablen oder Strings miteinander zu verbinden.

Grüsse, Ts.
 
wär eine schwere geburt, aber dafür klappt es ja nun..
wink.gif
 
Ja danke !
Funktioniert nurn wunderbar und nicht nur das ich hab auch was gelernt.

Nochmals BESTEN DANK !!
smile.gif


Gruß

Only4Yu
 
Zurück
Oben