dedlfix: Werte an eine Funktion übergeben

Beitrag lesen

Tach!

wie ich einen Wert an eine Funktion übergebe ist mir bekannt. Ich möchte allerdings mehrere Werte übergeben die ich zu Beginn nicht kenne bzw. ich nicht weiß wie viele es werden.

Dann nimmt man ein Array.

Es geht um einen Filter der gesetzt werden kann

Formuliere doch bitte (auch) aus der Sicht des Programms, nicht (nur) aus der Sicht des Anwenders. Filter heißt in deinem Fall, dass es Checkboxen sind, die deren Werte du übertragen möchtest?

Das erste ist, die Werte mehrere Input-Felder mit gleichem Namen ins PHP zu bekommen. PHP sieht dazu vor, [] an den Namen anzuhängen. Dann hast du ein Array im $_POST für diesen Namen.

	$stmt = $mysqli->prepare("SELECT id, datei, titel, format, kategorie, vk_titel FROM vorlagen 
    							LEFT JOIN vorlagen_kategorie ON vorlagen_kategorie.vk_id = vorlagen.kategorie
    							WHERE kategorie=? ");
       
    $stmt->bind_param("s", $filter);

Das Array bekommst du aber nicht in dieser Form in das Statement. Vermutlich willst du auch WHERE kategorie IN (1,3) haben, also dass in dem Beispielfall 1 oder 3 in der kategorie stehen kann. Oder ist das Feld nicht normalisiert und es steht eine kommaseparierte Liste drin? Es wird schon mit dem IN() nicht einfach, aber damit wird es noch komplexer. Also erstmal: was soll's denn werden?

dedlfix.