MySQL Werte ausgeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • MySQL Werte ausgeben

    Ich versuche momentan aus meiner Tabelle chipsatz aus dem Feld nb 2 Einträge vor und 2 Einträge nach dem aktuell ausgegeben Wert auszugeben, und zwar nicht nach id sondern in der alphabetischen Reiehnfolge.

    Beispiel:
    Tabellename: chipsatz
    Feldname: nb
    nb ist mit folgenden Werten gefüllt:
    ID nb
    1 Haus
    2 Tisch
    3 Wand
    4 Sand
    5 TV
    6 Zeitung

    Ich habe mir mit einer while Schleife mit "Where id=$id" den Wert "Sand" mit der ID 4 ausgeben lassen. Jetzt möchte ich aber, dass die 2 Werte vor "id 4" und 2 Werte nach "id 4" mit ausgegeben werden. Wäre ja einfach jedoch soll die Ausgabe nicht nach Sortierung von ID geschehen, wie ich es bisher gemacht habe, sondern alphabetisch nach "nb".
    Die Ausgabe nach "id" wäre: Tisch, Wand, Sand, TV, Zeitung.
    Die Ausgabe soll aber nach "nb" sein: Haus, Tisch, Sand, Wand, Zeitung.

    Hier mein momentane Methode nach "id":

    Quellcode

    1. <?php if (isset($_GET['id'])) {
    2. echo "Ausgabe:&nbsp;&nbsp;";
    3. $idd = $_GET['id']-2;
    4. for ($i = $idd; $i <= $idd+4; $i++) {
    5. $abfrage2 = "SELECT * FROM chipsatz WHERE id='$i'";
    6. $ergebnis2 = mysql_query($abfrage2);
    7. while($row = mysql_fetch_object($ergebnis2)) {
    8. $iddd = $row->id;
    9. $chipp = $row->chipsatz;
    10. $chipp = explode("<br>", $chipp);
    11. $chipp = explode(" (", $chipp[0]);
    12. }
    13. if ($_GET['id'] == $iddd) {
    14. echo "<b>".$chipp[0]."</b>&nbsp;&nbsp;&nbsp;\n";
    15. } else {
    16. if ($chipp[0] != "") {echo "<a href=\"http://www.xy.de/chipsatz.php?id=$iddd\">".$chipp[0]."</a>&nbsp;&nbsp;&nbsp;\n";}
    17. }
    18. }
    19. }
    20. ?>
    Alles anzeigen


    Ich weiß ist kompliziert und dazu kommt noch meine schlechte Erklärungskunzt. Ich wäre aber für jeden Versuch eurerseits dankbar.