Mark: Mysql, erste Zeichen = Zahl oder nicht?

Hallo ihr,

Stelle mich irgendwie dumm an...

Folgendes, habe eine Datenbank u.a. mit der spalte 'titel'

Jetzt möchte ich einmal nach alphabet alle Anzeigen die mit dem entsprechenden Buchstaben anfangen. Hat auch so weit geklappt.

if($abc)$sql_todo.=" AND (titel LIKE '$abc%')";

Jetze haben mir meine Titel einen Strich durch die Rechnung gemacht und ein paar davon fangen mit einer Zahl an. Da es nur wenige sind, möchte ich mir in einer Abfage alle anzeigen lassen die mit einer Zahl beginnen als alle von 0-9

Beispiel:

-102 Dalmatiner
-24 Hours
-007 Die Welt ist nich blabla..
-Mickey Mouse

Mysql soll jetzt nur die ausgeben die mit einer Zahl anfangen, also nicht Mickey Mouse

Hoffe ich hab's verständlich beschrieben und hoffe auf Antwort

Gruss und Danke

  1. Hallo,

    geb das doch in 2 while Schleifen aus.

    SELECT * FORM tabelle WHERE title NOT LIKE '$abc%'

    soltle eigentlich gehn.

    MFG
    Andavos

    --
    http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
    1. Hello,

      SELECT $fields FROM $table WHERE title RLIKE '[1].';

      So geht das.

      Solltest Du ein Abfrageformular gebaut haben, dann würd eich noch einen Schalter für REGEXP spendieren.

      Für LIKE und % hatte ich ja ein Beispiel gezeigt, wie es automatisch geht.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen

      1. 0-9 ↩︎

      1. Hallo Tom

        SELECT $fields FROM $table WHERE title RLIKE '[1].';

        Habe jetzt:

        if($abc)$sql_todo.=" AND (titel RLIKE '[2].')";

        wobei jetzt in $abc entweder ein Buchstabe oder 0-9 übergeben wird. Danke, es funktioniert.

        Solltest Du ein Abfrageformular gebaut haben, dann würd eich noch einen Schalter für REGEXP spendieren.

        if($abc)$sql_todo.=" AND (titel REGEXP '[3].')";

        funktioniert auch, welches sollte denn genommen werden?

        Für LIKE und % hatte ich ja ein Beispiel gezeigt, wie es automatisch geht.

        Dem kann ich jetzt nicht folgen..., mir haste kein Beispiel gezeigt. War schon ein Weilchen nicht mehr hier..

        Gruss, Mark


        1. 0-9 ↩︎

        2. $abc ↩︎

        3. $abc ↩︎

    2. SELECT * FORM tabelle WHERE title NOT LIKE '$abc%'

      geht leider nicht, da $abc jeder beliebige Buchstabe im Alphabet sein kann. Heisst wenn ich "A" übergebe mir zwar dann die mit Zahlen anfangen angezeigt werden ebenso aber auch alle anderen... B,C,D usw