Datenausgabe in tabellarischer Form

Hmmm. Ich habe heute alles eingebunden und die Daten eingegeben. Leider wird nicht das Datum sortiert, sondern nur der Tag. Auf Monat und Jahr achtet das Script nicht. Ich bräuchte doch nochmal eure Hilfe.

Zur veranschaulichung:

http://www.reanimated.de/tour.php

PHP:
<?php

$datei = "tour/test.txt";

if(file_exists($datei))
{

$termin = file($datei);
$anzahl = count($termin);
sort($termin);
foreach ($termin as $key => $val) {
}
?>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width='40'><b>Datum</b></td>
    <td width='60'><b>Band</b></td>
    <td width='255'><b>Beschreibung</b></td>
    <td width='45'><b>erstellt</b></td>
  </tr>
<?php
for($index = 0; $index < $anzahl; $index++)
{
$eintrag = explode("|-|",$termin[$index]);
$Zeile0 = $eintrag[0];
$Zeile1 = $eintrag[1];
$Zeile2 = $eintrag[2];
$Zeile3 = $eintrag[3];
?>
  <tr>
    <td width='40' valign='top'><?php echo $Zeile0; ?></td>
    <td width='60' valign='top'><?php echo $Zeile1; ?></td>
    <td width='255' valign='top'><?php echo $Zeile2; ?></td>
    <td width='45' valign='top'><?php echo $Zeile3; ?></td>
  </tr>
<?php
}
echo "</table>";
}
else
{
echo"<center>Datei nicht gefunden</center>";
}

?>
 
Lass das eingegebene Datum in einen Timestamp umformatieren und dann nach dem Sortieren des Scriptes wieder ins Datum ...
 
Wie?

