tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
8
ZUGRIFFE
730
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    as333 as333 ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Beiträge
    139
    Hi,

    ich habe folgendes Problem.
    Habe eine Tabelle in der alle User eingetragen sind.
    Diese würde ich gerne sortieren lassen.
    Und anschließend durch den userstatus (der userstatus ist entweder 1 oder 0) zuerst die User einloggen lassen die eine 1 haben und erst danach die User mit einer 0.

    Wenn ich mir wie folgt die User ausgeben lassen möchte, erscheint immer nur ein User.
    In der Tabelle sind aber 30 User drin.


    PHP-Code:
    $reihenfolge=mysql_query("SELECT * FROM users ORDER BY userstatus DESC, uhrzeit ASC LIMIT 1")
    or die(
    mysql_error());

    while(
    $row mysql_fetch_array($reihenfolge))
    {
            
    // Print out the contents of each row into a table
            
    echo $row['userstatus'];
            echo 
    "<br>";
            echo 
    $row['uhrzeit'];
            echo 
    "<br>";

    Und mit der Reihenfolge zum Einloggen habe ich mir es wie folgt überlegt:

    PHP-Code:
    if ($row['userstatus']=="1")
    {
    header("Location: Login.php"); 
    }
    else
    {
    header("Location: Login1.php");

    Nur leider funktioniert das nicht.

    Könnt ihr mir bitte helfen wie ich das am besten machen kann.
    Geändert von as333 (14.08.09 um 19:39 Uhr)
     

  2. #2
    Avatar von einfach nur crack
    einfach nur crack einfach nur crack ist offline mag Cookies & Kekse
    tutorials.de Premium-User
    Registriert seit
    May 2007
    Ort
    Dresden (Sachsen)
    Beiträge
    1.961
    Ist doch klar, dass da bloß ein Nutzer aus der Datenbank kommt, wenn du in deiner Anfrage ein LIMIT 1 drin stehen hast. Das muss weg.
     
    Ich mag:
    • positive Bewertungen meiner Beiträge
    • ein Danke für meine hilfreichen Beiträge

    Dabei kann ich dir helfen: PHP --- Javascript --- Ruby --- Coffeescript --- CSS --- HTML --- Webtechnologien --- Shell --- UNIX

    ... noch was: falls du mit dem Thema hier fertig bist, dann kannst du es auch als erledigt markieren.

  3. #3
    as333 as333 ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Beiträge
    139
    Oh man, na klar.
    Das übersehe ich jedes Mal.

    Es wird trotzdem irgendwie nicht unterschieden ob der User eine 1 oder 0 hat.

    Wie mache ich das am besten?

    PHP-Code:
    if ($row['userstatus']=="1")
    {
    header("Location: Login.php"); 
    }
    else
    {
    header("Location: Login1.php"); 

    Geändert von as333 (14.08.09 um 19:39 Uhr)
     

  4. #4
    Registriert seit
    Mar 2004
    Beiträge
    1.856
    Blog-Einträge
    2
    Dein Header macht aber auch nichts. Der schreit "Baum!" in den Wald hinein. Besser wäre wenn er schreit: "Baum fällen!"

    PHP-Code:
    header("Location: foo.php"); 
     
    Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
    und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!


    MfG, Zod

    __________________
    rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)

  5. #5
    as333 as333 ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Beiträge
    139
    Hi ZodiacXP,

    beim Header hab ich mich vertippt.
    da steht schon
    header("Location: Login.php")

    Nur trotzdem geht es nicht.
    Habs mal hier jetzt verbessert.

    PHP-Code:
    if ($row['userstatus']=="1")
    {
    header("Location: Login.php");
    }
    else
    {
    header("Location: Login1.php");

     

  6. #6
    wod2008 wod2008 ist offline Mitglied Gold
    Registriert seit
    Nov 2007
    Beiträge
    140
    Wird das den auch in der While-Schleife ausgeführt oder erst danach?
     

  7. #7
    as333 as333 ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Beiträge
    139
    Das wird erst danach ausgeführt.
     

  8. #8
    wod2008 wod2008 ist offline Mitglied Gold
    Registriert seit
    Nov 2007
    Beiträge
    140
    Und da wird der Fehler liegen da das Array $row nur solange existiert wie die Schleife läuft.
    Nur das Skript ergibt eigentlich keinen Sinn, was soll den genau gemacht werden?
     

  9. #9
    as333 as333 ist offline Mitglied Gold
    Registriert seit
    Jul 2009
    Beiträge
    139
    Ich möchte das zuerst einmal alle Benutzer aufgelistet werden sollen die sich in der Tabelle users befinden.
    Anschließend sollen sich zuerst nacheinander die Users mit der 1 einloggen können und wenn dies geschieht ist sollen sich die Users mit der 0 einloggen können.

    Gibt es denn vielleicht eine Möglichkeit, dass das Array länger existiert?
     

Ähnliche Themen

  1. Order by in Mysql
    Von Rene42 im Forum Relationale Datenbanksysteme
    Antworten: 3
    Letzter Beitrag: 24.02.09, 15:53
  2. MySQL: ORDER BY
    Von Acer82 im Forum Relationale Datenbanksysteme
    Antworten: 4
    Letzter Beitrag: 13.02.08, 11:19
  3. Antworten: 4
    Letzter Beitrag: 10.11.04, 16:45
  4. [MySQL] Komplexes ORDER BY Problem
    Von Tim C. im Forum Relationale Datenbanksysteme
    Antworten: 7
    Letzter Beitrag: 29.09.03, 15:22
  5. MYSQL: order+where
    Von Servus2000 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 26.12.02, 10:19

Stichworte