SQL Abfrage, je nach ausgewählten Parametern

REC

Bekanntes Mitglied
Hallo zusammen,
Ich hoffe ich bin hier im richtigen Unterforum.

Ich programmiere im Moment gerade an einem Projekt für meine Ausbildung. Es geht um Datenbank mit einer Website als Frontend. Es geht um eine kleine DVD Sammlung
Ich mache den Teil der Suche. Auf meiner Webseite kann man nach

DVD-Titel,
Genre,
Schauspieler,
Preise

suchen.
Ich habe aber unten nur ein Suche Knopf. Schön wäre es jetzt wenn ich es so programmieren könnte das der Code selber merkt welche Datenfelder ausgefüllt sind und welche nicht. Das heisst je mehr ausgefüllt ist deso mehr wird die Suche eingeschränkt. DVD Titel ist ein Textfeld.Dort kann ich schon nur nach dem String suchen. Die anderen 3 sind Selectboxen, von denen bekomm ich die ID, also (Horror = 1, Action = 2 etc)

Wie kann ich das nun schlau in PHP oder SQL schreiben das man leere Felder aussortiert und die Suche-SQL richtig schreibt?
 
S

SlaterB

Gast
ein Zeichen nach den anderen eintippen,
Werte abfragen, if/else, SQL zusammenbauen,
was soll man dazu schon sagen? fange an

es gibt nicht unbedingt ein schlaues Gesamtkonzept, jedenfalls ist es nicht schlau nichts zu tun und nur zu fragen,
baue nach und nach etwas auf und mit der Zeit siehst du selber was vielleicht zu optimieren ist

wenn du hier schlimme Konstrukte postest, dann ist es auch leichter sie zu korrigieren,
das ist ein normaler Prozess
 
Zuletzt bearbeitet von einem Moderator:

REC

Bekanntes Mitglied
ein Zeichen nach den anderen eintippen,
Werte abfragen, if/else, SQL zusammenbauen,
was soll man dazu schon sagen? fange an


wenn du hier schlimme Konstrukte postest, dann ist es auch leichter sie zu korrigieren,
das ist ein normaler Prozess

Wie kann ich den SQL zusammenbauen? Ich kann if/else Sachen ja machen, dann aber ergibt sich pro else Teil einfach ein SQL Statement. Ich meine ich kann ja nicht wissen, ob jetzt nur nach Genre gesucht wird, oder nur nach Schauspieler und Preise, etc. Es gibt so viele Möglichkeiten. Ich kann ja nun nicht alle mit verschiedene SQL's abdecken?
Das mit dem SQL zusammenbauen hört sich sehr interessant an. Ist vielleicht frech aber könntest du mir ein einfaches Beispiel machen vom Grundgerüst?
Naja mein Code ist ziemlich wirr, ich glaube nicht das dies viel bringt ihn hochzuladen. Ich habe im Moment noch Problem nach Umlaute zu suchen. Hat mal funktioniert mit utf8_decode. Aber jetzt will es aufeinmal nicht mehr. Darum habe ich eigentlich erst die DVD Titel suche komplett.
 

REC

Bekanntes Mitglied
Man genau dem bin ich jetzt auf der Spur :) Ist ja wirklich nur ein String. Ich verfolge mal diesen Ansatz. Das Problem ist wir müssen ein bisschen PHP und SQL mischen. Und das ist extrem mühsam mit diesen ganzen ' ," etc.
Mein Problem war auch wie ich die Abfrage mach ob die Felder leer sind. Aber zum Glück konnte ich in PHP einfach schreiben:

PHP:
if($titel2 == NULL){
        echo 'leer';
    }
    else{
        echo voll;
    }

Ich danke dir mal bis hierhin. Ich melde mich wenn es geklappt hat oder wenn mehr Fragen enstehen ;)
 

REC

Bekanntes Mitglied
Mhm anscheinend ist das zusammenfügen nicht ganz einfach :oops:

So bereite ich die $query Variable vor:

