MySQL Werte ausgeben

This site uses cookies. By continuing to browse this site, you are agreeing to our Cookie Policy.

  • 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":

    Source Code

    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. ?>
    Display All


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