Ich kann nur auf dein ersten Beitrag von mir verweisen. --> Keine Ahnung von PHP :(
Ich war schon froh das ich das alles eingebunden bekommen habe.
 
So wie du dir das Vostellst is das natürlich nicht ...
Du kannst dein Problem auf zwei Arten lösen.

1. Lösungsweg
Eingabe Datum in Timestamp umformatieren
http://www.tutorials.de/forum/php-tutorials/138624-timestamps-anfaenger.html

PHP:
// EINGABE.PHP

<?php
// Eingegebenes Datum --> bei dir mit $_POST
$datum = "12.24.2007";
// Nach jedem Punkt Teilen
$datum = explode(".",$datum);
$Tag = $datum[0];
$Monat = $datum[1];
$Jahr = $datum[2];
// In Timestamp umrechnen
$timestamp_event = mktime(0,0,0,$Monat,$Tag,$Jahr);
// Jetzt in Textdatei Speichern 
?>

PHP:
// AUSGABE.PHP

<?php
// HIER NUN DIE ERNEUTE UMRECHNUNG
for($index = 0; $index < $anzahl; $index++)
{
$eintrag = explode("|-|",$termin[$index]);
$Zeile0 = $eintrag[0];
$Zeile0 = date("j.n.Y", $Zeile0);
$Zeile1 = $eintrag[1];
$Zeile2 = $eintrag[2];
$Zeile3 = $eintrag[3];
?>



2. Lösungsweg --> UM EINIGES EINFACHER

HIER BLEIBT FAST ALLES WIE ES IST

PHP:
// EINGABE.PHP

<?php
// Eingegebenes Datum --> bei dir mit $_POST
$datum = "12.24.2007";
// Den Punkt Entfernen --> Zahl die Sortiert werden kann
$datum = str_replace(".", "", $datum);
// Jetzt in Textdatei Speichern 
?>


PHP:
// AUSGABE.PHP

<?php
// HIER NUN DEN PUNKT WIEDER EINFÜGEN
for($index = 0; $index < $anzahl; $index++)
{
$eintrag = explode("|-|",$termin[$index]);
$Zeile0 = $eintrag[0];
$Zeile0 = wordwrap($Zeile0, 2, ".");
$Zeile1 = $eintrag[1];
$Zeile2 = $eintrag[2];
$Zeile3 = $eintrag[3];
?>

Glaube so in der Art könnte es gehen ...
 
Zuletzt bearbeitet:
Das heißt jetzt. Muss ich da noch was ändern oder füge ich das einfach zusätzlich in meine Dateien ein

Eingabe.php

PHP:
<form action="schreibe.php" method="post">
<table>
<tr>
 <td>Datum: </td>
 <td><input type="Text" name="datum" value="" size="" maxlength=""></td>
</tr>
<tr>
 <td>Band:</td>
 <td><input type="Text" name="band" value="" size="" maxlength=""></td>
</tr>
<tr>
 <td>Beschreibung:</td>
 <td><input type="Text" name="beschreibung" value="" size="" maxlength=""></td>
</tr>
</table>
<input type="submit" value="Senden">
</form>


schreibe.php

PHP:
<?php
 $name = $_POST["datum"]; // Variablen einlesen
 $alt = $_POST["band"];
 $url = $_POST["beschreibung"];
 $datum = date("d.m.Y",time()); // Aktuelles Datum ermitteln
 $text = "$name|-|$alt|-|$url|-|$datum  \n"; // Textstring zusammensetzen

 $dateiname = "test.txt"; // Name der Datei
 $fp = fOpen ($dateiname , "a+"); // Datei öffnen
 fWrite ($fp , $text); // Dateiinhalt in die Datei schreiben
 fClose ($fp); // Datei schließen
?>


Ausgabe.php

PHP:
<?php

$datei = "tour/test.txt";

if(file_exists($datei))
{

$termin = file($datei);
$anzahl = count($termin);
sort($termin);
foreach ($termin as $key => $val) {
}
?>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width='40'><b>Datum</b></td>
    <td width='60'><b>Band</b></td>
    <td width='255'><b>Beschreibung</b></td>
    <td width='45'><b>erstellt</b></td>
  </tr>
<?php
for($index = 0; $index < $anzahl; $index++)
{
$eintrag = explode("|-|",$termin[$index]);
$Zeile0 = $eintrag[0];
$Zeile1 = $eintrag[1];
$Zeile2 = $eintrag[2];
$Zeile3 = $eintrag[3];
?>
  <tr>
    <td width='40' valign='top'><?php echo $Zeile0; ?></td>
    <td width='60' valign='top'><?php echo $Zeile1; ?></td>
    <td width='255' valign='top'><?php echo $Zeile2; ?></td>
    <td width='45' valign='top'><?php echo $Zeile3; ?></td>
  </tr>
<?php
}
echo "</table>";
}
else
{
echo"<center>Datei nicht gefunden</center>";
}

?>
 
Das erzetzt du ... aber dann machs wohl auch wieder ich ...
Ich machs mal mit Timestamp und hoff es geht auch so ^^

schreibe.php
PHP:
<?php
 $name = $_POST["datum"]; // Variablen einlesen, zum Beispiel 11.07.2007
 $gsname = explode(".",$name); // Punkt entfernen
// --> Hier Einsetzten in Funktion
 $Tag = $gsname[0]; 
 $Monat = $gsname[1];
 $Jahr = $gsname[2];
 $name = mktime(0,0,0,$Monat,$Tag,$Jahr);
// --> jetzt ist $name ein Timestamp
 $alt = $_POST["band"];
 $url = $_POST["beschreibung"];
 $datum = date("d.m.Y",time()); // Aktuelles Datum ermitteln
 $text = "$name|-|$alt|-|$url|-|$datum  \n"; // Textstring zusammensetzen

 $dateiname = "test.txt"; // Name der Datei
 $fp = fOpen ($dateiname , "a+"); // Datei öffnen
 fWrite ($fp , $text); // Dateiinhalt in die Datei schreiben
 fClose ($fp); // Datei schließen
?>

Ausgabe.php
PHP:
<?php

$datei = "tour/test.txt";

if(file_exists($datei))
{

$termin = file($datei);
$anzahl = count($termin);
sort($termin);
foreach ($termin as $key => $val) {
}
?>
<table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber1">
  <tr>
    <td width='40'><b>Datum</b></td>
    <td width='60'><b>Band</b></td>
    <td width='255'><b>Beschreibung</b></td>
    <td width='45'><b>erstellt</b></td>
  </tr>
<?php
for($index = 0; $index < $anzahl; $index++)
{
$eintrag = explode("|-|",$termin[$index]);
// --> Jetzt müssen wir wieder Timestamp ins Datum umrechnen
// --> Sonst hast nen Timestamp als Ausgabe ^^
$Zeile0 = $eintrag[0];
$Zeile0 = date("j.n.Y", $Zeile0); // zum Beispiel 11.07.2007
// --> So nun müsste es gehen
$Zeile1 = $eintrag[1];
$Zeile2 = $eintrag[2];
$Zeile3 = $eintrag[3];
?>
  <tr>
    <td width='40' valign='top'><?php echo $Zeile0; ?></td>
    <td width='60' valign='top'><?php echo $Zeile1; ?></td>
    <td width='255' valign='top'><?php echo $Zeile2; ?></td>
    <td width='45' valign='top'><?php echo $Zeile3; ?></td>
  </tr>
<?php
}
echo "</table>";
}
else
{
echo"<center>Datei nicht gefunden</center>";
}

?>
 
Dafür kann ich aber das Forum und natürlich dich weiterempfehlen:)

Ganz funktioniert es aber immer noch nicht. Jetzt macht das Script aus jedem Datum den 01.01.1970
 
schau mal ob alle Einträge in der Textdatei nun die gleiche sind ...
Also die Timestamps meine ich ...

Oder besser noch. Füge die mal hier ein ...
 
Die Einträge sind so geblieben. Wenn ich nen neuen eingegeben habe, wurde der auch so in die Textdatei geschrieben.

Hier die txt Datei

PHP:
01.06.2007|-|Linkin Park|-|Rock am Ring in Nürnberg|-|31.05.2007  
02.06.2007|-|Linkin Park|-|Rock im Park in Nürnberg|-|31.05.2007  
16.06.2007|-|Linkin Park|-|Novarock Festival - Österreich|-|31.05.2007  
30.05.2007|-|Linkin Park|-|Paris|-|31.05.2007  
05.06.2007|-|Linkin Park|-|St. Petersburg RU/New Arena|-|31.05.2007  
09.06.2007|-|Linkin Park|-|Donington GB/Download Festival|-|31.05.2007  
13.06.2007|-|Linkin Park|-|Chorzow PL/Stadion Slaski|-|31.05.2007  
25.07.2007|-|Linkin Park|-|Auburn WA/White River Amphitheatre|-|31.05.2007  
29.07.2007|-|Linkin Park|-|Mountain View CA/ Shoreline Amphitheatre  |-|31.05.2007  
03.08.2007|-|Linkin Park|-|San Antonio TX/AT&T Center |-|31.05.2007  
07.08.2007|-|Linkin Park|-|Atlanta GA/HiFi Buys Amphitheatre |-|31.05.2007  
11.08.2007|-|Linkin Park|-|Tampa FL/ Ford Amphitheatre |-|31.05.2007  
15.08.2007|-|Linkin Park|-|Wantagh NY/Nikon at Jones Beach Theater|-|31.05.2007  
06.06.2007|-|Linkin Park|-|Moskau RU/Olympiisky Arena |-|31.05.2007  
11.06.2007|-|Linkin Park|-|Zürich CH/Hallenstadion|-|31.05.2007  
15.06.2007|-|Linkin Park|-|Venice IT/Heineken Festival |-|31.05.2007  
27.07.2007|-|Linkin Park|-|Marysville CA/ Sleep Train Amphitheatre |-|31.05.2007  
31.07.2007|-|Linkin Park|-|Chula Vista CA/Coors Amphitheatre |-|31.05.2007  
04.08.2007|-|Linkin Park|-|Dallas TX/Smirnoff Music Centre|-|31.05.2007  
08.08.2007|-|Linkin Park|-|Charlotte NC/Verizon Wireless Amphitheatre Charlotte |-|31.05.2007  
13.08.2007|-|Linkin Park|-|Raleigh NC/Walnut Creek Amphitheatre|-|31.05.2007  
17.08.2007|-|Linkin Park|-|Cuyahoga Falls OH/Blossom Music Center |-|31.05.2007  
08.06.2007|-|Linkin Park|-|Lisbon PT/Alive 2007 Festival |-|31.05.2007  
12.06.2007|-|Linkin Park|-|Prag CZ/Sazka Arena |-|31.05.2007  
28.07.2007|-|Linkin Park|-|San Bernardino CA/ Hyundai Pavilion |-|31.05.2007  
01.08.2007|-|Linkin Park|-|Phoenix AZ/Cricket Pavilion |-|31.05.2007  
05.08.2007|-|Linkin Park|-|Woodlands TX/The Cynthia Woods Mitchell Pavilion |-|31.05.2007  
10.08.2007|-|Linkin Park|-|West Palm Beach FL/ Sound Advice Amphitheatre|-|31.05.2007  
14.08.2007|-|Linkin Park|-|Virginia Beach VA/Verizon Wireless Virginia Beach Amphitheatre |-|31.05.2007  
18.08.2007|-|Linkin Park|-|Darien Center NY/Darien Lake Performing Arts Center|-|31.05.2007  
19.08.2007|-|Linkin Park|-|Bristow VA/Nissan Pavilion|-|31.05.2007  
24.08.2007|-|Linkin Park|-|Mansfield MA/Tweeter Center for the Performing Arts|-|31.05.2007  
28.08.2007|-|Linkin Park|-|Syracuse NY/NY State Fair |-|31.05.2007  
01.09.2007|-|Linkin Park|-|Tinley Park IL/First Midwest Bank Amphitheatre |-|31.05.2007  
21.08.2007|-|Linkin Park|-|Toronto CA/Molson Amphitheatre |-|31.05.2007  
25.08.2007|-|Linkin Park|-|Camden NJ/ Tweeter Center at the Waterfront|-|31.05.2007  
29.08.2007|-|Linkin Park|-|Holmdel NJ/PNC Banks Art Center |-|31.05.2007  
03.09.2007|-|Linkin Park|-|Englewood CO/Coors Amphitheatre |-|31.05.2007  
22.08.2007|-|Linkin Park|-|Clarkston MI/DTE Energy Music Theatre |-|31.05.2007  
26.08.2007|-|Linkin Park|-|Hartford CT/New England Dodge Music Center |-|31.05.2007  
31.08.2007|-|Linkin Park|-|Noblesville IN/Verizon Wireless Music Center |-|31.05.2007  
03.06.2007|-|Linkin Park|-|MTV Masters um 18:00 auf MTV|-|31.05.2007  
03.06.2007|-|Linkin Park|-|Liveübertrageung vom RaR um 19:30 auf MTV|-|31.05.2007
 
Zuletzt bearbeitet:
Zurück