kostenloser Webspace werbefrei: lima-city


SQL Suche nach Relevanz sortieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Hallo.
    Meine Webseite hat jetzt eine (find ich) zufriedenstellende tag/suche">Suche bekommen. Über JQuery wird ein Script ausgelesen. Damit sich Lima-City aber nicht zu viel Traffic erlaubt, verleg ich die Seite (versprochen!) auf meinen Server, sobald ich ihn habe (~3Wochen).
    Zum Script:
    Es wird ganz einfach über
    SELECT * FROM `suche` WHERE `tag` LIKE "%'.$_GET['query'].'%"
    einträge gesucht und ausgegeben. Alles OK. Nun, jetzt würde ich gerne die ganze Suche nach Relevanz sortieren. Da ja schon ein Buchstabe genügt, um einen Eintrag zu finden würde ich das gerne sortiert haben. Ist ja auch für die Benutzer komfortabler.

    Nun eigentlich bin ich ein alter Hase was MySQL angeht, aber hier steh ich an. Gibt es da eine option, mit der man das Sortiren kann? (zB: ORDER BY relativity DESC)??
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    zuerst einmal solltest in deiner Query auf keinen Fall ungeprüft Parameter übernehmen lassen (SQL Injection)

    Siehe auch: http://www.tech-evangelist.com/2007/11/05/preventing-sql-injection-attack/


    Zweitens: Was ist denn für dich "relevant". Ich denke, dass müsstest du dir zuerst einmal überlegen, was du da überhaupt willst. Was ist denn "relevant"?
  4. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Also mit Relevant meine ich einfach die TrefferQuote.
    Nehmen wir an ich habe 4 Eintragungen in "suche" : Buch, Zeitung, Papier und Piercing
    Der Benutzer giebt dann "P" ein, weil er nach "Pircing" (!! Nur ein Beispiel! Ist nicht wirklich so!) suchen will. Dann kommt schon ein erstes Ergebniss, welches Papier und Piercing ist. So, jetzt gibt er einen Weiteren Buchstaben ein "I", jetzt bleibt noch immer Papier stehen, obwohl doch ersichtlich ist, dass er "PI"ercing meint, oder? Ich möchte diese Beiden ergebnisse nur sortieren, dass Piercing immer oben steht (weil es relevanter ist)

    Verstehst du es jetzt? Wenn nicht, ich hab die vier DInge in meine Suche gemacht. *Klick*

    Beitrag zuletzt geändert: 27.8.2010 16:19:08 von limabone
  5. Aso, ich glaube ich weiß was du meinst:

    SELECT * FROM `suche` WHERE `tag` LIKE "%'.$_GET['query'].'%" order by instr(tag, $_GET['query'])
  6. Autor dieses Themas

    limabone

    Kostenloser Webspace von limabone

    limabone hat kostenlosen Webspace.

    Wow diese Funktion ist aber wirklich toll. Die hab ich noch nicht gekannt.
    Danke dir hat Super Funktioniert!
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!