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)
Left() vs. LIKE [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Left() vs. LIKE


 
Daniela
21-02-2006, 23:00 
 
Hallo zusammen,

hätte zwei kleine Fragen :)

Ich hab ein kleines Suchskript und dabei hätte ich folgende WHERE Bedienungen zur Auswahl:

AND LEFT(titel, 1)='$alph_sort'

ANS titel LIKE '$alph_sort%'

Welche der beiden ist vorzuziehen? Oder bleibt es sich eh gleich?

Momentan hat $alph_sort die werte a-z die je nach bedarf einzeln abgefragt werden.

Ist es Möglich mit einem Suchbegriff mir anstatt z.b. LIKE 'a%' nur nummerische anfangszeichen raussuchen zu lassen?

quasi a = [0-9]

Hab im Manual leider nix gefunden, im Notfall mach ich halt.. AND LIKE 1, AND LIKE 2, etc... bzw mit LEFT *g* aber schaut halt irgendwie doof aus.

danke und grüße,
dani

 
asp2php
21-02-2006, 23:06 
 
hm ... IMHO ist like schneller als left(..)=, aber das kannst du ja mal selbst testen.

Wenn dein DBMS RegEx unterstützt kannst du auch mit [...] abfragen. 4yi: MySQL kann das.

 
Daniela
21-02-2006, 23:27 
 
dank dir asp2php, hat wunderbar geklappt :)

Hier noch die Abfrage inkl. des Wildcards:

WHERE titel REGEXP '[0-9%]'

Gruß,
Dani

 
Daniela
21-02-2006, 23:37 
 
Weiß zwar nicht ob das so korrekt ist, aber funktionieren tust (mysql 5)

AND LEFT(titel, 1) REGEXP '[0-9%]'

Hatte nämlich das Problem mit der oberen Abfrage wurden auch Einträge aufgelistet in denen z.b. am Schluss des Namens nochmal ne Zahl drin war.

PS: Mit LIKE und REGEXP hab ichs nicht hinbekommen. (evtl. liegst auch daran das ich schon müde bin *g*) Jedenfalls mit LEFT klappts *freu*

gn8 zusammen,
Dani

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:11 Uhr.