news

DMX-Dima

Gesperrt
hallo
ich habe schon mehrere sachen gescriptet

meine frage an euch ist : wie mache ich das beim ausgeben der news oder was anderes nur 3 news angezeigt werden und dann steht unten noch als link 1 2 3 für die nexten newspage.
o_O alles klein geschrieben
 
hier ist er
PHP:
$sql = "SELECT * FROM `newsdb` ORDER BY `time` DESC LIMIT 0, 3";
 if (!$res_id = mysql_query($sql)) 
    die('Fehler sql ist falsch');
 
 while ($news = mysql_fetch_array($res_id))
 {
 
  // die news tabelle
 echo "<table border=\"1\" cellpadding=\"0\" cellspacing=\"0\">
 		 <tr>
 		 <td valign=\"top\">Beitrag vom:".$news['user']."</td>
 		 <td valign=\"top\">Title:".$news['tittle']."</td>
 		 <td valign=\"top\">Am:".$news['time']."</td>
 		 </tr>
 		 <tr>
 		  <td colspan=\"2\" width=\"400\" valign=\"top\">".$news['news']."</td>
 		 <td>";
 if ($news['user'] == 'DMX')
 {
   echo "<img src=\"images/hhome.1.jpg\">";
 } else  {
   echo "<img src=\"images/Speed.gif\">";
 }
 echo "</td>
 		 </tr>
 		 </table>
 		 <br>"; 
 }
 
Du müsstest dir das offset als $_GET geben lassen.
Wenn zum Beispiel nichts übergeben wird dann die 0 als offset, wird ein Wert übergeben dann nimmst du ihn als offset.

Nehmen wir an es wurde 3 übergeben (vielleicht so index.php?show=3)
PHP:
if(!isset($_GET['show'])){
 $offset =  0;
 } else {
 $offset = $_GET['show'];
 }
 $sql = "SELECT * FROM `newsdb` ORDER BY `time` DESC LIMIT $offset, 3";

Die Unterteilung für die Links kannst du ganz einfach umsetzen in dem du die Anzahl an Datensätzen durch die gewünschte Anzahl an news die du auf einmal anzeigen willst dividierst und die Summe aufrundest.

Zum Beispiel: es befinden sich 30 news in der DB und du willst immer 3 auf einmal anzeigen lassen - 30 / 3 = 10 - also 10 Links. Da wiederrum solltest du vielleicht nur die ersten 3 und letzten 3 links anzeigen lassen, sonst könnte die Anzahl an Links ins unerträgliche gehen ;) also zb "[1][2][3]...[8][9][10]"
Die Links verweisen dann zb auf index.php?show=0 (für den ersten) oder index.php?show=4 für den 3.
Für MySQL hat der erste Datensatz das offset 0 also immer -1.


 
ich muss dich entteuschen
ich bekomme das mit den links nicht auf die reihe
bitte mach mir ein code
ich habe schon versucht aber als was falsch
 
es geht aber es kommen viel zu viele seiten anzahlen hier bei mir sind es 7

mein code
PHP:
$sql2 = 'SELECT COUNT(*) FROM newsdb';
   $zaelher = mysql_query($sql2);
 $seite =ceil($zaelher/3);
 
 if ($offset>0) {
 $i=$offset-1;
 echo "<A HREF=\"include.php?news=$i\">&lt;previous</A>&nbsp";
 
 }
 
 for($i=0; $i<=$seite; $i++) {
 if ($i==$offset) {
 echo $i."&nbsp;";
 
 }
 
 else {
 
 echo "<A HREF=\"include.php?news=$i\">$i</A>&nbsp;";
 
 }
 
 }
 
 if ($offset<$seite) {
 
 $i=$offset+1;
 echo "<A HREF=\"include.php?news=$i\">next&gt;</A>";
 
 }
warum verstehe ich net ich habe erst 3 post und limit habe ich auf eins gemacht zum testen
 
Zurück