Hallo Leute,
ich brauche Eure Hilfe bei einer PHP-Anwendung. Ich habe in einer Text-Spalte Bezeichnungen (Zahlen und Buchstaben). Diese werden mit MySql geordnet ausgegeben. (Alphabetisch und Zahlen nach Größe geordnet)
$queryStr = "SELECT * FROM tabelle ORDER BY name+0,REPLACE(name,name+0,'')";
Soweit so gut, klappt wunderbar.
Jetzt möchte ich die Position eines einzelnen Datensatzes entsprechend der Sortierung finden.
$queryStr = "SELECT COUNT(*) FROM tabelle WHERE name < '".$document."' ORDER BY name+0, REPLACE(name,name+0,'')";
Klappt wunderbar bei allen Namen die mit Buchstabe anfangen. Bei Zahlen wird von 0 hochgezählt. Nach der Ordnung müssten alle Namen mit Zahlen von der Position erst nach allen Namen mit Buchstaben kommen.
name < '".$document."' getauscht mit name+0 < '".$document."'
jetzt werden die Namen mit Zahlen an der richtigen Stelle angezeigt aber bei Namen mit Buchstaben wird immer 0 ausgegeben.
Ich hoffe mein Problem ist etwas verständlich. Die Frage, wie bekomme ich jetzt die richtige Position entsprechend meiner Ordnung heraus, egal ob es sich um Zahlen oder Buchstaben handelt.
Zerbreche mir schon den ganzen Tag den Kopf. Hoffe jemand hat den zündenden Gedanken
ich brauche Eure Hilfe bei einer PHP-Anwendung. Ich habe in einer Text-Spalte Bezeichnungen (Zahlen und Buchstaben). Diese werden mit MySql geordnet ausgegeben. (Alphabetisch und Zahlen nach Größe geordnet)
$queryStr = "SELECT * FROM tabelle ORDER BY name+0,REPLACE(name,name+0,'')";
Soweit so gut, klappt wunderbar.
Jetzt möchte ich die Position eines einzelnen Datensatzes entsprechend der Sortierung finden.
$queryStr = "SELECT COUNT(*) FROM tabelle WHERE name < '".$document."' ORDER BY name+0, REPLACE(name,name+0,'')";
Klappt wunderbar bei allen Namen die mit Buchstabe anfangen. Bei Zahlen wird von 0 hochgezählt. Nach der Ordnung müssten alle Namen mit Zahlen von der Position erst nach allen Namen mit Buchstaben kommen.
name < '".$document."' getauscht mit name+0 < '".$document."'
jetzt werden die Namen mit Zahlen an der richtigen Stelle angezeigt aber bei Namen mit Buchstaben wird immer 0 ausgegeben.
Ich hoffe mein Problem ist etwas verständlich. Die Frage, wie bekomme ich jetzt die richtige Position entsprechend meiner Ordnung heraus, egal ob es sich um Zahlen oder Buchstaben handelt.
Zerbreche mir schon den ganzen Tag den Kopf. Hoffe jemand hat den zündenden Gedanken
Kommentar