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 für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
23.05.2005, 14:43:20
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 5
|
|
txt einlesen, 3 Spalten, sortiert? Hilfe!
Hallo,
ich bastel seit geraumer zeit, auch mithilfe von anderen Threads an einem Script, das mir eine txt ausliest und dann in eine Tabelle schreibt!
Was mir fehlt ist, die Spalte nach "Ort" zu sortieren.
Kann mir jemand helfen?
<?
$fp = fopen('test.txt', 'r');
// Der Kopf der Tabelle
echo '<table border="1">
<tr>
<td><b>Datum</b></td>
<td><b>Ort</b></td>
<td><b>Veranstaltung</b></td>
</tr>';
while (!feof($fp)) {
$zeile = fgets($fp,500);
$daten = explode(" | ", $zeile);
$datum = $daten[0];
$ort = $daten[1];
$was = $daten[2];
sort ($daten[1]); //????
// Die einzelnen Zeilen in der Tabelle
echo "<tr><td>$datum</td>
<td>$test</td>
<td>$was</td></tr>";
}
// Das Ende der Tabelle
echo '</table>';
fclose($fp);
?>
|
23.05.2005, 14:49:48
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
Du darfst alle Daten erst einmal in einem Array cachen, dieses sortieren und dann die Daten daraus ausgeben.
|
23.05.2005, 14:53:15
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 5
|
|
AW: txt einlesen, 3 Spalten, sortiert? Hilfe!
Jetzt stellen ich mich mal dumm ;-)
wie schreibe ich die daten in das array?
|
23.05.2005, 14:58:51
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 5
|
|
AW: txt einlesen, 3 Spalten, sortiert? Hilfe!
also ich habe das so versucht
$arr = array($daten[1]);
|
23.05.2005, 15:21:53
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
AW: txt einlesen, 3 Spalten, sortiert? Hilfe!
Das wäre schon mal ein ungefährer Anfang:
PHP-Code:
<?php
while (!feof($fp)) {
$zeile = fgets($fp, 500);
list($datum, $ort, $was) = explode(' | ', trim($zeile));
$temp[$ort][]=array($datum, $ort, $was);
}
sort($temp);
foreach ($temp as $key => $value) {
echo $k;
print_r($v);
}
?>
|
23.05.2005, 15:24:11
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: txt einlesen, 3 Spalten, sortiert? Hilfe!
Sinnvoll wäre es, das Problem folgendermaßen anzugehen und dann mittels ksort() zu sortieren:
PHP-Code:
<?php
$array = array();
while(!feof($fp)) {
$zeile = fgets($fp, 500);
$daten = explode("|", $zeile);
if(!array_key_exists($daten[1], $array))
$array[$daten[1]] = array();
$array[$daten[1]][] = $daten;
}
ksort($array);
?>
|
23.05.2005, 15:40:18
|
SELFPHP Guru
|
|
Registriert seit: Jul 2002
Ort: Oberursel
Alter: 54
Beiträge: 4.748
|
|
AW: txt einlesen, 3 Spalten, sortiert? Hilfe!
array_key_exists() ist nicht notwendig, aber mit dem ksort() hast Du einen Tippfehler bei mir entdeckt.
|
23.05.2005, 16:12:03
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 5
|
|
AW: txt einlesen, 3 Spalten, sortiert? Hilfe!
vielend dank schon mal für die Hilfe!
Habe es jetzt so:
<?php
$fp = fopen('test.txt', 'r');
echo '<table border="1">
<tr>
<td><b>Datum</b></td>
<td><b>Ort</b></td>
<td><b>Veranstaltung</b></td>
</tr>';
$array = array();
while(!feof($fp))
{
{
$zeile = fgets($fp, 500);
$daten = explode(" | ", $zeile);
if(!array_key_exists($daten[1], $array))
$array[$daten[1]] = array();
$array[$daten[1]][] = $daten;
}
sort($array);
{
echo "<tr><td>$daten[0]</td>
<td>$daten[1]</td>
<td>$daten[2]</td></tr>";
}
}
echo '</table>';
fclose($fp);
?>
|
23.05.2005, 16:30:55
|
|
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: txt einlesen, 3 Spalten, sortiert? Hilfe!
Zitat:
Zitat von c4
array_key_exists() ist nicht notwendig, aber mit dem ksort() hast Du einen Tippfehler bei mir entdeckt.
|
Ist aber definitiv sauberer. Wenn du beispielsweise error_reporting(E_ALL) verwendest, wirst du sonst hässliche Meldungen bekommen.
|
23.05.2005, 17:00:26
|
Anfänger
|
|
Registriert seit: May 2005
Beiträge: 5
|
|
AW: txt einlesen, 3 Spalten, sortiert? Hilfe!
Habs noch mal anders versucht!
Schaut mal!
Zwar nicht in einer Tabelle, aber funzt!
<h2>nicht sortiert</h2>
<?php
echo implode("<br>",file("daten.txt"));
?>
<hr>
<h2>sortiert</h2>
<?php
$file = file("daten.txt");
foreach($file as $line)
{
$line = chop($line);
list($ort,$datum,$text)=explode(":",$line);
$liste[] = array($ort,$datum,$text);
}
sort($liste);
foreach($liste as $line)
{
// $line ist ein Array mit den oben genannten Elementen
echo "Ort: $line[0]<br>\n";
echo "Datum: $line[1]<br>\n";
echo "Text: $line[2]<br>\n";
echo "<hr>\n\n";
}
?>
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
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 18:53:23 Uhr.
|