SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #41  
Alt 09.04.2004, 14:56:26
Benutzerbild von thorben
thorben thorben ist offline
Junior Member
 
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
thorben eine Nachricht über Yahoo! schicken
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+"</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.
Mit Zitat antworten
  #42  
Alt 09.04.2004, 15:19:36
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
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)
Mit Zitat antworten
  #43  
Alt 09.04.2004, 16:13:17
Benutzerbild von thorben
thorben thorben ist offline
Junior Member
 
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
thorben eine Nachricht über Yahoo! schicken
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.
Mit Zitat antworten
  #44  
Alt 09.04.2004, 20:03:16
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
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+"</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)
Mit Zitat antworten
  #45  
Alt 10.04.2004, 10:21:48
Benutzerbild von thorben
thorben thorben ist offline
Junior Member
 
Registriert seit: Mar 2003
Ort: Krefeld
Beiträge: 245
thorben eine Nachricht über Yahoo! schicken
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.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:59:22 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt