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)
datensätze nach zeichenlänge sortieren [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
datensätze nach zeichenlänge sortieren


 
flo
08-11-2003, 13:40 
 
gibt es so eine sql abfrage, die die datensätze nach der zeichenlänge eines feldes sortiert oder datensätze mit einer kürzeren zeichenlänge als z.B. 100 zeichen ausgibt?

Danke im Vorraus
flo

 
Abraxax
08-11-2003, 13:43 
 
verwende die stringfunktion zum ermitteln der länge ( LEN() könnte es sein ) , gibt ihr einen alias und sortiere danach.

 
flo
08-11-2003, 13:50 
 
So ist es gemeint?

SELECT *, $laenge=LEN(text) FROM `tabelle` WHERE $laenge<='100'

Funzt leider net :(

 
Abraxax
08-11-2003, 13:55 
 
huhu. du willst ein sql-statement machen. also musst du dich schon an den syntax halten :teach:

SELECT *, LEN(text) laenge FROM tabelle HAVING laenge <= 100

SELECT *, LEN(text) laenge FROM tabelle ORDER BY laenge DESC LIMIT 10

 
flo
08-11-2003, 16:44 
 
You have an error in your SQL syntax near '( text )laenge
FROM tabelle
HAVING laenge <= 100 LIMIT 0, 30' at line 1


:confused:

 
mrhappiness
08-11-2003, 16:56 
 
`text` oder die spalte umbenennen

 
Abraxax
08-11-2003, 16:57 
 
dann heisst die fkt evtl nicht LEN sondern anders. ein blick ins manual kann helfen.

 
flo
08-11-2003, 17:28 
 
An den Anführungszeichen kann es nicht liegen,
und im mysql manual finde ich mich nicht zurecht ;(

 
mrhappiness
08-11-2003, 17:33 
 
Original geschrieben von flo
An den Anführungszeichen kann es nicht liegenwarum nicht?und im mysql manual finde ich mich nicht zurechtpech gehabt ;)

gib doch einfachmal len als suchbegriff ein, wo kommst du dann hin?

 
flo
08-11-2003, 18:01 
 
mit den Anführungszeichen hab ichs versucht,
es ging nicht.

Wenn ich len in die Suche eingebe, bekomm ich
9 ergebnisse und klicke eins an, dann bin ich genau so blöd wie vorher.

nur diesmal hab ich gesehen, dss es da auch einen link zur zeichenkette gibt ...

SELECT * , LENGTH( 'text' ) laenge
FROM `tabelle`
HAVING laenge <= 100 LIMIT 0 , 30

Problem, die zeichen werden trotzdem nicht gezählt,
ich bekomme alle Datensätze aus der Datenbank als Ergebnis.

 
mrhappiness
08-11-2003, 18:14 
 
was ja wohl auch nicht verwudnerlich ist, da du die länge des wortes "text" zählst

bei spaltennamen kommen keine hochkommata hin

LENGTH (text)
und dann so weiter wie oben schon steht

 
flo
08-11-2003, 19:55 
 
A jetzt habe ich es, wie ich es haben wollte, und
hoffentlich habe ich dabei was gelernt.
dankeschön,
es erleichtert mir die durchsicht der datenbank


SELECT *
FROM `tabelle`
WHERE LENGTH( text ) <= 100


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:59 Uhr.