kostenloser Webspace werbefrei: lima-city


like mysql befehl

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    samson

    samson hat kostenlosen Webspace.

    $su = "hans wurst";

    $abfrage = "SELECT *
    FROM `such`
    WHERE `lol` LIKE '%$su%'";


    ich habe in der Tabelle unter lol einmal hans futter wurst otto und einmal hans stehen aber hans futter wurde fr?her eingegeben.

    Mein Problem:
    Da hans vor hans wurst eingegeben wurde wird es fr?her angezeigt aber hans wurst otto hat mehr ?hnlichkeit mit $su wie kann ich machen das es der ?hnlichkeit nach runter ausgeben!
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Ich bin ein klein wenig verwirrt. K?nntest du mal bitte genauer beschreiben, was du meinst? Oder noch besser, was du erreichen willst?

    Der Suchstring hei?t $su = 'hans wurst'.

    Dein LIKE-Statement findet also alle Datenfelder, deren Inhalt '%hans wurst%' enth?lt. Die Reihenfolge, in der die Datenfelder dabei ausgegeben werden, hat normalerweise nichts mit der Reihenfolge des Eintrags in die DB-Tabelle zu tun. Das macht eine gute Datenbank v?llig willk?rlich.

    Wenn du die Ergebnisse nach "?hnlichkeit" sortieren willst, kann ich dir zumindest mit MySQL-Statements nicht weiterhelfen. Aber es gibt PHP-Funktionen zum String-?hnlichkeits-Vergleich.

    http://de.php.net/manual/de/function.similar-text.php

    Du kannst also alle Datenfelder aus der Tabelle holen und diese dann mit similar_text() vergleichen, oder eine Array-Sortierfunktion dazu benutzen (http://de.php.net/manual/de/function.usort.php). usort() kann man eine Vergleichsfunktion ?bergeben (z.B. similar_text), um nach ?hnlichkeit zu sortieren.

    MfG
    alopex
  4. Autor dieses Themas

    samson

    samson hat kostenlosen Webspace.

    danke auch wenn du mich nicht verstanden hast das was du mir gesagt hast ist aber:

    Wie kann ich etwas der Gr??e nach ausgeben?
  5. also ein idielleres beispiel h?ttest du echt nicht w?hlen k?nnen... is echt kein wunder, wenn das niemand wirklich versteht...

    z.t.
    die php funktion wird bei dir am wahrscheinlichsten die richtige sein. ein mysql befehl kenn ich auch nich, der dann die gefundenen werte nach "treffererfolg" sortiert.

    was meinst du mit "wie kann ich etwas der gr??e nach ausgeben" ?

    in mysql geht das so (falls du das meinst).
    $abfrage = "SELECT * 
    FROM `such` 
    WHERE `lol` LIKE '%$su%' ORDER BY time DESC";

    somit gibst du die ergebniss ab oder aufsteigend nach dem inhalt der zeile time in deiner db aus.
    mit ASC anstatt DESC dann genau andersherum, ab oder aufsteigend....

    mfg
  6. Autor dieses Themas

    samson

    samson hat kostenlosen Webspace.

    Genau das will ich das ist super
  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!