CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
09.04.2004, 14:56:26
|
|
Junior Member
|
|
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
|
|
So:
PHP-Code:
$news = file('xxx/news.csv'); //news.txt in Array packen
$counter = 0;
$rows = 4;
//AKTUELLE POSITION
$row=4; //GIBT AN, WIEVIELE DATEIEN PRO SEITE ANGEZEIGT WERDEN
$pos=strip_tags($_GET['sent'])*$row;
if(empty($pos)) $pos=0;
$datei="xxx/news.csv"; //PFAD DER DATEI
$anzahl_zeilen=count(file($datei)); //ANZAHL DER ZEILEN
$anzahl_seiten=ceil($anzahl_zeilen/$row); //ANZAHL DER SEITEN (AUFRUNDEN, UM GANZE ZAHL ZU ERHALTEN)
//FUNKTION, DIE DIE SEITENZAHLEN ERZEUGT
function blaettern($anzahl_seiten){
for($i=0; $i<$anzahl_seiten; $i++){
if($i>0) echo " | ";
echo "<a href="./index.php?sent=" . $i . "">Seite " . $i+1 . "</a>"; //$i IST IMMER GENAU EINS KLEINER ALS DIE MOMENTANE SEITE
}
}
//JETZT DIE DATEIEN AUSGEBEN
foreach($array_dateien as $datei){
//JETZT KANNST DU DIE ENTSPRECHENDEN DATEIEN AUSGEBEN
while (list(,$zeile) = each($news) AND $counter < $rows) { //Schleife für die ersten 4 News-Zeilen
$zeile = explode('|',$zeile); //Zeilen-Segmente trennen
$nr = $zeile[0]; //Nochmal vereinfachen...
$img = $zeile[1]; //...
$head = $zeile[2]; //...
$short = $zeile[3]; //...
$autor = $zeile[4]; //...
$datum = $zeile[5]; //...
$text = $zeile[6]; //ok
$link = $zeile[6]; //ok
echo '<h5>'.$img.' '.$head.'</h5>'.$short.'<br>'.$autor.' | '.$datum.'<br><a href=artikel.php?sent='.$counter.'>Artikel lesen<a><hr size=1>'; //Ausgabe beliebig anpassbar
$counter++;
}
}
//LINKS ANZEIGEN
blaettern($anzahl_seiten);
//AKTUELLE DATEIEN IN EINEN ARRAY PACKEN
$array_dateien=array_slice(file($datei), $pos, $row);
Das erschien mir logisch, aber das funktioniert nicht.
|
09.04.2004, 15:19:36
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Habe das ganze noch ein wenig umgeschrieben:
PHP-Code:
$datei="xxx/news.csv"; //PFAD ZUR DATEI news.csv
$news=file($datei); //DATEI IN ARRAY EINLESEN
$rows=4; //ANZAHL DER DATEIEN PRO SEITE
//AKTUELLE POSITION ERMITTELN, AB DER DATEIEN ANGEZEIGT WERDEN SOLLEN
$pos=(int)strip_tags($_GET['sent'])*$rows;
if(empty($pos)) $pos=0;
$anzahl_zeilen=count($news); //ANZAHL DER EINTRÄGE IN DER news.csv
$anzahl_seiten=ceil($anzahl_zeilen/$rows); //ANZAHL DER SEITEN, DIE FÜR DIE ANZEIGE DER NEWS BENÖTIGT WERDEN
//FUNKTION, MIT DEREN HILFE SPÄTER ZWISCHEN DEN EINZELNEN SEITEN GEBLÄTTERT WERDEN KANN
function blaettern($anzahl_seiten){
for($i=0; $i<$anzahl_seiten; $i++){
if($i>0) echo " | ";
echo "<a href="index.php?sent=" . $i . "">Seite " . ($i+1) . "</a>";
}
}
//ZUNÄCHST AM BEGINN DER SEITE DIE FUNKTION ZUM BLÄTTERN AUFRUFEN
blaettern($anzahl_zeilen);
//AB DER AKTUELLEN POSITION GEÜNSCHTE ANZAHL VON ZEILEN IN EINEN ARRAY PACKEN
$aktuelle_zeilen=array_slice($news, $pos, $rows);
//DIE GEWÜNSCHTEN BEITRÄGE AUSGEBEN
$x=$pos;
foreach($aktuelle_zeilen as $akt_zeile){
$zeile=explode("|", $akt_zeile); //ZEILENSEGMENTE TRENNEN...
//...UND VEREINFACHEN
$nr=$zeile[0];
$img=$zeile[1];
$head=$zeile[2];
$short=$zeile[3];
$autor=$zeile[4];
$datum=$zeile[5];
$text=$zeile[6];
$link=$zeile[6];
echo "<h5>" . $img . " " . $head . "</h5>" . $short . "<br>" . $autor . " | " . $datum . "<br>";
echo "<a href="artikel.php?sent=" . $x . "">Artikel lesen</a>";
echo "<hr size="1">";
$x++;
}
//AM ENDE DER SEITE NOCH EINMAL DIE FUNKTION ZUM BLÄTTERN AUFRUFEN
blaettern($anzahl_zeilen);
Geändert von xabbuh (09.04.2004 um 20:08:26 Uhr)
|
09.04.2004, 16:13:17
|
|
Junior Member
|
|
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
|
|
Ich habe noch einen Fehler selber finden können, es fehlte beid der Ausgabe der Seitenzahlen ein "i", aber irgendwie stimmt etwas mit der Ausgabe der Links etwas nicht:
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1
Hab schon ein wenig rumprobiert und die Variablennamen überprüft, aber ich finde den Fehler nicht, aber ich sehe den Zusammenhang: Die Anzahl der vorhandenen "1" bei der Ausgabe entspricht der Anzahl der Zeilen in der Datei news.csv.
|
09.04.2004, 20:03:16
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Dann muss irgendwo ein Fehler in der Funktion blaettern() liegen. Ich teste das im Moment gerade mal.
Funktioniert denn wenigstens die Ausgabe der News?
EDIT: Habe den Fehler gefunden.
Statt:
PHP-Code:
echo "<a href="index.php?sent=" . $i . "">Seite " . $i+1 . "</a>";
Das hier:
PHP-Code:
echo "<a href="index.php?sent=" . $i . "">Seite " . ($i+1) . "</a>";
Geändert von xabbuh (09.04.2004 um 20:07:55 Uhr)
|
10.04.2004, 10:21:48
|
|
Junior Member
|
|
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
|
|
Guten Morgen Xabbuh,
die Ausgabe funktioniert nach wie vor wunderbar, jetzt werden nicht die Anzahl der Seiten ausgegeben, sondern die Anzahl der Zeilen.
Hast Du 'ne eMailadresse, dann kann ich Dir denn Link zuschicken? - ich wollte die URL meiner Site hier nicht veröffentlichen, da sie noch zu wenig geschützt ist.
Kann es sein, dass in der Schleife (Funktion blättern) etwas nicht stimmt?
for($i=0; $i<$anzahl_seiten; $i++){
Gruß thorben.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 14:59:22 Uhr.
|