zeile auswählen, die mit zahl beginnt

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • zeile auswählen, die mit zahl beginnt

    hallo
    hab da schon seit längerer zeit ein problem..
    ich möchte einträge ausgeben lassen, die alle mit einer zahl beginnen.. ich habe schon den tipp mit regexp bekommen, doch das hat nicht geklappt, ich kriege immer einen parse error zurück!
    kann mir jemand helfen?
    unten noch der code..
    danke für die hilfe!

    amoah

    code:
    <?
    $server="localhost";
    $Benutzer = "";
    $Kennwort = "";
    mysql_select_db("soundseduction");
    $start = (isset($start)) ? abs((int)$start) : 0;
    $limit = 20;
    $resultID = @mysql_query("SELECT COUNT(ID) FROM stocklist WHERE artist LIKE "[0..9]%"");
    $total = @mysql_result($resultID,0);
    $start = ($start >= $total) ? $total - $limit : $start;
    // Datenbankabfrage ausführen.
    $query = "SELECT ID,artist,titel,label,year,format,stock FROM stocklist WHERE artist LIKE "[0..9]%""
    ." LIMIT ".$start.",".$limit;
    $resultID = @mysql_query($query);
    [..]
    ?>

    p.s.: wenn ich die anführungszeichen vor [0..9] wegnehme, erhalte ich die fehlermeldung not a valid resource

  • #2
    du kannst keine Anführungszeichen im querry benutzen, da an dieser stelle das querry beendet wird.
    Benutze ` oder '
    Kaffi
    Errare humanum est

    W32.Schmalle.H@mm

    Kommentar


    • #3
      nun gut, ich habe jetzt die " ausgetauscht..
      jetzt habe ich zwar keinen parse error mehr, dafür ist aber die ausgabe leer, obwohl 7 einträge angezeigt werden müssten..
      hier der aktualiserte code:
      <?
      $server="localhost";
      $Benutzer = "";
      $Kennwort = "";
      mysql_select_db("soundseduction");
      // Datendefinition für die Clientausgabe
      $start = (isset($start)) ? abs((int)$start) : 0;
      $limit = 20; // Datensätze pro Ausgabeseite
      // Feststellen der Anzahl der verfügbaren Datensätze.
      $resultID = @mysql_query("SELECT COUNT(ID) FROM stocklist WHERE artist LIKE '[0..9]%'");
      $total = @mysql_result($resultID,0);
      $start = ($start >= $total) ? $total - $limit : $start;
      // Datenbankabfrage ausführen.
      $query = "SELECT ID,artist,titel,label,year,format,stock FROM stocklist WHERE artist LIKE '[0..9]%'"
      ." LIMIT ".$start.",".$limit;
      $resultID = @mysql_query($query);
      [..]
      ?>

      hat sonst noch jemand einen tipp?

      Kommentar


      • #4
        $query = "SELECT ID,artist,titel,label,year,format,stock FROM stocklist WHERE artist LIKE '[0..9]%' LIMIT $start,$limit";
        Kaffi
        Errare humanum est

        W32.Schmalle.H@mm

        Kommentar


        • #5
          tja, immer noch keine ausgabe..
          verflixt nochmal!

          Kommentar


          • #6
            ich sehe kein mysql_connect();
            Kaffi
            Errare humanum est

            W32.Schmalle.H@mm

            Kommentar


            • #7
              danke für deine geduld, hat aber trotzdem nix gebracht..
              die verbindung funktioniert schon, das ist nicht das problem (hab dasselbe script für etliche andere buchstaben und dort klappt's)
              und auch mit mysql_connect funktioniert nicht..
              bleibt immer noch gleich, keine fehlermeldung, aber auch keine ausgabe der daten..

              noch ein vorschlag? ;-)

              Kommentar


              • #8
                Das Problem ist, das LIKE keine regulären Ausdrücke auswertet. LIKE kennt nur die Platzhalter '.' und '%'. Für reguläre Ausdrücke benutze den Operator REGEXP.
                mein Sport: mein Frühstück: meine Arbeit:

                Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                Kommentar

                Lädt...
                X