Seitenteilung wie macht man das?

  • Themenstarter Themenstarter pledermann
  • Beginndatum Beginndatum
P

pledermann

Habe ein News scrip gebastelt, so weit ist alles klar!
jetzt fehl mir nur noch die seitenteilung, und ich möchte sie unter der Eintrage
haben.
Das sollte folgende ansicht haben <<<< 1 2 3 4 ... >>>>

Die Daten werden aus einem verz. aussgelesen ( ./eint )

Die einträge sehen so aus: 99961607557.php
99961607562.php
99961630000.php
PHP:
<?

$verz = dir("./eint/"); 
$array_timestamp = array();
$array_output = array();


while($entry=$verz->read()) {

if ($entry==".") {} 

elseif ($entry==".."){} 

else {

require("./eint/$entry");

?>

<?
$array_timestamp[$x] = $mname;

$output = '
<table width="600"  bgcolor="#3399FF" border="1" bordercolor="#000000" cellspacing="0" cellpadding="1" align="center">
	<tr>
		<td width="100%" cellspacing="0" cellpadding="3">
			<font face="Verdana" size="2">
			<a href="mailto:'.$mail.'">'.$name.'</a>
			</font>
		</td>
	</tr>
	<tr>
		<td width="100%" cellspacing="0" cellpadding="3">
			<font face="Verdana" size="2">'.$betr.'&nbsp;|&nbsp'.$date.'</font>
		</td>
	</tr>
	<tr>
		<td width="100%" cellspacing="0" cellpadding="3">
			<font face="Verdana" size="2">'.$text.'</font>
		</td>
	</tr>
	<tr>
		<td width="100%" cellspacing="0" cellpadding="3">
			<font face="Verdana" size="2"><a href="mehr.php?id='.$mname.'">Mehr</font></a>
		</td>
	</tr>
</table>
<br>';

$array_output[$mname] = $output;

$x++;
} } ?><br><br><br>

<?
rsort($array_timestamp);

foreach ($array_timestamp as $value) {
//	echo "Wert:  $value<br />\n";
  echo $array_output[$value]."<br />\n";
}
?>

Wer kann mir Helfen ?
 
Wenn ich dich jetzt richtig verstanden habe, und das hoffe ich,
möchtest du einen Eintrag pro Seite anzeigen und dann eine
Liste mit den restlichen Beiträgen bzw. dem aktuellen Beitrag
und denen davor und dahinter

Die Liste an sich ist recht simpel zu erstellen, du brauchst
ja nur ein Array anzulegen in dem du die Dateien/Einträge einliest
und dann übergibst du nur den Eintrag als Link und liest ihn aus.

Während des Einlesens der Einträge in dein Array prüfst du
welcher Eintrag zur Zeit geöffnet ist und macht einfach KEINEN
Link daraus.

Grob skizziert :
PHP:
if($entry == $_GET['entry']) $list[$entry] = $entry;
else $list[$entry] = '<a href="news.php?entry='.$entry.'">'.$x.'</a>';

Ungetestet, müsste aber laufen, wie du die Einträge ausliest wusste ich jetzt nicht genau und wie du die sortierst, bleibt ja dir überlassen.

Nils
 
Leider fasch verstanden

Original geschrieben von Nils Hitze
Wenn ich dich jetzt richtig verstanden habe, und das hoffe ich,
möchtest du einen Eintrag pro Seite anzeigen und dann eine
Liste mit den restlichen Beiträgen bzw. dem aktuellen Beitrag
und denen davor und dahinter

Die Liste an sich ist recht simpel zu erstellen, du brauchst
ja nur ein Array anzulegen in dem du die Dateien/Einträge einliest
und dann übergibst du nur den Eintrag als Link und liest ihn aus.

Während des Einlesens der Einträge in dein Array prüfst du
welcher Eintrag zur Zeit geöffnet ist und macht einfach KEINEN
Link daraus.

Grob skizziert :
PHP:
if($entry == $_GET['entry']) $list[$entry] = $entry;
else $list[$entry] = '<a href="news.php?entry='.$entry.'">'.$x.'</a>';


Ungetestet, müsste aber laufen, wie du die Einträge ausliest wusste ich jetzt nicht genau und wie du die sortierst, bleibt ja dir überlassen.

Nils

was ich damit meinte:
ich möchte zb 6 einträge pro Seite
gruss
Jörg
 
Du brauchst mir nicht emailen, wenn ich antworten möchte, dann
antworte ich auch. Ich geb dir nochmal einen Ansatz, keine Garantie
auf Richtigkeit, das mit der Blätterfunktion geht mir gerade bei dem
Wetter übern Horizont, sorry.

PHP:
$page = $_GET["page"];
$limit = 6;
$low = 0;
$x = 1;

while($entry=$verz->read()) 
{
 if($low < ($limit * $page)) continue;
 if($x == $limit) break;

 if ($entry=="." || $entry=="..") continue;
 else 
 { 
  require("./eint/$entry");
 
  $array_timestamp[$x] = $mname;

  // ... hier kommt die $output hin
 
  $array_output[$mname] = $output;

  $low++;
  $x++;
 } 
}
?>

// ...

<?php
rsort($array_timestamp);

foreach ($array_timestamp as $value) 
  echo $array_output[$value]."<br />\n";
?>
 
Zurück