Tabelle spaltenweise sortieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Tabelle spaltenweise sortieren

    Bin absolut neu auf diesem Gebiet, suche aber dringend den Einstieg. Ich möchte eine Tabelle nach den Spalten sortieren. Die jeweiligen Überschriften sollen Links sein und die Spalten darunter jeweils auf- oder absteigend sortiert werden. ich hab auch schon im Forum gesuch und auch einiges ausprobiert...komme aber nicht zum Ergebnis. Vielleicht kann mir hier ja jemand mal an meinem konkreten Problem weiterhelfen.

    Hier der Code:

    <html>

    <?php
    echo "<html><head><title>Adressausgabe</title></head>\n";
    echo "<BODY bgcolor='#000099'>\n";
    // Verbindung aufbauen, auswählen einer Datenbank
    $link = mysql_connect("localhost", "root", "2001bcn")
    or die("Keine Verbindung möglich!");
    mysql_select_db("training")
    or die("Auswahl der Datenbank fehlgeschlagen");


    // ausführen einer SQL Anfrage
    $query = "SELECT id_bewohner, vorname, nachname, zimmer_nr,
    telefon, mobil, icq, msn, aim, email, bild, ************
    FROM bewohner order by nachname";
    $result = mysql_query($query)
    or die("Anfrage fehlgeschlagen");



    // Ausgabe der Ergebnisse in HTML
    print "<h2><font color='white'>Verzeichnis der Bewohner";
    print "<p>";
    print "<table border='0' cellpadding='4' cellspacing='1' width='100%'>\n";

    print "\t<tr bgcolor='#0050A0'>\n";
    print "\t\t<td><font size=2<font size=2 color='white'><b>Nachname</b></font></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>Vorname</b></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>Zimmer Nr.</b></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>Telefon</b></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>Mobil</b></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>ICQ</b></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>MSN</b></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>AIM</b></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>E-Mail</b></font></td>\n";
    print "\t\t<td><font size=2 color='white'><b>Bild</b></font></td>\n";

    print "\t</tr>\n";

    // Zähler für Farbwechsel setzten
    $i=1;
    while(list($id_bewohner, $vorname, $nachname, $zimmer_nr,
    $telefon, $mobil, $icq, $msn, $aim, $email, $bild, $************)
    = mysql_fetch_row($result))
    {

    // "0" wird ersetzt durch "--"

    if ($telefon=="0"){$telefon = "--";}
    if ($mobil=="0"){$mobil = "--";}
    if ($icq=="0"){$icq = "--";}
    if ($msn=="0"){$msn = "--";}
    if ($aim=="0"){$aim = "--";}
    if ($email=="0"){$email = "--";}
    if ($bild=="0"){$bild = "--";}

    // Farbwechsel der Zeilen
    $i++;
    if ($i%2==0)
    {
    $color="white";
    }
    else
    {
    $color="#D9E5F1";
    }

    // hier beginnt zeilenweise die Tabelle

    print "\t<tr bgcolor=$color>\n";
    print "\t\t<td><font size=2>$nachname</font></td>\n";
    print "\t\t<td><font size=2>$vorname</font></td>\n";
    print "\t\t<td><font size=2>$zimmer_nr</font></td>\n";
    print "\t\t<td><font size=2>$telefon</font></td>\n";
    print "\t\t<td><font size=2>$mobil</font></td>\n";
    print "\t\t<td><font size=2>$icq</font></td>\n";
    print "\t\t<td><font size=2>$msn</font></td>\n";
    print "\t\t<td><font size=2>$aim</font></td>\n";
    print "\t\t<td><font size=2><a href='mailto:$email'>$email</a></font></td>\n";

    // Bild vorhanden?
    if ($bild == 0)
    {
    print "\t\t<td><font size=2>--</font></td>\n";
    }
    else
    {
    print "\t\t<td><img src='../images/$bild' width=50 height=50 border=0 alt='$vorname $nachname'></td>\n";
    }
    print "\t</tr>\n";

    }
    print "</table>\n";



    // Freigeben des Resultsets
    mysql_free_result($result);

    // schliessen der Verbinung
    mysql_close($link);
    echo "</BODY>\n";
    ?>
    </html>

    Ich hoffe jemand kann mir hier einen Anstoss geben, wie es weitergeht!

    Vielen Dank,
    Frank

  • #2
    übergebe im link doch einfach den spalten namen nach dem sortiert werden soll
    <a href="sort.php?sort=col">col</a>
    und in sort.php
    sql="SELECT spalten FROM tbl WHERE bedingung ORDER BY $sort";
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      ok, vielen Dank für die Antwort.
      Aber was ist denn die Bedingung und was $sort?

      Ich bin wirklich dabei, mich da einzufuchsen nur der Start ist so schwierig...

      Gruß
      Frank

      Kommentar

      Lädt...
      X