kostenloser Webspace werbefrei: lima-city


Problem Beim sortieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    t********r

    Die Daten die sortiert werden sollen kommen aus einer Tabelle aus phpMyAdmin obwohl dies eigendlich uninteresant ist.

    Das Problem ist das er $_POST['sort'] irgendwie nicht erkennt, $_POST['sort'] gibt zwar ASC bzw. DESC aus aber er sortiert es trotzdem nicht ($_POST['auswahl'] funktioniert, er sortiert zwar aber eben nur in eine Richtung)

    ...
    ORDER BY
     '".$_POST['auswahl']."' '".$_POST['sort']."';";


    Ach und wenn wir schon dabei sind, wie bekomm ich das denn hin das er Zahlen richtig sortiert also:
    Zur Zeit sortiert er so:1, 11, 198, 2, 22, 5
    und er soll so: 1, 2, 5, 11, 22, 198

    Beitrag ge?ndert am 29.04.2006 17:19 von thefighter
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Versuch es so: ORDER BY ... DESC
  4. Autor dieses Themas

    t********r

    Das will ich ja nicht, ich will das er so sortiert je nachdem ob DESC oder ASC in $_POST['sort'] steht.
  5. Du kannst nur Tabellen Zeilen sortieren
    so:
    ORDER BY `tabellezzeile`
  6. Autor dieses Themas

    t********r

    Ich glaub du verstehst meine Frage nicht, kann aber auch sein das ich mich etwas schlecht ausgedr?ckt habe, also nochmal:

    Beispiel:
    ORDER BY
    spalte ASC/DESC

    Das ist mir vollkommen klar.
    Ich will jetzt aber das man z.B. bei einer Mitgliederliste die Spalten aufw?rts und abw?rts sortieren kann also mache ich dies mit einem Formular, mit der post methode. $_POST['auswahl'] ist die Spalten definition und $_POST['sort'] ergibt ASC bzw. DESC.

    $_POST['auswahl'] und $_POST['sort'] geben die richtigen Werte aus, also kann da das Problem nicht liegen.
    Was genau falsch ist weis ich leider nicht ich vermute mal das ich da mal wieder irgendwelche Zeichen falsch gesetzt habe, bekomme das Problem aber leider selbst nicht gel?st.
    Also so sieht es aus:

    ORDER BY
    '".$_POST['auswahl']."' '".$_POST['sort']."'

    Er erkennt jetzt praktisch '".$_POST['sort']."' nicht.

    Hoffe man versteht es jetzt besser.
    mfg Fighter

    Beitrag ge?ndert am 29.04.2006 18:14 von thefighter

  7. Ich glaub du verstehst meine Frage nicht, kann aber auch sein das ich mich etwas schlecht ausgedr?ckt habe, also nochmal:

    Beispiel:
    ORDER BY
    spalte ASC/DESC

    Das ist mir vollkommen klar.
    Ich will jetzt aber das man z.B. bei einer Mitgliederliste die Spalten aufw?rts und abw?rts sortieren kann also mache ich dies mit einem Formular, mit der post methode. $_POST['auswahl'] ist die Spalten definition und $_POST['sort'] ergibt ASC bzw. DESC.

    $_POST['auswahl'] und $_POST['sort'] geben die richtigen Werte aus, also kann da das Problem nicht liegen.
    Was genau falsch ist weis ich leider nicht ich vermute mal das ich da mal wieder irgendwelche Zeichen falsch gesetzt habe, bekomme das Problem aber leider selbst nicht gel?st.
    Also so sieht es aus:

    ORDER BY
    '".$_POST['auswahl']."' '".$_POST['sort']."'

    Er erkennt jetzt praktisch '".$_POST['sort']."' nicht.

    Hoffe man versteht es jetzt besser.
    mfg Fighter

    Beitrag ge?ndert am 29.04.2006 18:14 von thefighter


    Hast du dir den SQL-Befehl schon mal ausgeben lassen?
    Das ist immer das erste was man machen sollte wenn die Abfrage nicht funktioniert!
    Also poste ihn bitte mal!
    Danke.
  8. Ich habe eine Bessere Idee wenn ich die Frage nicht richtig verstanden habe, nehme ich meine Antwort zuruck.

    So mach doch einfach Links:
    <a href>Sortieren bei Desc</a>
    <a href>Sortieren bei Asc</a>

    Dann schreibst du f?r jede Sortitation eine Seite
    einmal f?r DESC
    Und einmal f?r
    ASC
  9. Autor dieses Themas

    t********r

    @pointi
    Was meinst du mit SQL Befehl ausgeben lassen?

    @gollum1990
    W?re nat?rlich eine m?glichkeit, die ich wohl auch, wenn auch nicht so :wink: nehmen werde, wenn das andere garnicht geht. Aber erstmal m?chte ich jetzt wissen warum mein jetziger weg nicht funktioniert.

    Beitrag ge?ndert am 29.04.2006 18:56 von thefighter
  10. probiers so:

    ORDER BY
    
     `".$_POST['auswahl']."` ".$_POST['sort'].";";


    der Fehler lag daran dass du Anf?hrungszeichen bei $_POST['sort'] hattest, da geh?ren aber laut normaler sql-Syntax keine hin ;)
  11. Autor dieses Themas

    t********r

    Jo da lag der Fehler, vielen dank :biggrin:

    Jetzt hab ich da noch das Problem mit den Zahlen sortieren,
    Zur Zeit sortiert er so:1, 11, 198, 2, 22, 5
    und er soll so: 1, 2, 5, 11, 22, 198

    w?re nett wenn mir da auch noch jemand weiter helfen k?nnte.

    mfg Fighter
  12. s*n

    Hi,

    was hat die Spalte denn f?r einen Typ? Ich vermute mal du hast VARCHAR genommen. Wenn du den Typ INT nimmst m?sste MySQL deine Zahlen auch in der Reihenfolge zur?ckgeben.

    MfG

    Beitrag ge?ndert am 29.04.2006 19:47 von svn
  13. Autor dieses Themas

    t********r

    ups jo stimmte danke :biggrin:
  14. 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!