PHP:
 $query = "SELECT Titel, Filmbeschreibung, Erscheinungsjahr, GenreName FROM vfilmdetail WHERE ";

und hier möchte ich sie gerne um dieses Statemant erweitern

PHP:
 if($titel2 == NULL){
        echo 'leer';
    }
    else{
        $query += "Titel LIKE '%$titel2%'";
    }
Leider klappt das nicht. Ich nehme an das Problem liegt daran das bei WHERE mit " aufgehört wird aber bei Titel auch mit " angefangen wird? Wie kann ich das umgehen?

Am schluss führe ich dann diesen Befehl aus:
PHP:
  $res = mysql_query($query) ;
 
M

Marcinek

Gast
Hallo,

Konkatenationen in PHP macht man mit "." (Punkt) und nicht mit "+" (Plus).

Das hier ist ein Java Forum, also vorsicht.

Gruß,

Martin
 

REC

Bekanntes Mitglied
Hey Danke Martin, das war der Fehler ! :)
Hab mich wohl ein bisschen ungenau ausgedrückt. Hätte vielleicht stärker daraufhinweisen sollen das es PHP ist.

So versuche jetzt noch den Rest:toll:
 
S

SlaterB

Gast
> vielleicht stärker daraufhinweisen sollen das es PHP ist.
für was, damit ich dir PHP-Code liefere? da hätte kein Hinweis geholfen

lieber stärker logisch nachdenken, welche Funktion Code-Teile haben,
dass es um das Zusammenfügen von SQL-Bausteinen ging, war doch ziemlich klar

vielleicht auch stärker die Bedeutung von PHP-Code lernen, was dort + bedeutet usw ;)
 

REC

Bekanntes Mitglied
Nein ich meine ja nur. Soll kein Angriff sein. Ich dachte das du vielleicht aus gewohnheit + geschrieben hast. Ich kenn nur bisschen Java. Darum habe ich auch + genommen fand das absolut richtig. Ich wusste wirklich nicht das man mit "." zusammenfügen muss. Die PHP Sachen bin ich mir im Moment im Web am zusammensuchen. Denn das hatte wir in der Schule noch gar nicht.
 
S

SlaterB

Gast
habe ich auch nicht als Angriff verstanden bzw. wäre mir egal, wollte dennoch deine Ansicht weiter revidieren,
nimm nie an dass jemand alles bedenkt wenn du irgendwo ein + liest, übernimmt keinen Code ohne Denkprozess einzuschalten
(auch kein bewußter Angriff, sondern Anleitungs-Ton ;) )

> Die PHP Sachen bin ich mir im Moment im Web am zusammensuchen.
uiui
 

REC

Bekanntes Mitglied
Ok das was ich wollte funktioniert. Man muss halt auch noch "AND" in den String einfügen damit alle Bedinugnen erfüllt sind.


