Da Pinky: alle werte finden, die wie $var beginnen

hallo auch,

habe in meiner db verschiedene urls stehen. die sind zwar alle gültig, leider nicht in einer einheitlichen form sodas ich sie leichter vergleichen könnte, also manche enden z.b. mit ".de/", manche nur mit ".de" und andere wieder mit ".de/tolleseite.html" oder auch ".de/kapitel1/".

jetzt möchte ich feststellen wie viele besucher die dort eingetragenen seiten zu mir schicken und werte dazu den referer aus (ich weiss, kann man sich nicht 100% darauf verlassen aber so genau muss es auch nicht sein).
mein problem jetzt: gibts mit mysql eine funktion, an die man 2 strings übergibt und die überprüft ob string1 genauso anfängt wie string2, auch wenn string1 hintendran noch anders weitergeht?
also wenn string2 z.b. "www.yahoo.com" ist, dann sollte die funktion auch die strings "www.yahoo.com/mail/" und "www.yahoo.com/123.html" finden.
ok, normal könnte ich das mit php auch über substr und stripos vergleichen, aber das wäre doch sicher langsamer als wenn ich das direkt an mysql übergebe, oder?!

  1. Hallo Freunde des gehobenen Forumsgenusses,

    mein problem jetzt: gibts mit mysql eine funktion, an die man 2 strings übergibt und die überprüft ob string1 genauso anfängt wie string2, auch wenn string1 hintendran noch anders weitergeht?

    Möchtest du nur diesen einen Vergleich durchführen oder aus einer Tabelle alle Datensätze
    herausfiltern, die die Zeichenkette "foo" enthalten?

    Gruß
    Alexander Brock

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. mein problem jetzt: gibts mit mysql eine funktion, an die man 2 strings übergibt und die überprüft ob string1 genauso anfängt wie string2, auch wenn string1 hintendran noch anders weitergeht?

      Möchtest du nur diesen einen Vergleich durchführen oder aus einer Tabelle alle Datensätze
      herausfiltern, die die Zeichenkette "foo" enthalten?

      ich will sie nicht ausgeben, nur mit "update" den dazugehörigen counter höhersetzen - auch wenn meherer seiten mit "foo" beginnen.

      1. Hallo Freunde des gehobenen Forumsgenusses,

        ich will sie nicht ausgeben, nur mit "update" den dazugehörigen counter höhersetzen - auch wenn meherer seiten mit "foo" beginnen.

        update table_name set counter = counter + 1 where url like'%foo%';
        Ist da das schnellste und einfachste. Generell lässt man so etwas meistens das RDBMS machen,
        weil es darauf optimiert ist.

        Gruß
        Alexander Brock

        --
        [latex]\lim_{3 \to 4}{\sqrt{3}} = 2[/latex]
        1. update table_name set counter = counter + 1 where url like'%foo%';

          argl - like %! den wald vor lauter bäumen wieder nicht gesehen...