Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ Anmelden zum schreiben ] |
| Seiten und count Funktion | |||
|---|---|---|---|
| Jens Mitglied
|
Ich will das die letzten 10 Einträge meiner daten.txt Datei ausgegeben werden , der neuste zuerst .
Und das aus meiner gaestebuch.txt nach 10 Einträgen ein Link kommt wo es zur nächsten Seite mit den nächsten 10 Einträgen geht . Danke Jens |
||
| manuel Coder
Posts: 4260 |
hallo ... was du nicht alles willst ;-)
<?php
$d = file('daten.txt');
$end = count($d) - 10;
for ($i=count($d);$i>$end;$i--) {
echo $d[$i];
}
?>
so werden schon mal die letzten 10 (Zeilen) ausgegeben... ich gehe mal davon aus das du jeden eintrag in eine neue zeile geschrieben hast. kommen wir zum etwas komplexeren problem mit den seiten. <?php
if(!$page){ $page = 1; } // wenn es die Variable $page noch nicht gibt.
$d = file('gaestebuch.txt'); // die datei wird in ein Array $d geladen.
$total = count($d); // die gesammte anzahl an einträgen wird ermittelt
$vor = $page+1;
$back = $page-1;
$anfang = ($total - 1) - (($page -1) * $limit); // der anfang wird ermittelt
$en = $anfang - $limit; // das ende wird ermittelt
if ($en <= 0) {
$end = 0; }
else { $end = $en; }
for ($i=$anfang;$i>=$end;$i--) {
echo $d[$i]; // hier werden die daten ausgegeben...
}
// die links mit ziurück und vor werden ausgegeben.
echo '<a href="gb.php?page=$back">Zurück</a>';
echo '<a href="gb.php?page=$vor">Vorwärts</a>';
?>
natürlich soltlest du das noch etwas an deine speziellen bedürfnisse anpassen ich denke so in der art sollte es aber rein teo auf jeden fall funtzen
sicherlich geht einiges nicht auf anhieb teste halt nen bissel hab dir ja zu allem geschrieben was es ist, am besten das alles hier raus kopieren und dann in einem text editor anschauen ;-)... |
||
| POP-MUSIK Mitglied
Posts: 155 |
mit dem ding hab ich in meinem GB auch gearbeitet!
|
||
| Jens Mitglied
|
Also die Ausgabe geht . Danke .
Aber wie kann ich einstellen wie viele Seiten angezeigt werden ? |
||
| Jens Mitglied
|
äh Beiträge pro Seite ?
Entschuldigung ! |
||
| ilch ina Schule Mitglied
|
ja hab wohl das limit unterschlagen ...
bei der Variablen $limit musst du die anzahl der Seiten angeben. hoffe jetzt gehts
<?php
if(!$page){ $page = 1; } // wenn es die Variable $page noch nicht gibt.
$d = file('gaestebuch.txt'); // die datei wird in ein Array $d geladen.
$total = count($d); // die gesammte anzahl an einträgen wird ermittelt
$limit = 10; // Anzahl einträge pro Seite.
$vor = $page+1;
$back = $page-1;
$anfang = ($total - 1) - (($page -1) * $limit); // der anfang wird ermittelt
$en = $anfang - $limit; // das ende wird ermittelt
if ($en <= 0) {
$end = 0; }
else { $end = $en; }
for ($i=$anfang;$i>=$end;$i--) {
echo $d[$i]; // hier werden die daten ausgegeben...
}
// die links mit ziurück und vor werden ausgegeben.
echo '<a href="gb.php?page=$back">Zurück</a>';
echo '<a href="gb.php?page=$vor">Vorwärts</a>';
?>
|
||
| POP-MUSIK Mitglied
Posts: 155 |
wieso logst du dich in der schule nicht ein und dann wieder aus ? so mach ich das auch immer
|
||
| Jens Mitglied
|
|
||
| POP-MUSIK Mitglied
Posts: 155 |
|
||
| POP-MUSIK Mitglied
Posts: 155 |
hmmm Editieren Funkt nicht:
Probier mal das hier: // die links mit ziurück und vor werden ausgegeben. echo '<a href="gb.php?page='.$back.'">Zurück</a>'; echo '<a href="gb.php?page='.$vor.'">Vorwärts</a> \\EDIT: Funkt doch was waren dis gerade ? |
||
| manuel Coder
Posts: 4260 |
ups... ja pop musik hat das problem wohl richtig erkannt.
der echo teil muss so heissen wie es bei pop-musik steht dann sollte es gehen ! ... danke @ pop-musik!! |
||
| POP-MUSIK Mitglied
Posts: 155 |
np
Dafür ist ja das Forum da... |
||
| Jens Mitglied
|
|
||
| Jens Mitglied
|
Bräuchte nochmal ne Countfunktion.
Bloss das der Vorletzte Eintrag ausgegeben wird. Danke. Jens |
||
| POP-MUSIK Mitglied
Posts: 155 |
musste nur den neuesten eintrag als ersten speichern und dann dort die Zeile 2 aus gegeben werden soll.... das ist die Theorie, die Praxis beschäftige ich mich mal mit wen ich heute zeit habe.... .
Und wen ich s nicht pack, erklärste mir mal morgen inner schule wozu du das brauchst |
||
| Jens Mitglied
|
Noch keine Antwort?
Schade. |
||
| manuel Coder
Posts: 4260 |
ich versteh dein problem nicht so genau du willst einfach nur EINEN beitrag aus der textdatei anzeigen ? und dann den vorletzten dann ist das einfach ...
<?php
$d = file('txtdatei.txt');
$anzahl_eintraege = count($d);
$vorletzer_eintrag = $anzahl_eintraege - 2;
echo $d[$vorletzer_eintrag];
?>
alles ohne gewähr sollte aber rein von der theorie her gehen!! ansonsten nochmal mlelden und fehlermeldung oder ähnliches möglichst genau beschreiben, und auch wenns das nicht war was du wissen wolltest |
||
| sNake Mitglied
Posts: 1 |
nice
|
||
| [ Anmelden zum schreiben ] |