Button für nächsten Datensatz

michu

Grünschnabel
hallo

Ich muss für die Schule eine Webseite bauen.
Ich habe eine Datenbank Abfrage welche mir die gewünschten Datensätze anzeigt.
nun möchte ich jeweils nur ein Datensatz anzeigen.
Dafür brauche ich zwei Buttons "Vorwärts, Rückwärts".

Wie kann ich die Buttons einbinden und den Klick abfragen

Ihr findet ihr mein bereits erstellten Code ohne Blättern.

Ich bin wirklich ein Anfänger und bin froh wenn ihr ihre Antwort so genau wie möglich schreibt.
Danke für eure Unterstützung
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
  <head>
    <title>New Document</title>
    <meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
  </head>
  <body>
    <br />
    <div id="sidebar"> <li class="active"><a href="?pid=5">Unlogisch</a></li> 
    
			    <li><a href="?pid=6">Klassiker</a></li>
			    <li><a href="?pid=9">Gegen Schwule</a></li>
          <li><a href="?pid=10">Gegen Frauen</a></li>
          <li><a href="?pid=11">Eklig</a></li>
          <li><a href="?pid=12">Perwers</a></li>
          <li><a href="?pid=13">Schulwitze</a></li>
          <li><a href="?pid=14">Böse</a></li>
          <li><a href="?pid=15">Tierwitze</a></li>
          <li><a href="?pid=16">Politischewitze</a></li>
          <li><a href="?pid=17">Priesterwitze</a></li>
          <li><a href="?pid=18">gegen schoten</a></li>
          <li><a href="?pid=19">gegen leprakranke</a></li>
          <li><a href="?pid=20">Albanerwitze</a></li>
         
			    
		
     </div>
    
 
</form>
    <br />
    <h1>Boese</h1><br />
    <?php
  mysql_connect("localhost","root","")
        or die ("MySQL Connect: ".mysql_error());
  mysql_select_db("witze")
        or die ("MySQL Connect: ".mysql_error());
  
 $sql=mysql_query("SELECT witz.witz_name FROM witz,thema,witz_thema
 WHERE (thema.thema_id = 8 AND witz_thema.id_witz =witz.witz_id AND witz_thema.id_thema =thema.thema_id) ")
      or die ("MySQL Query 1: ".mysql_error()); 
  $sql_num=mysql_num_rows($sql);
  
  
 
   
  ?>
 <br />
  <?php 
   for ($i=0 ;$i<$sql_num;$i++){
      $datensatz= mysql_fetch_array($sql);
 
    echo $datensatz['witz_name'];
   
  }
  
  ?>   
  </body>
</html>
 
Hi.

ich denke mal, dass du je Satz eine ID hast.
Da kannst du eine Leiste erstellen (z.B. als <a href=...), mit der man navigieren kann.
Dort gibt du als Parameter die ID des jeweiliges Satzes mit.
Das sollte doch gehen, oder?
 
Wenn du es über Buttons machen willst, nimm JavaScript:

PHP:
<input type="button" value="Vorwärts" onClick="location.href = '?id=NÄCHSTE_ID'" />

Nach id= musst du dann nur noch durch die ID des nächsten Datensatzes einfügen, diese auf der nächsten Seite mit $_GET ermitteln und den entsprechenden Datensatz auslesen.

PS: Bitte Code das nächste mal zwischen Code-Tags!
 
Selbst wenn es eine ID gibt, warum sollen alle Datensätze ausgelesen werden nur um einen davon anzuzeigen und vom nächsten die ID zu ermitteln.

PHP:
$sql = "SELECT witz.witz_name FROM witz,thema,witz_thema WHERE
       (thema.thema_id = 8 AND witz_thema.id_witz =witz.witz_id
       AND witz_thema.id_thema =thema.thema_id) LIMIT " .$von .", 1";
mysql_query($sql);

Jetzt musst du nur beim Vorwärts-/Rückwärtsbutton den entsprechenden Wert mitgeben und diesen an die Variable $von übergeben. Dann wird immer genau 1 Datensatz aus der Datenbank ausgelesen.
Damit es so funktioniert muss natürlich sichergestellt sein das nur gültige Werte verwendet werden.

Gruß Thomas

P.S. Wenn das da oben wirklich dein Quelltext ist, solltest du ihn dringend nochmal prüfen. Da sind im HTML schon ein paar Fehler drin.
 
Zurück