Blätterfuktion in Script?

Mew

Erfahrenes Mitglied
Hallo, ich habe mir schon viele TUts angesehen, ich würde gerne eine blätterfunktion haben für folenden script:

PHP:
<?php 

   require("inc/config.php");  
   
   $res = mysql_db_query("usr_web477_1", "select * from news");  
   $num = mysql_num_rows($res);  
     
if (isset($_GET['action']) && $_GET['action'] == 'delete')      
     
   {   
     
   $sql = "DELETE FROM news WHERE ID = '".$_GET['id']."'";   
       $result = mysql_query($sql);  

   if($result != 0) {  
      echo "Der Datensatz wird gelöscht...<p>";
print "<meta http-equiv=\"refresh\" content=\"0; URL=intern.php\">\n"; }  
   else {  
      echo "Der Datensatz wurde nicht gelöscht!<p>"; 
print "<meta http-equiv=\"refresh\" content=\"0; URL=intern.php\">\n";

}
}  
 
 
   for ($i=0; $i<$num; $i++) 
   { 
      $id = mysql_result($res, $i, "ID"); 
      $ti = parse(mysql_result($res, $i, "Titel")); 
      $in = parse(mysql_result($res, $i, "Inhalt")); 
      $da = datum(mysql_result($res, $i, "Datum")); 
      $au = parse(mysql_result($res, $i, "Autor")); 
        
	
    echo "<table id=\"news\" cellpadding=\"0\" cellspacing=\"0\"> 
          <tr> 
            <td id=\"titel\">".$ti."</td> 
          </tr> 
        <tr> 
      <td id=\"new\">".$in."</td> 
    </tr> 
    <tr> 
      <td id=\"footer\">Nr. ".$id." | ".$da." Uhr | Autor: <u>".$au."</u> 
      </td> 
    </tr> 
  </table><br />"; 
   
   } 

   mysql_close($db); 
?>

Man sollte nach jeder 8 Neuigkeit eine neue Seite bekommen...
Kann das einer von euch? ICh kriege es einfach nicht zum laufen...

Vielen Dank ^^ MFG Mew
 
Zuerst mußt du mal dafür den Sql befehl anpassen:

aus:
PHP:
usr_web477_1", "select * from news"
Wird
PHP:
usr_web477_1", "select * from news Limit ".$b,$s;

Nun brauchste nur noch die Variablen $b und $s mit werten belegen und diese per Get oder Post zu jeder neuen Seite mitschicken und dann erhöhen oder abziehen.

$b für beginn ist bei sql der Datensatz nummer 0
$s für anzahl der Datensätze 8 gibt dir die ersten folgenden 8 Datensätze aus


Mfg Splasch
 
Welcher punkt ist dir dabei Unklar?

1 Seite nach vor $b+7 und s$ bleibt immer gleich
1 Seite zurück $b-7
Unsw.

Mfg Splasch
 
Hier ein Beispiel; die zu ladende Seite wird per GET übergeben, der Index lautet page.
PHP:
mysql_select_db('usr_web477_1');
// [...]

// Anzahl der Ergebnisse pro Seite festlegen
$intResultsPerPage = 8;
// Aktuelle Seite ermitteln, bzw. definieren, falls keine Seite angegeben wurde.
$intCurrentPage = (isset($_GET['page']) && preg_match('~^\d+$~', $_GET['page'])) 
				? intval($_GET['page'])
				: 1;

// Anzahl aller Datensätze ermitteln, damit die Anzahl der Ergebnissseiten berechnet werden kann.
$result = mysql_query("SELECT COUNT(*) as cnt FROM news");
$arrRow = mysql_fetch_assoc($result);
$intNumRows = intval($arrRow['cnt']);

// An dieser Stelle wird ermittelt, wie viele Seiten für die Anzahl der Ergebnisse 
// bei max. 8 darzustellenden Ergebnissen möglich sind.
$intNumPages = ceil($intNumRows/$intResultsPerPage);

$intStart = ($intCurrentPage*$intResultsPerPage)-$intResultsPerPage;
$result = mysql_query("SELECT * FROM news LIMIT ". $intStart .", ". $intResultsPerPage);
while( $result && $arrRow = mysql_fetch_assoc($result) )
{
  // An dieser Stelle müssen nur noch die Daten verarbeitet werden.
}

Jetzt musst du nur noch die Pagination an der gewünschten Stelle ausgeben, das könnte wie folgt aussehen:
PHP:
for( $i = 1; $i <= $intNumPages; $i++ )
{
	?>
	<a href="?page=<?php echo $i; ?>"><?php echo $i; ?></a>
	<?php
}
 
Zuletzt bearbeitet:
Zurück