PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Nur eine bestimmte Anzahl Datensätze ausgeben


Susi
2002-06-01, 20:44:57
Ich möchte, dass mir nur eine bestimmte Anzahl an Datensätzen ausgegeben wird. Jedoch nicht so dass immer nur eine feste Zahl, sondern dass es Links gibt zu den restlichen Datensätzen wenn nötig. In Foren zB wird wenn ein Thread über eine bestimmte Zahl an Postings hat auch ein Link erstellt der die nächsten Postings anzeigt. Wie mache ich sowas ?

govou
2002-06-01, 21:50:10
Öh?!?
Lad dir doch mal irgendwo einen Quellcode für ein GB runter und guck ihn dir einfach mal an.

Susi
2002-06-02, 09:52:43
Hab ich schon versucht, nur werde ich nicht immer schlau :D daraus.

Wudu
2002-06-02, 10:19:07
das ist recht einfach, ich habe dazu eine function geschrieben, die Seitenzahlen generiert!


<?
// A: Seitenzahlen

//zu zeigende Newsbeiträge pro Seite
$zps = 8;

if($ab == "")
{
ab = 0;
}

//Abfrage der zu zeigenden News
$newsselect = "SELECT * FROM news ORDER BY timestamp DESC LIMIT $ab, $zps";

$ergebnis = mysql_query("select * from news WHERE section = 'clan'");
$gesamtzahl = mysql_num_rows($ergebnis);

echo "<div align=\"center\"><br>$gesamtzahl gesamte Clannews<br><br>";
echo "Seite [ ";
$counter = mysql_query("Select count(*) as total FROM news WHERE section = 'clan'");
$eintraege = mysql_fetch_array($counter);
$eintrag="0";
$seite="1";
while ($eintrag < $eintraege[total]) {
$bis = $eintrag+$zps;
echo " <a href=\"news.php?ab=$eintrag\">$seite</a>";
$eintrag = ($eintrag+$zps);
$seite = $seite+1;}
echo " ]<br><br></div>";


//B: Seiten anzeigen mit next und ohne
//ist aus einem Artikelscript von mir, also anzupassen

function seiten_anzeigen_mysql($artikelID){

global $PHP_SELF,$catID,$s;

include("config.php");

$select = mysql_query("SELECT * FROM artikel_seiten WHERE seiteThema = '$artikelID'");

$seitenarray = array();

while($row = mysql_fetch_array($select)){
extract($row);
array_push($seitenarray, $seiteNummer);
}
sort($seitenarray);

echo "<br><br>Seiten [";

if($s != ""){
echo " <A href=\"$PHP_SELF?artikelID=$artikelID&catID=$catID\">Main</A> |";

}else{
echo " <A href=\"$PHP_SELF?catID=$catID\">Index</A> |";
}

if($s > 1){
$rech = $s -1;
echo" <A href=\"$PHP_SELF?artikelID=$artikelID&s=$rech&catID=$catID\">&laquo;</A> |";
}

for($i=0;$i<count($seitenarray);$i++){

if($s!=$seitenarray[$i]){
echo " <A href=\"$PHP_SELF?artikelID=$artikelID&catID=$catID&s=$seitenarray[$i]\">$seitenarray[$i]</A> ";
}else{
echo " <b>[$seitenarray[$i]]</b> ";}}

if($s<count($seitenarray)){

$rech = $s +1;
echo"| <A href=\"$PHP_SELF?artikelID=$artikelID&s=$rech&catID=$catID\">&raquo;</A> ";
}
echo " ]";
}

//C: das selbe für Artikel habe ich auch Datein ohne Datenbank

function seiten_anzeigen($dir){

global $PHP_SELF,$showprog,$s;


$verzeichnis=opendir($dir);

echo "<br><br><br>Seiten [";

if($s != ""){
echo " <A href=\"$PHP_SELF?showprog=$showprog\">Main</A> |";

}else{
echo " <A href=\"$PHP_SELF\">Index</A> |";
}

if($s > 1){
$rech = $s -1;
echo" <A href=\"$PHP_SELF?showprog=$showprog&s=$rech\">&laquo;</A> |";
}
$seitenarray=array();

while(false !== ($file = readdir($verzeichnis))){

$seite = substr($file,0,strlen($file)-4);

if(strlen($file)==11){
$seite = substr($seite,strlen($seite)-2,strlen($seite));
}else{
$seite = substr($seite,strlen($seite)-1,strlen($seite));
}

$htmlcheck = substr($file,strlen($file)-4,strlen($file));

if($htmlcheck == ".htm"){
array_push($seitenarray, "$seite");
}}

sort($seitenarray);

for($i=0;$i<count($seitenarray);$i++){

if($s!=$seitenarray[$i]){
echo " <A href=\"$PHP_SELF?showprog=$showprog&s=$seitenarray[$i]\">$seitenarray[$i]</A> ";
}else{
echo " <b>[$seitenarray[$i]]</b> ";}}

if($s<count($seitenarray)){

$rech = $s +1;
echo"| <A href=\"$PHP_SELF?showprog=$showprog&s=$rech\">&raquo;</A> ";
}
echo " ]";
}


function array_verzeichnis($dir,$check){

$verzeichnis=opendir($dir);

$seitenarray=array();

while(false !== ($file = readdir($verzeichnis))){

$seite = substr($file,0,strlen($file)-4);

if(strlen($file)==11){
$seite = substr($seite,strlen($seite)-2,strlen($seite));
}else{
$seite = substr($seite,strlen($seite)-1,strlen($seite));
}

$htmlcheck = substr($file,strlen($file)-4,strlen($file));

if($htmlcheck == $check){
array_push($seitenarray,$seite);
}
}
return $seitenarray;
}
?>

Susi
2002-06-02, 11:30:21
Ach...du...puhu...problematisch ist nur dass ich eigntlich noch an Unterkategorien dachte,...mmm...aber ich glaub ich schlag mir des jetzt ausm Kopf.
Ist wohl von deiner Clansite ? ;)

Wudu
2002-06-02, 13:49:32
das newsteil von meiner clansite und der artikelteil von meiner PHP seite ;-)

grakaman
2002-06-03, 08:43:15
oder du lässt dir ganz einfach aus den daten ein xml dokument generieren. dann verknüpfst du zb. die html seite mit dem xml dokument und kannst mit dem attribut datapagesize die anzahl der anzuzeigenden datenzätze angeben und zb. mit einem weiter botton, rufst du durch ein eventhandler das recordsetobject mit movenext auf. vorteil der ganzen geschichte ist neben der einfacheren implementierung, dass alle daten schon clientseitig zur verfügung stehen und bei einem weiter klick nicht die seite auf dem server neu aufgerufen werden muss.

mfg

Susi
2002-06-03, 16:08:03
???...erm, ich setzt mich glaub ich doch lieber erstmal mit Wudus Script auseinander. :)

Susi
2002-06-06, 15:44:14
Würde es also reichen wenn ich deinen
A: Teil verändere ? Oder was muss ich noch alles mitnehmen ???

Wudu
2002-06-06, 18:53:03
eigentlich musst nur die querys für die datenbank anpassen (+connection usw) sowie die auszugebenden HTML Teile mit Links....

dann sollte es rennen...