• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

schwer zu beschreiben...

riddler

New member
hi ihrs!

folgendes problem werd ich mal versuchen zu beschreiben:

angenommen eine tabelle in einer DB mit x spalten.

kann ich nun durch einen befehl
select * from [beispiel] where ???...???
folgendes erreichen:

ich habe Variablen mit Werten,
die den Werten der Spalten in
der Tabelle entsprechen KÖNNEN.

Nun sollen (zB) die ersten 10 Einträge der Datenbank mit den meißten Übereinstimmungen ausgesucht werden.
Oder auch alle Einträge mit (zB) 5 Übereinstimmungen.

Ich versuchs nochmal im klartext zu formulieren:
hab beispielsweise die spalten
hobby1, hobby2, alter, wohnort, geschlecht

und will jetzt anhand der VARs
hobby1 = true
alter = 20
geschlecht = m

die Einträge raussuchen die mit diesen Vorgaben die meißten übereinstimmungen haben (ALSO MUß NICHT ZWANGSLÄUFIG ALLES GLEICH SEIN, das wär ja einfach...)

hoffe könnt mir helfen.
mfg, riddler
 
Sollte mit einer Abfrage klappen -> .... where feld1 like 'variable1' OR feld2 like 'variable2' limit 0,10...
wenn's genau passen soll, like durch = austauschen, zur Not auch die where bedingungen klammern!

Klingt vielleicht ein wenig wild auf den ersten blick, aber das sollte hinhauen! Wenn du mehr Info's zur Struktur usw. rausrückst, kann ich vielleicht auch noch genauer weiterhelfen ;). Es empfiehlt sich, solche Abfragen z.B. mit PhPMyAdmin zu entwerfen ohne Variablen und dann ins Script zu übertragen mit den variablen. Ferner würde ich Dir raten, die Abfrage zuerst nich auszuführen, sondern erstmal mit der Anweisung print oder echo auszugeben!
 
also so wild find ichs gar nicht :)

verstehe nur das "limit 0,10..." nicht

das "where feld1 like 'var1'" usw. hab ich auch schonmal benutzt
für ne kleine such-engine innerhalb der datenbank.

aber ich will ja, das die zeilen mit den meißten
übereinstimmungen bzgl, der such-vars haben...

macht das das "limit 0,10..." ? wenn ja, wie genau?
was bedeutet die 0, was die 10?

ich versuchs nochmal zu verdeutlichen
ich mach mal mehrere zeilen mit den feldern
[feld1], [feld2], [feld3], [feld4], [feld5]:

true, 0, 1, kuchen?, true
false, 0, 0, kaffee?, false
false, 0, 1, kaffee?, true
true, 1, 1, kuchen?, true
true, 0, 0, kuchen?, true

nun gebe ich folgende vars für die suche an:
[egal], 1, [egal], kaffee?, false
und sagen wir mal es sollen die 3 besten treffer angezeigt werden

dann sollten ausgesucht werden:
false, 0, 0, kaffee?, false
false, 0, 1, kaffee?, true
true, 1, 1, kuchen?, true

hat das irgendwer verstanden? :)
btw: bitte meine blöden VArs wie kaffee? oder kuchen? zu entschuldigen,
mir ist nix bessres eingefallen :D

mfg, riddler
 
Zurück
Oben