abfrage sortier aus komischen grund nicht ;(

thevibe

Grünschnabel
hi, ich bin mir eigentlich relativ sicher, das ich die sortier funktion richtig hab, trotzdem sortiert er nicht, also stell ich den code mal den profis zur verfügung...vielleicht wissen die ja, warum das nich geht:

PHP:
<?php
$_GET[Name];
$_GET[Vorname];
$_GET[Geburtsdatum];
$_GET[Familienstand];
$_GET[Beruf];
$_GET[Strasse];
$_GET[];
$_GET[Ort];
$_GET[Land];
$_GET[Mail];
$_GET[Telefonnummer];
$_GET[Handynummer];
$_GET[Lastlogin];

IF (($Name == "1")) {$order = "Name";}
IF (($Vorname == "1")) {$order = "Vorname";}
IF (($Geburtsdatum == "1")) {$order = "Geburtsdatum";}
IF (($Familienstand == "1")) {$order = "Familienstand";}
IF (($Beruf == "1")) {$order = "Beruf";}
IF (($Strasse == "1")) {$order = "Strasse";}
IF (($ == "1")) {$order = "";}
IF (($Ort == "1")) {$order = "Ort";}
IF (($Land == "1")) {$order = "Land";}
IF (($Mail == "1")) {$order = "Mail";}
IF (($Telefonnummer == "1")) {$order = "Telefonnummer";}
IF (($Handynummer == "1")) {$order = "Handynummer";}
IF (($Lastlogin == "1")) {$order = "Lastlogin";}


$sql = "SELECT
            Name,
            Vorname,
            Geburtsdatum,
            Familienstand,
            Beruf,
            Strasse,
            ,
            Ort
            Land,
            Mail,
            Telefonnummer,
            Handynummer,
            Lastlogin
        FROM
            adressen
        ORDER BY
            $order DESC;";

ich bedank michs chonmal artig im vorraus.


.: tHeViBe :.
"...wer nicht fragt bleibt dumm..."
 
sieht eigentlich gut aus...

Eigentlich sieht die Abfrage ja ganz gut aus...
Alles, was ich noch ändern würde ist, Name in adressen.Name umzubenennen, da hat's bei mir schon mal komische Sachen ergeben wenn ich nur "Name" benutzt habe.
Ansonsten müsste er eigentlich absteigend sortieren... An der Variable kann's ja wohl nicht liegen; um das Auszuschließen kannst Du ja mal eine Probe-Sortierung nach z.B. Beruf machen anstelle der Variable, um zu sehen, ob er überhaupt sortiert.

Gruß,
Numiel
 
schon probiert

danke erstma für die hilfe, aber ich hab ja eben schon probiert, nach beruf oder sonstwas sortieren zu lassen. und das problem ist ja, das er GARNICHT sortiert. nach nix ! :mad:
Und ich weiss echt nich warum.

der witz ist ja, ich hab eine andere version von dieser abfrage und die geht komischerweise. ich poste jetzt mal die FUNKTIONIERENDE Sortierung:

PHP:
<?php
$Name = $HTTP_POST_VARS["Name"];
$Vorname = $HTTP_POST_VARS["Vorname"];
$Geburtsdatum = $HTTP_POST_VARS["Geburtsdatum"];
$Familienstand = $HTTP_POST_VARS["Familienstand"];
$Beruf = $HTTP_POST_VARS["Beruf"];
$Strasse = $HTTP_POST_VARS["Strasse"];
$ = $HTTP_POST_VARS[""];  // nicht wundern. das ist hier eigentlich licht leer, sondern es schein die abkürzung für Postleitzahl "p.l.z." auf diesem board blacklisted zu sein. also bei mir stehts da. daran liegts nich!
$Ort = $HTTP_POST_VARS["Ort"];
$Land = $HTTP_POST_VARS["Land"];
$Mail = $HTTP_POST_VARS["Mail"];
$Telefonnummer = $HTTP_POST_VARS["Telefonnummer"];
$Handynummer = $HTTP_POST_VARS["Handynummer"];
$Lastlogin = $HTTP_POST_VARS["Lastlogin"];
$Pw = $HTTP_POST_VARS["Pw"];

$eintrag ="INSERT INTO adressen (Name, Vorname, Geburtsdatum, Familienstand, Beruf, Strasse, , Ort, Land, Mail, Telefonnummer, Handynummer, Lastlogin, Pw)
VALUES ('$Name', '$Vorname', '$Geburtsdatum', '$Familienstand','$Beruf','$Strasse','$','$Ort','$Land', '$Mail','$Telefonnummer','$Handynummer', '$Lastlogin','$Pw')";

$eintragen = mysql_query($eintrag);

$sql = "SELECT
            Name,
            Vorname,
            Geburtsdatum,
            Familienstand,
            Beruf,
            Strasse,
            , // nicht wundern. das ist hier eigentlich licht leer, sondern es schein die abkürzung für Postleitzahl "p.l.z." auf diesem board blacklisted zu sein. also bei mir stehts da. daran liegts nich!
            Ort,
            Land,
            Mail,
            Telefonnummer,
            Handynummer,
            Lastlogin
        FROM
            adressen
        ORDER BY
            Name ASC;";

$result = mysql_query($sql) OR die("Datenbank fehler");
echo "Adressen in der Datenbank:<br />\n";

if(mysql_num_rows($result)) { // gucken ob was im Query drinsteckt
    while($row = mysql_fetch_assoc($result)) {
        echo $row['Name']." > ".$row['Vorname']." > ".$row['Geburtsdatum']." > ".$row['Familienstand']." > ".$row['Beruf']." > ".$row['Strasse']." > ".$row['']." > ".$row['Ort']." > ".$row['Land']." > ".$row['Mail']." > ".$row['Telefonnummer']." > ".$row['Handynummer']." > ".$row['Lastlogin']."<br />\n";
    }    }
else {
    echo "Es sind keine Adressen in der Datenbank vorhanden<br />\n";    }
?>


so, und jetzt nochmal die, die NICHT FUNKTIONIERT. vielleicht gilft das ja euch den fehler zu finden. denn ich seh ihn beim besten willen nicht!
PHP:
<?php
$_GET[Name];
$_GET[Vorname];
$_GET[Geburtsdatum];
$_GET[Familienstand];
$_GET[Beruf];
$_GET[Strasse];
$_GET[]; // nicht wundern. das ist hier eigentlich licht leer, sondern es schein die abkürzung für Postleitzahl "p.l.z." auf diesem board blacklisted zu sein. also bei mir stehts da. daran liegts nich!
$_GET[Ort];
$_GET[Land];
$_GET[Mail];
$_GET[Telefonnummer];
$_GET[Handynummer];
$_GET[Lastlogin];

IF (($Name == "1")) {$order = "Name";}
IF (($Vorname == "1")) {$order = "Vorname";}
IF (($Geburtsdatum == "1")) {$order = "Geburtsdatum";}
IF (($Familienstand == "1")) {$order = "Familienstand";}
IF (($Beruf == "1")) {$order = "Beruf";}
IF (($Strasse == "1")) {$order = "Strasse";}
IF (($ == "1")) {$order = "";} // nicht wundern. das ist hier eigentlich licht leer, sondern es schein die abkürzung für Postleitzahl "p.l.z." auf diesem board blacklisted zu sein. also bei mir stehts da. daran liegts nich!
IF (($Ort == "1")) {$order = "Ort";}
IF (($Land == "1")) {$order = "Land";}
IF (($Mail == "1")) {$order = "Mail";}
IF (($Telefonnummer == "1")) {$order = "Telefonnummer";}
IF (($Handynummer == "1")) {$order = "Handynummer";}
IF (($Lastlogin == "1")) {$order = "Lastlogin";}


$sql = "SELECT
            Name,
            Vorname,
            Geburtsdatum,
            Familienstand,
            Beruf,
            Strasse,
            , // nicht wundern. das ist hier eigentlich licht leer, sondern es schein die abkürzung für Postleitzahl "p.l.z." auf diesem board blacklisted zu sein. also bei mir stehts da. daran liegts nich!
            Ort,
            Land,
            Mail,
            Telefonnummer,
            Handynummer,
            Lastlogin
        FROM
            adressen
        ORDER BY
            $order DESC;";

$result = mysql_query("select * from adressen");
    echo "<table border=1 cellpadding=5 cellspacing=0 style=border-collapse: collapse bordercolor=#111111 width=100%>";
    echo "<tr>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Name=1>NAME</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Vorname=1>VORNAME</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Geburtsdatum=1>GEBURTSTAG</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Familienstand=1>FAMILIENSTAND</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Beruf=1>BERUF</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Strasse=1>STRASSE</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?=1></font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Ort=1>ORT</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Land=1>LAND</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Mail=1>MAIL</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Telefonnummer=1>TEL.NR.:</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Handynummer=1>HANDY NR.:</font></b></td>";
    echo "<td align=center><b><font face=Verdana size=2><a href=ausgabe.php?Lastlogin=1>LAST LOGIN</font></b></td>";
    echo "</tr>";

        while ($zeile = mysql_fetch_array($result)) {
        echo "<tr><td>$zeile[0]</td>";
        echo "<td>$zeile[1]</td>";
        echo "<td>$zeile[2]</td>";
        echo "<td>$zeile[3]</td>";
        echo "<td>$zeile[4]</td>";
        echo "<td>$zeile[5]</td>";
        echo "<td>$zeile[6]</td>";
        echo "<td>$zeile[7]</td>";
        echo "<td>$zeile[8]</td>";
        echo "<td>$zeile[9]</td>";
        echo "<td>$zeile[10]</td>";
        echo "<td>$zeile[11]</td>";
        echo "<td>$zeile[12]</td></tr>";
    }



ich bedank mich dann nochma im vorraus.


.: tHeViBe :.
"...wer nicht fragt bleibt dumm..."
 
Zuletzt bearbeitet:
Order

Hi,

Hast Du Dir schon mal den sql-String ausgeben lassen, der von Deinem Prog zusammengebaut wird und ihn an der Datenbank getestet?
 
hmm

was meinst du denn genau?

also ich hab das jetzt so:
PHP:
echo "$sql";
augeben lassen und erhalten dann auf dem Bildschirm folgendes:
SELECT Name, Vorname, Geburtsdatum, Familienstand, Beruf, Strasse, , Ort, Land, Mail, Telefonnummer, Handynummer, Lastlogin FROM adressen ORDER BY DESC;


oder meinst du was anderes?


ich bedank mich dann nochma im vorraus.


.: tHeViBe :.
"...wer nicht fragt bleibt dumm..."
 
Hi

wie werden denn die Variablen übergeben, per Formularparameter (post)? In dem Fall kann Get nicht funktionieren.

Ist nur so ein Gedanke.
 

Neue Beiträge

Zurück