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 |

04.02.2005, 21:35:02
|
Anfänger
|
|
Registriert seit: Feb 2005
Beiträge: 8
|
|
Textdatei auslesen und den Inhalt in eine Tabelle schreiben?
Hallo! In Sachen PHP bin ich totaler Neuling. Wie kriege ich es hin, dass aus einer Textdatei, wo alles, was später in die Tabelle kommt, untereinander steht, die Zeilen bis zum Ende der Datei ausgelesen werden und gleichzeitig die soeben ausgelesenen Zeilen geordnet in einer Tabelle stehen? Bei mir haut das noch nicht so hin, weil die Texte da etwas verschoben rauskommen (siehe meine Homepage, wo es noch etwas dauern wird, bis sie fertig ist: http://winetests.wi.ohost.de/getestet ).
Zusätzlich möchte ich noch von dem Ordner "bilder" in der Tabellenspalte "läuft problemlos" die Bilddateien "ja.png" für "ja", "nein.png" für "nein" und "jain.png" für "jain". Für Hilfe währe ich dankbar.
|

04.02.2005, 21:42:05
|
 |
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Ohne deinen Code zu kennen, ist es schwer, dir zu sagen, woran es hapert.
|

04.02.2005, 21:45:46
|
Anfänger
|
|
Registriert seit: Feb 2005
Beiträge: 8
|
|
der code:
<body style="color: rgb(0, 0, 0); background-color: rgb(255, 204, 0);"
alink="#000099" link="#000099" vlink="#990099">
<strong><u><div align="center">Spiele, die mit Wine laufen (oder auch nicht)</div></u></strong><br><br>
<table style="width: 100%; text-align: left;" border="1" cellpadding="2"
cellspacing="2">
<tbody>
<tr>
<td style="vertical-align: top;">Name des getesteten Spiels<br>
</td>
<td style="vertical-align: top;">läuft problemlos?<br>
</td>
<td style="vertical-align: top;">Hinweise<br>
</td>
<td style="vertical-align: top;">Tester<br>
</td>
</tr>
<?PHP
$datei = "spiele.csv";
$fp = fopen($datei,"r");
while(!feof($fp)){
$spname = fgets($fp,200);
$laufen = fgets($fp,5);
$hinw = fgets($fp,500);
$autor = fgets($fp,20);
echo '<tr>';
echo '<td>';
echo $spname;
echo '</td>';
echo '<td>';
echo $laufen;
echo '</td>';
echo '<td>';
echo $hinw;
echo '</td>';
echo '<td>';
echo $autor;
echo '</td>';
echo '</tr>';
}
fclose($fp);
?>
</tbody>
</table>
|

04.02.2005, 21:50:52
|
 |
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Ich würde die CSV-Datei anders aufbauen: Nimm für jeden Datensatz eine Zeile. Dort kannst du die Daten dann ja per Semikolon trennen.
Für die Anzeige schau dir die Funktion fgetcsv() an.
|

04.02.2005, 22:41:37
|
Anfänger
|
|
Registriert seit: Feb 2005
Beiträge: 8
|
|
frage
danke erstmal für den Link. Aber was, wenn im Satz der Textdatei ein Komma drin ist, das ausgegeben werden soll? Das gilt ja denn auch als Komma-Separierten Wert!
|

04.02.2005, 23:26:11
|
 |
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
Es gibt ja auch noch den vierten Parameter "enclosure", mit dem ein Zeichen angegeben wird, von dem die einzelnen Segmente umschlossen sind. Üblich ist hier, soweit ich weiß, das doppelte Anführungszeichen. Wenn nun in einem Segment noch ein Anführungszeichen vorkommen soll, muss dies, meine ich, mit einem " maskiert werden.
Beispiel: Du hast einen Datensatz, der aus 3 Elementen besteht.
1. irgendwas
2. noch mehr
3. und "noch" mehr
Würde zu:
"irgendwas","noch mehr", "und ""noch"" mehr"
Probier damit einfach mal ein wenig herum.
Mehr zu CSV-Dateien, findest du hier: http://de.wikipedia.org/wiki/CSV
|

05.02.2005, 09:28:38
|
Anfänger
|
|
Registriert seit: Feb 2005
Beiträge: 8
|
|
danke
Klappt wunderbar! Die Homepage wird sich dann speziell auf WINE (einen Windows-Emulator) konzentrieren und bald fertig sein. MfG Julien.
|

06.02.2005, 16:15:46
|
Anfänger
|
|
Registriert seit: Aug 2003
Beiträge: 83
|
|
AW: Textdatei auslesen und den Inhalt in eine Tabelle schreiben?
Hi, habe ein Problem mit sowas ähnligem.
ich will genau eine Zeile ausgeben (aus einer csv datei)
PHP-Code:
$tpl=$_GET[action];
$tpl = intval(substr($tpl,5)) OR die("Hei das mit dem inval klappt net :(");
$fp = fopen("error.csv","r") OR DIE("DIE DATEI LÄSST SICH NICHT ÖFFNEN!");
$fgetcsv = fgetcsv($fp,207,';') or die("das mit fgetcsv geht nicht!");
fclose($fp) or die("DATEI LÄSST SICH NICHT SCHLIEßEN!");
echo "<p>FEHLER!!!! UND ZWAR:<br><b>".$fgetcsv[$tpl];
Sprich ich gebe in die adressenleiste ein 'datei.php?action=error2'
Und will so die 2.Zeile aus der Datei error.csv auslesen.
Ausgegeben wird aber leider nur:
'FEHLER!!!! UND ZWAR:
'
Geändert von Slaughter (06.02.2005 um 16:17:02 Uhr)
|

06.02.2005, 17:07:58
|
 |
SELFPHP Guru
|
|
Registriert seit: May 2003
Beiträge: 7.187
|
|
AW: Textdatei auslesen und den Inhalt in eine Tabelle schreiben?
Hast du mal print_r($fgetcsv) gemacht? Wie sieht die Ausgabe aus? Welchen Wert hat $tpl?
|

06.02.2005, 17:19:21
|
Anfänger
|
|
Registriert seit: Aug 2003
Beiträge: 83
|
|
AW: Textdatei auslesen und den Inhalt in eine Tabelle schreiben?
hmm...
$tpl hat den Wert 2 (action=error2) ist also alles ok
aber $fgetcsv
hat nur den wert:
Array ( [0] => Sie haben keine ausreichenden Rechte, um diese Seite zu betreten. Sie sind Usergruppe User, brauchen aber den Status eines Administrators! [1] => )
sprich, der hat irgendwie aufgehört, nach dem ersten :(
aber sollte der nicht nach jedem ';'
ein neuen 'Array-Abschnitt'(array[abschnitt]<-mein ich^^) beginnen?
Warum tut er das nicht?
|
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 05:23:12 Uhr.
|