kostenloser Webspace werbefrei: lima-city


Ordnen geht nicht

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    hts

    hts hat kostenlosen Webspace.

    Der Code bei der Ordnung, die nicht funktioniert:

    elseif ( $_GET['order'] == 'alter' )
    {
    $ergebnis = 'SELECT * FROM user '.$bedingung.' ORDER BY alter ASC';
    }


    Bei dem folgenden Code funktioniert alles:

    elseif ( $_GET['order'] == 'nick' )
    {
    $ergebnis = 'SELECT * FROM user '.$bedingung.' ORDER BY nick';
    }


    Fehlermeldung beim ersten Code:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in URL on line 121


    Es ist aber sicher, dass es in "user" eine Tabelle mit dem Namen "alter" gibt >__<
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. so ich kopier hier mal meinen ganzen code rein ;D
    such dir das raus was du brauchst
    achtung es k?nnte sein, dass bruchst?cke oder funktionen fehlen, dann bitte posten hab kein bock alles zu ?berpr?fen ;)

    also hier nen ganzes ordnen ding :)


    // Spalten in Tabelle auslesen
    function rows($tabelle) {
    if($tabelle=='showlist') {
    $tabelle = "user";
    }
    $query = mysql_query("SELECT * FROM `$tabelle`");
    $rows = mysql_num_rows($query);
    return $rows;
    }

    // Seiten Auswahl
    function seiten_auswahl($seite, $seiten_link, $seiten, $eintraege_link) {
    $prev_seite = $seite-1;
    $next_seite = $seite+1;

    $seiten_auswahl = '<br \><hr \>';
    echo '<table>';
    echo '<tr><td>';

    if($prev_seite > '0') {
    echo '<a href="'.$seiten_link.'&seite='.$prev_seite.'">vorherige Seite</a>';
    }

    echo '</td><td>';

    if($next_seite <= $seiten) {
    echo '<a href="'.$seiten_link.'&seite='.$next_seite.'">n?chste Seite</a>';
    }

    echo '</td></tr>';
    echo '<tr><td>';

    // Seiten auswahl Men?
    echo '<form name="seiten" action="#"><input type="hidden" name="sid" value="" /><input type="hidden" name="sid" value="" />';
    echo 'Seite :<br \>';
    echo '<select name="url" OnChange="top.location.href=document.seiten.url.value;">';
    echo '<option value="#">[Bitte W?hlen]</option>';

    for ($i = 1; $i <= $seiten; $i++) {
    echo '<option value="'.$seiten_link.'&seite='.$i.'">'.$i.'</option>';
    }

    echo '</select>';
    echo '</form>';
    echo '</td><td>';

    // Eintr?ge auswahl Men?
    echo '<form name="eintraege" action="#"><input type="hidden" name="sid" value="" /><input type="hidden" name="sid" value="" />';
    echo 'Eintr?ge pro Seite :<br \>';
    echo '<select name="url" OnChange="top.location.href=document.eintraege.url.value;">';
    echo '<option value="#">[Bitte W?hlen]</option>';

    for ($i = 10; $i <= 100;) {
    echo '<option value="'.$eintraege_link.'&eintraege='.$i.'">'.$i.'</option>';
    $i = $i+10;
    }

    echo '</select>';
    echo '</form>';
    echo '</td></tr>';
    echo '</table>';
    return $seiten_auswahl;
    }

    /* GET Variablen ?ndern */
    // zum ordnen
    if(isset($_GET["seite"] )) { $seite = htmlspecialchars($_GET["seite"] ); } else { $seite = "1"; }
    if(isset($_GET["eintraege"] )) { $eintraege = htmlspecialchars($_GET["eintraege"] ); } else { $eintraege = "10"; }
    if(isset($_GET["order"] )) { $order = htmlspecialchars($_GET["order"] ); } else { $order = "views"; }
    if(isset($_GET["sc"] )) { $sc = htmlspecialchars($_GET["sc"] ); } else { $sc = "DESC"; }

    // Gesamt Anzahl der Eintr?ge auslesen
    if($action=='bugs_topics' || $action=='bugs_posts' || $action=='showlist') {
    $eintraege_gesamt = rows($action);
    }


    // Seite
    if($seite < '0' && $seite > $eintraege_gesamt) {
    $seite = "1";
    }

    // Eintr?ge pro Seite
    if($eintraege < '9' && $eintraege > '100') {
    $eintraege = "10";
    }

    // abw?rst oder aufw?rts
    switch($sc) {
    case DESC:
    $sc = 'DESC';
    $sc2 = 'ASC';
    break;

    case ASC:
    $sc = 'ASC';
    $sc2 = 'DESC';
    break;

    default:
    $sc = 'DESC';
    $sc2 = 'ASC';
    break;
    }


    switch($order) {
    case id:
    $order = "id";
    break;

    case views:
    $order = "views";
    break;

    case nick:
    $order = "nick";
    break;

    case datum:
    $order = "datum";
    break;

    default:
    $order = "views";
    break;
    }




    // LIMIT definieren
    $start = $eintraege*$seite-$eintraege;
    $seiten = ceil($eintraege_gesamt/$eintraege);


    // Links setzten
    $link = '?action=showlist&seite='.$seite.'&eintraege='.$eintraege.'&sc='.$sc2.'';
    $seite_link = '?action=showlist&eintraege='.$eintraege.'&sc='.$sc.'&order='.$order.'';
    $seiten_link = '?action=showlist&eintraege='.$eintraege.'&sc='.$sc.'&order='.$order.'';
    $eintraege_link = '?action=showlist&seite='.$seite.'&sc='.$sc.'&order='.$order.'';
    $suche_link = '?action=showlist&seite='.$seite.'&eintraege='.$eintraege.'&sc='.$sc.'&order='.$order.'';

    // Ausgeben
    echo '<table border="1" width="70%">';
    echo '<tr><td><a href="'.$link.'&order=id">#ID</a></td><td><a href="'.$link.'&order=nick>User</a></td><td><a href="'.$link.'&order=views">Handys</a></td><td><a href="'.$link.'&order=datum">Anmeldedatum</a></td></tr>';

    $result = mysql_query("SELECT * FROM `user` ORDER BY `$order` $sc LIMIT $start, $eintraege");
    while($row = mysql_fetch_assoc($result)) {
    echo '<tr><td>'.$row[id].'</td><td><a href="?action=user&id='.$row[id].'">'.$row[nick].'</a></td><td>'.$row[views].'</td><td>'.$row[datum]).'</td></tr>';
    }
    echo '</table>';

    // Seitenazswahl
    echo seiten_auswahl($seite, $seiten_link, $seiten, $eintraege_link);





    so ich hoffe ich konnte dir ein wenig arbeit ersparen :D
    das ganze l?uft unter http://www.handyklau.de.gg/?action=showlist
    ;)
  4. Autor dieses Themas

    hts

    hts hat kostenlosen Webspace.

    Erm, naja. EIgentlich nicht, denn ich wei? ja, wie man sortiert. Nur funktioniert es ja (mir noch immer nicht klar warum) bei dieser einen M?glichkeit nicht -.-
  5. oh h?t ich fast vergessen :biggrin:
    so muss es heissen :

    elseif ( $_GET['order'] == 'alter' )
    {
    $ergebnis = 'SELECT * FROM user '.$bedingung.' ASC ORDER BY alter';
    }

  6. Hallo hts!

    mysql_query() hat keinen g?ltigen "SQL-Result" zur?ckgegeben. Bevor du eine solche Variable an mysql_fetch_array() ?bergibst, solltest du sicher stellen, dass sie g?ltig ist:

    $result = mysql_query(...);
    if(!$result === FALSE) {
    // hier Fehlermeldung ausgeben
    // oder mysql_error() anzeigen lassen
    die();
    }

    $blubb = my_sql_fetch_array($result);

    MfG
    alopex
  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!