kostenloser Webspace werbefrei: lima-city


PHP MYSQL Nummern sortiert ausgeben

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    php-oop

    php-oop hat kostenlosen Webspace.

    Hallo,

    ich programmiere mir gerade eine kleine Kartenverwaltung mit Kartennummern.

    In der Datenbank gibt es eine Tabelle für die kartennummern, in der es eine Spalte "kartennummer" gibt.
    In dieser Spalte sind Zahlen von 1-400.

    Jetzt will ich mir alle Zahlen ausgeben lassen, allerdings sortiert, das heißt aufeinanderfolgend (1,2,3,4,5,6,7,....)

    Zurzeit werden mir bei der Ausgabe die Zahlen so ausgegeben: 1,10,100,101,102,...,109,11,110,111,112....


    Also, mein Problem ist, dass die Zahlen nicht sortiert ausgegeben werden.

    Zur Ausgabe benutze ich folgenden Code:

    $query = mysql_query ( "SELECT kartennummer FROM kv_karten WHERE anzahl >= " . $_POST [n] . " ORDER by kartennummer" );
    	$rows = mysql_num_rows ( $query );
    	
    	for($i = 1; $i <= $liste_rows; $i ++) {
    		$row = mysql_fetch_array ( $query, MYSQL_ASSOC );
    		
    		echo $row [kartennummer];
    	}
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Ich würde vermuten, dass die die Kartennummer kein int-Wert, sondern ein Char-Wert ist. Ansonsten sehe ich für das Verhalten keine Erklärung.
  4. wie er so eiskalt das POST direkt in die query reinhaut...

    und für das ASC hinter dem order by [spalte] sollte man auch nicht zu faul sein..

    ich denke mal, da die daten offensichtlich als varchar vorliegen, dass du die in int umwaldeln musst ODER du schreibst die werte mit 2 vorangestellten nullen rein... ist aber eine eklige lösung.

    anders könntest du über PHP nachsortieren, was aber alles andere als performant ist
  5. Autor dieses Themas

    php-oop

    php-oop hat kostenlosen Webspace.

    notinthetext schrieb:
    Ich würde vermuten, dass die die Kartennummer kein int-Wert, sondern ein Char-Wert ist. Ansonsten sehe ich für das Verhalten keine Erklärung.


    Ja, stimmt

    ich hatte die Kartennummer als varchar Wert in der Datenbank, hab es in int geändert.

    Jetzt funktioniert es. Danke!
  6. Aber trotzdem sollte man noch mal auf das POST[n] zurückkommen, denke ich.

    php-oop, du solltest dich mal über real_escape_string und andere Sicherheitsmaßnahmen im Umfeld der PHP-SQL-Schnittstellen schlau machen. Dazu findest du hier im Forum sehr viele Beiträge. Die Sicherheit wird immer gerne als zweitrangig eingestuft, aber ich glaube es ist nicht schön, wenn man einmal seine Website checken möchte und plötzlich die gesamte Datenbank leer ist oder kopiert wurde. Das ist unschön und auch deinen Usern gegenüber (wenn du welche hast/haben wirst) fair.

    Viel Erfolg!

    Beitrag zuletzt geändert: 21.9.2012 21:56:50 von s1m13
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!