Abfrage begrenzen, Seitenzahlen hinzufügen

fixxxxxi

Erfahrenes Mitglied
Hallo, ich möchte unten an die SQL Abfrage Seitenzahlen hinzufügen, so das eine Abfrage auf eine bestimmte Menge begrenzt wird. Also wenn es zb insgesammt 100 Datensätze gibt, auf 10 pro Seite begrenzen, so das 10 Seiten angezeigt werden.

Ums kurz zu machen, so in etwa soll es unten aussehen: < 1 2 3 4 5 6 7 8 9 10 11 ... >

Meine PHP, wo im Moment 34 Datensätze angezeigt werden sieht wie folgt aus:

PHP:
<?php

echo '<table width="100%" cellspacing="2" cellpadding="1">';
    
$result=safe_query("SELECT * FROM ".PREFIX."cup_matches ORDER BY date DESC LIMIT 0, 34");

$match=safe_query("SELECT * FROM ".PREFIX."cup_matches WHERE cupID = '$cupID' and matchno = '$matchno'");
$cupID = $_GET['cupID'];
$matchno=$_GET['match'];

$dd=mysql_fetch_array($match);


$n=1;
  while($dd=mysql_fetch_array($result)){
 
  
 $date=date("d.m.Y, H:i", $dd[date]);
 $ergebnis = $dd['score1'].':'.$dd['score2']; {

 if($dd['score1']=='0')
	  $ergebnis='<a href="index.php?site=cup_matches&amp;match='.$dd[matchno].'&amp;cupID='.$dd[cupID].'"><span title="'.getclanname2($dd[clan1]).' hat leider verloren!" style="color: red;"><b>'.$dd['score1'].'</b></span><b>:</b><span title="'.getclanname2($dd[clan2]).' hat gewonnen!" style="color: green;"><b>'.$dd['score2'].'</b></span></a>';
 elseif($dd['score2']=='0')
	  $ergebnis='<a href="index.php?site=cup_matches&amp;match='.$dd[matchno].'&amp;cupID='.$dd[cupID].'"><span title="'.getclanname2($dd[clan1]).' hat gewonnen!" style="color: green;"><b>'.$dd['score1'].'</b></span><b>:</b><span title="'.getclanname2($dd[clan2]).' hat leider verloren!" style="color: red;"><b>'.$dd['score2'].'</b></span></a>';} 
 
		if($dd['confirmscore']=='0'){
		       						$ergebnis = '<a href="index.php?site=cup_matches&amp;match='.$dd[matchno].'&amp;cupID='.$dd[cupID].'"><font title="Match läuft gerade oder wird gleich gestartet!" color="green"><b>LIVE</b></font></a>';
						
		if (getclanname($dd[clan1]) =='Freilos')
		$ergebnis='<span title="'.getclanname2($dd[clan2]).' ist durch ein Freilos eine Runde weiter!"style="color: orange;"><b>FREILOS</b></span>';
    if (getclanname($dd[clan2]) =='Freilos')
		$ergebnis='<span title="'.getclanname2($dd[clan1]).' ist durch ein Freilos eine Runde weiter!"style="color: orange;"><b>FREILOS</b></span>';
						
		if($dd['einspruch']=='1')
						$ergebnis = '<a href="index.php?site=cup_matches&amp;match='.$dd[matchno].'&amp;cupID='.$dd[cupID].'"><font title="Der eingereichte Protest wird gerade bearbeitet!" color="red"><b>PROTEST</b></font><a/>';
		}else
  {
   if($dd[score1] && $dd[score2])
   	
  {    	  
	 if($dd['score1'] > $dd['score2'])
	  $ergebnis='<a href="index.php?site=cup_matches&amp;match='.$dd[matchno].'&amp;cupID='.$dd[cupID].'"><span title="'.getclanname2($dd[clan1]).' hat gewonnen!" style="color: green;"><b>'.$dd['score1'].'</b></span><b>:</b><span title="'.getclanname2($dd[clan2]).' hat leider verloren!"style="color: red;"><b>'.$dd['score2'].'</b></span></a>';
	 elseif($dd['score1'] < $dd['score2'])
	  $ergebnis='<a href="index.php?site=cup_matches&amp;match='.$dd[matchno].'&amp;cupID='.$dd[cupID].'"><span title="'.getclanname2($dd[clan1]).' hat leider verloren!" style="color: red;"><b>'.$dd['score1'].'</b></span><b>:</b><span title="'.getclanname2($dd[clan2]).' hat gewonnen!"style="color: green;"><b>'.$dd['score2'].'</b></span></a>';
	 elseif($dd['score1'] == $dd['score2'])
	  $ergebnis='<a href="index.php?site=cup_matches&amp;match='.$dd[matchno].'&amp;cupID='.$dd[cupID].'"><span style="color: orange;"><b>'.$dd['score1'].'</b></span><b>:</b><span style="color: orange;"><b>'.$dd['score2'].'</b></span></a>';
  }

	}
  echo '<tr> 
        <td>
        <tr>
				
        				<td align="right" width="10%"><a href="index.php?site=clans&action=show&clanID='.$dd[clan1].'"><img src="'.getclanlogo($dd[clan1]).'" width="50" border="0" height="50"></a></td>
								<td align="center" width="8%">vs.</td>
								<td align="left" width="20%"><a href="index.php?site=clans&action=show&clanID='.$dd[clan2].'"><img src="'.getclanlogo($dd[clan2]).'" width="50" border="0" height="50"></a></td>
							  <td ><font color="#808080">'.$date.' Uhr<br>Cuptyp: '.getcuptyp($dd[cupID]).'<br><br><b>'.getclanname($dd[clan1]).' vs. '.getclanname($dd[clan2]).'</b></font></td>
                <td align="right" width="10%"><b>'.$ergebnis.'</b></td>
        </tr> 
        </td>
        </tr>' ;
	    $n++;
  }
echo '</table>';
?>
 
Zuletzt bearbeitet:
Als erstes musst du die Anzahl deiner Datensätze abfragen. Dass kannst du so erledigen:
Code:
SELECT COUNT(*) FROM `datenbank_name`.`tabellen_name`
Danach kannst du ermitteln, wie viele Seiten angezeigt werden können:
PHP:
$result = mysql_query('SELECT COUNT(*) FROM `datenbank_name`.`tabellen_name`');
$num = mysql_fetch_array(MYSQL_NUM, $result);
$num = $num[0]; // Anzahl der Datensätze
$pages = floor($num / $eintraege); // $eintraege sind die Anzahl der Seiten, die pro Seite angezeigt werden sollen
Am Ende kannst du dann per LIMIT dir jeweils x Datensätze anzeigen lassen.

Für weitere Ansätze beachte bitte den Post von kuddeldaddeldu.
 
Zuletzt bearbeitet:
Zurück