Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Platzhalter

folgendes Problem: Ich möchte eine Datenbankabfrage erstellen in der folgenden Form erstellen:
SELECT * FROM datenbank WHERE farbe=$abc;
Die Variable für $abc hole ich aus einem PullDown Menü. --> braun = 1, weiß = 2 usw. So weit funktioniert es auch. Ich möchte aber, wenn mir die Farbe egal ist auch nach allen Farben suchen können, d.h. $abc muß dann ein Platzhalter für alle Farben sein. Mit '%' habe ich es nicht hinbekommen. Wer kann einem PHP und MySql Änfanger da helfen ? Wie muß der Datenbankeintrag für %abc heißen wenn man im PullDown Menü "alles" auswählt?

Hier gehts zum Orginal Eintrag "Platzhalter" im Forum

Antworten

lies dir erst mal das hier durch:
16.14. Warum soll ich nicht SELECT * schreiben?
http://www.dclp-faq.de/q/q-sql-select.html

16.18. Wie kann ich bösartigen Code in SQL-Abfragen unterbinden?
http://www.dclp-faq.de/q/q-sql-injection.html



also und zu deinem problem. ich würde es folgendermaßen lösen (ungetestet):
Code:                   In Zwischenablage kopieren (nur IE)
1">




2.

Danke massi, ich werde die SELECT Info nutzen und meinen Code dementsprechend ändern.
Aber leider klappt Dein Code nicht. Was mache ich nur falsch ?


3.

Habs hinbekommen, Code muß so lauten:
[CODE]<?php
$sql = "SELECT irgendwas FROM datenbank WHERE farbe REGEXP '^" . $abc . "$'";
?>

Aber aus der Datenbank bekomme ich beim Anwählen von -alles Anzeigen- eine ID zurück. Nur bei dieser ID soll alles angezeigt werden, sonst nur die angewählten Farben. Habt Ihr da noch eine Idee?


4.

ach so. sorry hab ich vergessen zu schreiben. bei -alles Anzeigen- muss der value des Radiobuttons folgendermaßen lauten:
value=".*"
damit müsste eigentlich alles ausgewählt werden.


5.

Vielen Dank massi,

Du hast mir wirklich sehr geholfen. Endlich klappts.


Hier gehts zum Orginal Eintrag "Platzhalter" im Forum
 
phpforum.de | Impressum