sortierung von zahlen sql php

ArcaDe

Mitglied
Hallo Liebe Forumleser,

ich habe da ein "kleines" Problem.
Ich erstelle eine Immobiliendatenbank.
Soweit läuft auch alles einwandfrei.

Nur habe ich beim Auslesen der Datensätze bei der Sortierung folgendes Problem.
Wenn ich meine Tabelle auslese und nach Warmmiete zum Beispiel sortieren möchte sortiert er mir diese falsch. Zum Beispiel:

ASC

Warmiete
1200
100
200
600

der hintergrund ist mir schon irgendwie klar. [1-0]
wie kann ich das aber nun bei Hunderter und Tausender zahlen richtig sortieren ?
mein teilskript ist dieses hier

PHP:
<td><a href="<?=$PHP_SELF."?order_by=bezirk&dir=".(($order_by=="bezirk" && $dir=="ASC")?"DESC":"ASC")?>">Bezirk</a></td> 
<td><a href="<?=$PHP_SELF."?order_by=zimmer&dir=".(($order_by=="zimmer" && $dir=="DESC")?"ASC":"DESC")?>">Zimmer</a></td> 
<td><a href="<?=$PHP_SELF."?order_by=kaltmiete&dir=".(($order_by=="kaltmiete" && $dir=="ASC")?"DESC":"ASC")?>">Kaltmiete in €</a></td>
<td><a href="<?=$PHP_SELF."?order_by=warmmiete&dir=".(($order_by=="warmmiete" && $dir=="ASC")?"DESC":"ASC")?>">Warmmiete in €</a></td> 

// und dann natürlich das hier
$ergebnis = mysql_query("SELECT * FROM dachgeschoss ORDER BY $order_by $dir");

würde mich über eine Antwort sehr freuen. Die Sortierung habe ich hier aus dem Forum benutzt. Da es mir sehr gut gefallen hat.
 
INT bringt mir auch nichts da ich keine kommazahlen nehmen kann. wie siehts aus mit Float als typ ? da kann ich dann aber wieder nur einen "." einsetzen und bei 1.200,50 siehts auch wieder schlecht aus
 
Zuletzt bearbeitet:
Wenn Du die Zahlen eingibst (z.B. über ein Formular) übernimmst Du sie als String. Dann parst Du die Zahl nach "." bzw. "," und löscht bzw. setzt diese Chars. Danach kannst Du den String umwandeln in eine Zahl und in die Datenbank in ein Float-Feld schreiben. (Double müsste auch gehen, weiß jetzt aber nicht obs den Typ unter PHP auch gibt.) Dann müsstest Du eine korrekte Sortierung erhalten.

MfG ..::SD::..
 
könntest Du mir ein Beispiel schreiben wie ich das umwandle Bsp formularfeld

<td>zahl:</strong></td><td><input type="text" name="zahl"></td>

Wie kann ich das dann umwandeln das ich das so hinbekomme ? ..
Danke

Lieben Gruß
 
Zurück