Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
zeile auswählen, die mit zahl beginnt [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
zeile auswählen, die mit zahl beginnt


 
amoah
07-10-2001, 17:57 
 
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

 
Kaffi
07-10-2001, 18:02 
 
du kannst keine Anführungszeichen im querry benutzen, da an dieser stelle das querry beendet wird.
Benutze ` oder '

 
amoah
07-10-2001, 18:32 
 
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?

 
Kaffi
07-10-2001, 18:42 
 
$query = "SELECT ID,artist,titel,label,year,format,stock FROM stocklist WHERE artist LIKE '[0..9]%' LIMIT $start,$limit";

 
amoah
07-10-2001, 19:57 
 
tja, immer noch keine ausgabe..
verflixt nochmal!

 
Kaffi
07-10-2001, 20:32 
 
ich sehe kein mysql_connect();

 
amoah
07-10-2001, 21:24 
 
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? ;-)

 
Titus
09-10-2001, 10:22 
 
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 (http://www.mysql.com/documentation/mysql/bychapter/manual_Regexp.html).


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:37 Uhr.