Drop Down Liste Schwieigkeiten

Hallo. Ich such jetzt schon ziemlich lang, nach einer bestimmten Lösung für eine Drop Down Liste. Hab leider immer nur das gefunden was ich nicht brauche...

Und zwar will ich, das ich einerseits das benutzen kann

Code:
<form action="index.php" method="post"> 
Fach: 
<input type="text" size="17" name="fach"> 
Klasse: 
<input type="text" size="17" name="klasse"> 
<input type="submit" value="weiter"> 
</form>

und jetzt noch zu dem ganzen eine Drop Down Liste, die aber nicht schon weiter geht, wenn man sie anklickt und etwas auswählt sondern erst mit dem Weiter Button funktioniert. Also das heist das ich am Ende wenn man auf Weiter gedrückt hat ich die "fach" und die "klasse" daten über "post" habe
und die Drop Down Auswahl über "get" also über die URL.

Wie muss die Drop Down Liste und das ganze aussehen das es mit einem Button funktioniert?

Schon mal Danke für jede Hilfe
 
Ähm, ich weis nicht, ich glaub eher nicht^^

Ich hätte gern so was in der Art:
Code:
<form>
<select name="menu" onChange="javascript:parent.location = this.form.menu.options[this.form.menu.selectedIndex].value;">
<option>...bitte wählen Sie</option>
<option value="januar.html">Januar 2004</option>
<option value="februar.html">Febuar 2004</option>
<option value="maerz.html" selected>März 2004</option>
</select>
</form>

Das jetzt nur mit knopf und mit dem einbezogen:
Code:
<form action="index.php" method="post"> 
Fach: 
<input type="text" size="17" name="fach"> 
Klasse: 
<input type="text" size="17" name="klasse"> 
<input type="submit" value="weiter"> 
</form>

Das beides zusammen so das es funktioniert, wäre perfekt^^
 
ich seh gerade keinen Sinn darin, irgendwas über GET zu übergeben, während etwas anderes gleichzeitig per POST übergeben wird, zumal das sicherlich auch nicht so wirklich realisierbar ist.

was genau soll denn in dem SELECT-Feld ausgewählt werden? kann das nicht gleichzeitig mit den anderen Daten via POST versendet werden?

Und wozu dieser onclick=javascript-gedöns?
 
Hab es jetzt hinbekommen und besser verstanden. Hab das glaub ich ein bisschen falsch gesagt, habe jetzt beides über Post weiter gegeben. Auch ohne Java.

Aber ich hätte mal noch ne Frage:
PHP:
$name$count=$_POST["name$count"];

geht das so nicht? kann ich nicht 2 variablen gleichzeit benutzen?
wie kann ich das so umstellen das es klappt, denn ich muss das count irgendwie dabei haben in der Art
 
was genau hast du vor?

Variable Variablennamen? das geht so:
PHP:
$varname="name";
$count=5;
${$varname.$count}="bla";
//jetzt sollte "bla" in der Variable $name5 stehen

oder so:
PHP:
$count=5;
${"name".$count}="bla";
//jetzt sollte "bla" auch wieder in der Variable $name5 stehen

oder wie wäre es mit einem Array?
PHP:
$count=5;
$name[$count]="bla";
//jetzt sollte "bla" in der Variable bzw. dem Array-Element $name[5] stehen
 
Ähm, ich glaube nicht.
Ich bekomme eine bestimmt Anzahl von Namen über POST
Und die wollte ich mit einer Whileschleife in einzelne Variablen verpacken also in etwa so

PHP:
$zahl=5;               //Die anzahl der Namen die ich beispielsweise bekomme
$count=1;
while ($count!=$zahl)
{
$name$count=$_POST["$name$count"];
$count++;
}

Also die Variable in die ich das verpacken will, soll sich mit der Schleife wie man sieht auch ändern, also mit diesem $count, und die POST Variable soll sich eben auch so steigen. Weis nicht wie ich es noch erklären soll :D
 
ich seh zwar in deinem Script keinerlei Sinn, aber es ist doch mit beiden meiner Varianten möglich:

variable Variablen:
PHP:
$zahl = 5;    //Limit
for($count=1;$count<=$zahl;$count++)  //mag zum Zählen lieber Zählschleifen...
{
  ${$name.$count}=$_POST[$name.$count];
}

oder die Variante mit Array:
PHP:
$zahl = 5;    //Limit
for($count=1;$count<=$zahl;$count++)  //mag zum Zählen lieber Zählschleifen...
{
  $daten[$name.$count]=$_POST[$name.$count];
}
 
Meinst du, du hast eine dynamische Anzahl Post-Parameter, die nach dem System name1, name2, name3... benannt sind?

Wenn ja, hat beavisbee die Lösung doch schon (fast) gepostet. Statt deinem
$name$count=$_POST["$name$count"];
schreibst du einfach
${"name".$count} = $_POST["name$count"];
 
Danke es hat mir alles geholfen, habs hinbekommen.
Aber jetzt stehe ich schon wieder vor nem fast gleichen Problem.^^

Wie mache ich genau das gleiche in einem SQL Befehl?

Also ich habe jetzt beispielsweise in meiner Datenbank 5 Spalten die heisen
name1
name2
name3
name4
name5

und die Variablen die ich vom Benutzer bekam also auch

name1
name2
name3
name4
name5

Ich könnte sie zwar einfach hineinspeichern. Aber da ich wie Eydeet sagt eine dynamische Anzahl von Post-Parametern hab, würde ich das gern genauso in einer Schleife verpacken wie hier:

Code:
$count=1;
$zahl=$_GET["zahl"];
while ($count!=$zahl)
{
${"name".$count} = $_POST["name$count"];
$count++;
}

Nur weis ich leider nicht wie ich in dem Befehl:
"INSERT INTO markprogramdata2 (spalte) ('bla')"
Variablen benutzen darf.

so beispielsweise geht es nämlich nicht:

Code:
$count=1;
$zahl=$_GET["zahl"];
while ($count!=$zahl)
{
$sqlsave="INSERT INTO markprogramdata2 ('${"name".$count}) VALUE ('${"name".$count}')";
mysql_query($sqlsave) or die (mysql_error());
$count++;
}

Aber sowieso versteh ich grad nicht, warum es die gleiche Variable ist.
in den Spalten muss ich halt irgendwie das $count wieder mit hineinbringen um
name1
name2
....
zu bekommen da ja die Spalten in der sql auch so sind.
Und bei VALUE muss ich ja im prinzip auch die Variable steigern lassen weil ich ja auch
name1
name2
....
bekommen muss.

Einfach halt das gleiche wie in der anderen 1. Schleife nur das es in die Datenbank kommt.


Ich schreibe etwas viel und kompliziert ?(

edit:

PHP:
$count=1;
$zahl=$_GET["zahl"];
$sqlsave="INSERT INTO markprogramdata2 (name$count) VALUE ('${"name".$count}')";
mysql_query($sqlsave) or die (mysql_error());
$count++;

So würde es zwar klappen, aber er wiederholt jetzt ja den ganzen Befehl, Dadurch fängt er in der SQL ja immer wieder eine neue Spalte an...
Es müsste so sein.
Das er nur das "name$count" und "'${"name".$count}'" so oft benutzt wie die while Schleife es will, und nicht den ganzen Befehl.

Langsam werde ich ratlos
 
du denkst um Ecken rum, die gar nicht da sind

Code:
INSERT INTO markprogramdata2 (name1,name2,name3,name4,name5) VALUE ('".$name1."', '".$name2."', '".$name3."', '".$name4."', '".$name5."')


kannst den query log auch wieder auseinanderreissen, ne schleife rein etc... aber wozu?
 
Zurück
Oben