Dynamisches Abfragen und mehr?

Irgendjemand_1 hat gesagt.:
Ja du sollst jeder option, die man auswählen kann den Wert (also value="") zuweisen, der dem in der Datenbank entspricht.
Also jede Option in dem Auswahlfeld hat nun als value="" den Wert der entsprechenden Spalte in der DB.

Irgendjemand_1 hat gesagt.:
Mit der foreach-Schleife gehst du dann das $_POST-Array durch (ist halt langsamer als die for-Schleife, aber hier ist es halt praktischer, die foreach zu nehmen, da man die indizes nicht kennt) und weist der $var den Wert zu.
Ob langsam oder nicht.....es wird keine Stunden dauern, da die DB nicht so enorm groß werden wird. Hauptsache, es funktioniert, ich klapp noch bald mal zusammen *lach*

Irgendjemand_1 hat gesagt.:
zu deinem letzten Post weiß ich nicht wirklich, was du meinst ;)
Naja, ich kann doch auf die einzelnen Elemente des Arrays zugreifen. Mal ein Beispiel.
Wenn ich weiß, dass Element0 angeklickt ist und Element0 = "xyz" ist, dann kann ich doch sagen: SELECT * FROM Tabelle WHERE P1="xyz" oder sowas in der Richtung.

Bei Element28 des Arrays sage ich SELECT * FROM Tabelle WHERE P28="..."

Für jedes Element müsste ich dann die SQL-Anweisung anpassen, aber das wär mir jetzt auch egal, optimieren kann man später noch immer mal.
Die Ausgabe mit der foreach-Schleife ist leer, da scheint also irgendwas nich zu stimmen. Such da schon nach, wobei mir foreach nicht so geläufig ist.
Danke man, dass du da dran bleibst, freut mich echt
 
Naja wie oft läuft er denn die foreach Schleife durch?
sätz mal einen Zähler rein und geb ihn anschließend aus.

Guck vielleicht nach eventuellen Schreibfehlern der Variablen etc.
Normalerweise wird der value="" Wert an die $_POST Variable übergeben und dann kann man das so ausgeben.
mach am besten noch ein print_r($_POST);
 
Also bei dem print_r ($_POST['selectsearch'][$value]) gibt zeigt er mir die richtigen Dinge an.
Nur innerhalb der Schleife funktioniert es nicht:
PHP:
echo "<br><br>Variable aus dem Array ist/sind: ".$var[$value];
Ausgabe ist:

Variable aus dem Array ist/sind:
Variable aus dem Array ist/sind:
...

Ich versteh nicht, wieso.
 
Steht das auch nur so oft da, wie Elemente im Array sind?

Und funktioniert alles außerhalb der Schleife, weil du ja gemeint hast, dass es inerhalb der Schleife nicht funktioniert?
 
Ja. Wenn ich 8 Elemente auswähle, dann steht 8 mal der Satz da, aber halt ohne die Bezeichnung (value) danach.
Wie außerhalb der Schleife? Naja, das print_r steht außerhalb der Schleife und zeigt mir die richtigen Elemente an.
 
Zeig einfach mal die Ausgabe von print_r ;)

Achso versuch das mal: vielleicht hab ich mich nur vertan
PHP:
foreach ($_POST['selectsearch'] as $key => $value) {
  $var[$key] = $_POST['selectsearch'][$key];
  echo "<br><br>Variable aus dem Array ist/sind: ".$var[$key];
  echo "<br>";
}
 
PHP:
foreach ($_POST['selectsearch'] as $value) { 
  $var[$value] = $_POST['selectsearch'][$value]; 
  echo "<br>Variable aus dem Array ist/sind: ".$var[$value]; 
  echo "<br>"; 
} 
 
print_r ($_POST['selectsearch']);
......ergibt, wenn ich im Auswahlfeld 4 Elemente anklicke:

Variable aus dem Array ist/sind:
Variable aus dem Array ist/sind:
Variable aus dem Array ist/sind:
Variable aus dem Array ist/sind:

Array ( [0] => P28 [1] => P30 [2] => P32 [3] => P34 )


Wie gesagt, die letzte Zeile stimmt, ich habe die Elemente P28, P30, P32 und P34 angeklickt. Aber dort, wo innerhalb der foreach-Schleife die Ausgabe mit echo erfolgt, wird die Variable nicht angezeigt.
 
Jooooooo.....dein letztes Beispiel stimmt!

Variable aus dem Array ist/sind: P1


Variable aus dem Array ist/sind: P2


Variable aus dem Array ist/sind: P3
Array ( [0] => P1 [1] => P2 [2] => P3 )
 
Coole Sache, ein herzliches Dankeschön schon mal.
Jetzt müsste ich es nur noch schaffen, dass ich der DB sage, dass in der entsprechenden Spalte - die habe ich ja jetzt - nach dem entsprechenden Wert suchen lasse :-P
 
Zurück