Ja ich weissd das mit dem PHP ist nicht optimal. Aber wir haben extra ein PHP Fach. Aber erst nächstes Jahr:)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Abfrage nach existierender SQL-Tabelle Datenbankprogrammierung 7
T Eintragung in einer Spalte nach Abfrage Datenbankprogrammierung 11
D JAVA hängt nach SQL Abfrage Datenbankprogrammierung 7
M Abfrage trennt Ergbnis eines Atrributes nach den Leerzeichen Datenbankprogrammierung 4
B Wie kann ich eine Jtable mit Inhalt einer SQL Abfrage füllen Datenbankprogrammierung 14
J SQLite Abfrage fehlerhaft - komme nicht weiter - please help. Datenbankprogrammierung 3
L PostgreSQL Abfrage mit EclipseLink Datenbankprogrammierung 7
S Berechnung des Datumsunterschieds in der SQL-Abfrage Datenbankprogrammierung 1
Zrebna Probleme bei Überführung von SQL-Code in eine HQL-Abfrage Datenbankprogrammierung 3
btwX28 mysql abfrage über phpmyadmin Datenbankprogrammierung 8
M Alle Records Felder kriegen für DB Abfrage Datenbankprogrammierung 14
pkm PostgreSQL Kann mit mybatis einen Parameter für eine postgreSQL-Abfrage nicht übergeben. Datenbankprogrammierung 5
nonickatall MySQL SQL Abfrage erneut ausführen oder rs aktualisieren Datenbankprogrammierung 14
Kirby.exe Verständnisproblem bei SQL Abfrage Datenbankprogrammierung 27
N SQL-Abfrage in JTextField ausgeben Datenbankprogrammierung 6
N java sql abfrage bestimmer Datumszeitraum Datenbankprogrammierung 9
F Mapping einer SQL Abfrage in eine Klasse Datenbankprogrammierung 4
N Java Abfrage über GUI, Daten hinzufügen Datenbankprogrammierung 54
Bluedaishi Datenbank Abfrage Datenbankprogrammierung 36
W MySQL DB Abfrage in Array, gemischte Array, generelles vorgehen Datenbankprogrammierung 4
D SQL Abfrage optimieren Datenbankprogrammierung 35
D MySQL Abfrage Datenbankprogrammierung 5
D MySQL Abfrage sortieren Datenbankprogrammierung 4
D MySQL Abfrage SUM datediff Datenbankprogrammierung 3
D Regelmäßige Abfrage aus Workbench Datenbankprogrammierung 6
M SQL-Statement Hilfe bei SQL-Abfrage Datenbankprogrammierung 2
D Abfrage - Spalte(Datum) ändern (Oracle) Datenbankprogrammierung 7
D Datenbank Abfrage Datenbankprogrammierung 7
H MySQL Benutzer Login System mit Datenbank Informationen (Abfrage zu User ist auf DB gesichert) Datenbankprogrammierung 42
D MySQL Abfrage mit kumulierten Werten Datenbankprogrammierung 16
M MySQL Anbindung und Abfrage an die Datenbank Datenbankprogrammierung 2
RowdyN SQLite Einfache Abfrage mit temporäre Tabelle, die nur innerhalb der Abfrage gültig ist Datenbankprogrammierung 0
E Abfrage auf HSQLDB Datenbankprogrammierung 4
M MySQL SQL Abfrage in JTable mit Berechnung Datenbankprogrammierung 3
S Abfrage von Gruppentickets(Mehrere Resorts an einem Tag) Datenbankprogrammierung 1
S SQL Abfrage Datenbankprogrammierung 2
F Abfrage der letzten Einträge Datenbankprogrammierung 2
J SELECT Abfrage/Suche Datenbankprogrammierung 4
U SQLite Für mich etwa komplexe Abfrage via 2 Tabellen Datenbankprogrammierung 5
OnDemand SQL Abfrage und Equals Datenbankprogrammierung 4
B MySQL MySQL-Abfrage von aufsummierter Zeit Datenbankprogrammierung 3
M MySQL MySQLSyntaxError in Java, obwohl Abfrage in HeidiSQL korrekt Datenbankprogrammierung 2
ruutaiokwu sql abfrage mit rekursion, mit oder ohne cte... Datenbankprogrammierung 5
J SQLite Abfrage ausführen stoppt für Zyklus? Wie es zu lösen? Datenbankprogrammierung 3
L JSONArray/JSONObject MySQL-Servlet Abfrage Datenbankprogrammierung 2
H Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich Datenbankprogrammierung 3
L SQL-Abfrage bricht vor dem Ende ab Datenbankprogrammierung 2
S MySQL Abfrage über mehrere Tabellen + Einträge werden überschrieben Datenbankprogrammierung 1
M Derby/JavaDB Komplexe Abfrage vereinfachen Datenbankprogrammierung 2
S SQL-Abfrage, Filewriter .txt Datei Datenbankprogrammierung 2
P Datenbank- Abfrage mit null'en Datenbankprogrammierung 2
Bluedaishi MySQL Abfrage Problem :-) Datenbankprogrammierung 21
D MySQL Erstellen der richtigen Abfrage Datenbankprogrammierung 3
D MySQL DB Abfrage Prüfen Datenbankprogrammierung 10
D JDBC insert mit select abfrage Datenbankprogrammierung 5
E PostgreSQL Exception too ...many clients already bei DB-Abfrage Datenbankprogrammierung 14
M MySQL SQL Abfrage Problem Datenbankprogrammierung 6
W No data found: SQL-Abfrage funktioniert nur beim Debuggen Datenbankprogrammierung 3
H JSON Array abfrage beschleunigen Datenbankprogrammierung 2
S MySQL Abfrage: Wenn Feld leer, alles anzeigen Datenbankprogrammierung 5
Mrtwomoon Abfrage-Ergebnisse in einem Fenster darstellen Datenbankprogrammierung 8
0 SQL Abfrage Bestellung Datenbankprogrammierung 15
G SQLite SQLite Abfrage Datenbankprogrammierung 4
C Mit jsp über Java eine DB Abfrage durchführen --> java.lang.ClassNotFoundException Datenbankprogrammierung 4
Dit_ Hibernate, effiziente SQL-Abfrage definieren Datenbankprogrammierung 5
B My-SQL Abfrage - Out Of Memory Error Datenbankprogrammierung 13
C MySQL Problem mit UPDATE Abfrage Datenbankprogrammierung 13
K SQLite Einfache DB-Abfrage Datenbankprogrammierung 2
C Problem mit SQL-Abfrage Datenbankprogrammierung 5
C Sortierung bei SQL-Abfrage Datenbankprogrammierung 3
B Bei Abfrage schießt der Speicher in die Höhe Datenbankprogrammierung 6
M SQL Abfrage Dupliakte bei Kreuzvergleich Datenbankprogrammierung 2
M Access Abfrage mit Parameter & Access/Java liefern unterschiedliche Ergebnisse Datenbankprogrammierung 2
G SQL Abfrage Datenbankprogrammierung 5
C SQL-Abfrage Datenbankprogrammierung 4
B SQL-Abfrage Datenbankprogrammierung 4
C Wert in SQL-Abfrage zählen lassen Datenbankprogrammierung 8
R Memory leaks bei DB Abfrage Datenbankprogrammierung 16
S Abfrage auf SQLite-DB Datenbankprogrammierung 2
I Belastet es das System zu sehr einen Timer jede 0.2 Sekunden eine DB Abfrage machen zu lassen? Datenbankprogrammierung 9
L MySQL Probleme mit PreparedStatement für SQL-Abfrage in Java Datenbankprogrammierung 2
G Abfrage von Teilnehmern Datenbankprogrammierung 4
B HSQLDB Probleme mit Select...Where Abfrage Datenbankprogrammierung 16
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
F MySQL SQL Abfrage für u.a. Spaltenname key Datenbankprogrammierung 4
G SQLite Abfrage, ob in Tabelle X Spalte Y existiert Datenbankprogrammierung 4
A MySQL Ergebnss aus SQL Abfrage in Hauptklasse verwenden Datenbankprogrammierung 3
N Geschwindigkeit bei if Abfrage Datenbankprogrammierung 11
J sql abfrage ... Problem mit Datumswert Datenbankprogrammierung 3
G Performante SQL- Abfrage (LIKE %) Datenbankprogrammierung 21
G Join Abfrage Datenbankprogrammierung 12
M db abfrage fehlerhaft Datenbankprogrammierung 5
C MySQL Abfrage mit flexibler WHERE bedingung Datenbankprogrammierung 10
C Datenbank-Abfrage, if im Select Datenbankprogrammierung 9
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
G SQL Abfrage über mehrere Tabellen Datenbankprogrammierung 28
H SQL Abfrage - zwei tabellen vergleichen. Datenbankprogrammierung 2
H MySQL Datenbank Abfrage Datenbankprogrammierung 10
André Uhres SQL Abfrage erkennt keine Buchstaben mit Akzenten (z. B. é, è) Datenbankprogrammierung 3
E MySQL Klasse zur Abfrage statisch oder Standard Datenbankprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben