Automatische Nummerrierung
Stahl Florian
- php
0 Tom0 Matze
Hallo an alle,
habe folgende Frage:
Ich habe eine .txt Datei in welcher Daten aus einem anderen Programm stehen. Nun lasse ich die Datei mit PHP auslesen.
Soweit funktioniert auch alles.
Nun möchte ich das er beim Auslesen jedem Datensatz eine lfd.Nr. vergibt, welche er auch ausliest.
Bis jetzt:
Name, Vorname, Datum
Vorhaben:
Automatische fotlaufende Nr, Name, Vorname, Datum
Vll. kann mir hier jemand weiterhelfen, ich stehe hier voll am Schlauch. Danke schon mal im vorraus!
Mit freundlichen Grüssen
------------------------
Florian
------------------------
Hello Florian,
Ich habe eine .txt Datei in welcher Daten aus einem anderen Programm stehen. Nun lasse ich die Datei mit PHP auslesen.
Wie lautet denn das Stückchen PHP-Code zum Auslesen (bitte ohne HTML...)?
Nun möchte ich das er beim Auslesen jedem Datensatz eine lfd.Nr. vergibt, welche er auch ausliest.
Soll "er" sie nun vergeben, oder soll "er" sie mit auslesen und dann lediglich mit anzeigen?
Name, Vorname, Datum
Vorhaben:
Automatische fotlaufende Nr, Name, Vorname, Datum
Vll. kann mir hier jemand weiterhelfen, ich stehe hier voll am Schlauch. Danke schon mal im vorraus!
Aber wie man in einer Schleife die Durchläufe zählen kann, ist Dir schon klar?
$loops = 0;
while(<laufbedingung>)
{
$loops++;
## tu was...
}
Du kannst erst hochzählen und dann etwas mit dem Zähler tun (ways ich persönlich für richtig halte), oder Du tust erst etwas und zählst dann hoch, oder du fängst gar nicht bei 0 an, sondern mittendrin...
Das hängt eigentlich immer von Deiner Aufgabenstellung ab. Wenn es um Anzahl geht, würde ich daher immer erst hochzählen, dann tun. Und interessant ist es noch, was beim Ende der Schleife mit dem Zähler passiert. In PHP bleibt er erhalten und ist nach der Schleife nutzbar.
Harzliche Grüße aus dem
verschneiten Sankt Andreasberg
und Frohe Weihnachtszeit
Tom
Hallo an alle,
Wie lautet denn das Stückchen PHP-Code zum Auslesen (bitte ohne HTML...)?
<?php
$eintrag=file('200712.txt');
$ausgabe="<br>";
$temp=count($eintrag)-1;
for($i=$temp;$i>=0;$i--)
{$element=explode(',',$eintrag[$i]);
$element[2]=str_replace('"','',$element[2]);
$element[2]=trim($element[2]);
$element[3]=str_replace('"','',$element[3]);
$element[3]=trim($element[3]);
$element[8]=str_replace('"','',$element[8]);
$element[8]=trim($element[8]);
$element[1]=str_replace('"','',$element[1]);
$element[1]=trim($element[1]);
$element[36]=str_replace('"','',$element[36]);
$ausgabe.="<tr class="dienste">";
$ausgabe.="<td class="dienste"></td>";
$ausgabe.="<td class="dienste">".$element[2]."</td>";
$ausgabe.="<td class="dienste">".$element[3]."</td>";
$ausgabe.="<td class="dienste">".$element[8]."</td>";
$ausgabe.="<td class="dienste">".$element[1]."</td>";
$ausgabe.="<td class="dienste">".$einsatzart."</td>";
$ausgabe.="</tr>";}
?>
Soll "er" sie nun vergeben, oder soll "er" sie mit auslesen und dann lediglich mit anzeigen?
"Er" soll sie vergeben. Die Startnummer soll aber selbst eingestellt werden können.
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
Hello,
Wie lautet denn das Stückchen PHP-Code zum Auslesen (bitte ohne HTML...)?
<?php
$eintrag=file('200712.txt');
$ausgabe="<br>";
$temp=count($eintrag)-1;
for($i=$temp;$i>=0;$i--){$element=explode(',',$eintrag[$i]);
$element[2]=str_replace('"','',$element[2]);
$element[2]=trim($element[2]);$element[3]=str_replace('"','',$element[3]);
$element[3]=trim($element[3]);$element[8]=str_replace('"','',$element[8]);
$element[8]=trim($element[8]);$element[1]=str_replace('"','',$element[1]);
$element[1]=trim($element[1]);$element[36]=str_replace('"','',$element[36]);
$ausgabe.="<tr class="dienste">";
$ausgabe.="<td class="dienste"></td>";
$ausgabe.="<td class="dienste">".$element[2]."</td>";
$ausgabe.="<td class="dienste">".$element[3]."</td>";
$ausgabe.="<td class="dienste">".$element[8]."</td>";
$ausgabe.="<td class="dienste">".$element[1]."</td>";
$ausgabe.="<td class="dienste">".$einsatzart."</td>";
$ausgabe.="</tr>";}?>
Du machst Dir das Leben auch schwer.
File ist hier nicth wirklich Dein Freund, denn es handelt sich doch augenscheinlich um eine sogenannte CSV-Datei, was dann auch schon ein bisschen besser ist, als eine Textdatei mit beliebigem Inhalt (bei der also nicht darauf geachtget wurde, welche Zeichen in den Datensätzen erlaubt sind).
<?php
## Voreinstellungen
$rowcount = 0; ## Zeilenzähler startet bei $rowcount + 1
$filename = '200712.txt';
#------------------------------------------------------------------------
## Daten holen
$_table = array(); ## leeres Array bereitstellen
$fh = fopen($filename,'rb'); ## Datei zum Lesen öffnen
if (!$fh) ## Öffnen hat nicht geklappt
{
## Fehlerbehandlung
}
else
{
if (!flock($fh, LOCK_SH)) ## Datei ausschießlich zum Lesen sperren
{
fclose($fh); ## Datei schließen, weil Sperre nicht erfolgreich war
## Fehlerbehandlung
}
else
{
$_record = array(); ## Leeres Array als Satzpuffer bereitstellen
while($_record = fgetcsv($fh, 0, ',', '"'))
{
$rowcount++;
$_table [$rowcount] = $_record; ## Datensatz unter dem
## Index $rowcount in Array übertragen
}
# http://de2.php.net/manual/de/function.fgetcsv.php
fclose($fh); ## Datei schließen
}
}
#--------------------------------------------------------------------
## Daten ausgeben
if (is_array($_table))
{
echo "<pre>\n";
foreach ($_table as $key => $_record) ## jeden Datensatz ausgeben
{
echo "[$key]\t";
foreach($_record as $data) ## jedes Feld in jedem Datensatz ausgeben
{
echo htmlspecialchars($data) . "\t";
}
echo "\n"; ## Zeilenumbruch nach dem Datensatz
}
echo "</pre>\n";
}
Ich habe das jetzt nicht geprüft, aber versuch mal, ob es so funktioniert.
Und dann frag, wenn Dir etwas nicht klar ist bei dem Vorschlag.
Üblicherweise macht man dann aus "Daten holen" und "Daten ausgeben" jeweils eine Funktion. Die kann man immer wieder benutzten und muss sie nicht jedes mal nue coden.
Die Ausgabefunktion kann dann natürlich auch eine HTML-Tabelle erzeugen, muss dann aber darauf achten, dass fehlende Zellen in einer Zeile aufgefüllt werden. Das kann bei "kaputten" CSV-Dateien schon mal passieren, dass die unterschiedliche Anzahl von Elementen in einer Zeile (Datensatz) haben.
Harzliche Grüße aus dem
verschneiten Sankt Andreasberg
und Frohe Weihnachtszeit
Tom
Hello,
entschuldige bitte. Ich wollte Dir eigentlich die englische Handbuchseite verlinken.
http://de2.php.net/manual/en/function.fgetcsv.php
Die deutsche ist nicht volständig.
Solltest Du auch selber immer gucken. Die deutschen Seiten sind oft nicht vollständig oder sogar leicht fehlerhaft übersetzt. Aber zum groben Einlesen doch leichter...
Harzliche Grüße aus dem
verschneiten Sankt Andreasberg
und Frohe Weihnachtszeit
Tom
Hallo Tom,
dankeschön, etz haut des aber irgendwie net so ganz hin. Der bringt nen Syntaxfehler "unerwartetes Ende" in der letzten Zeile. Also wo das ?> steht.
Hier mal der Script
<?php
$rowcount = 0;
$filename = '200712.txt';
$_positive = array(0,3,4,5);
$_table = array();
$fh = fopen($filename,'rb');
if (!$fh) {;} else {if (!flock($fh, LOCK_SH))
{fclose($fh);}
else {$_record = array();
while($_record = fgetcsv($fh, 0, ',', '"'))
{
$rowcount++;
$_table [$rowcount] = $_record;
}
fclose($fh);
}
}
if (is_array($_table))
{
echo "<pre>\n";
foreach ($_table as $key => $_record)
{
echo "[$key]\t";
foreach($_positive as $index)
{
if(isset($_record[$index]))
{
echo htmlspecialchars($_record[$index]) . "\t";
}
echo "\n";
}
echo "</pre>\n";
}
?>
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
Hello Florian,
dankeschön, etz haut des aber irgendwie net so ganz hin. Der bringt nen Syntaxfehler "unerwartetes Ende" in der letzten Zeile. Also wo das ?> steht.
Hier mal der Script
Das ist aber nicht nett, dass Du "meine Formatierung" vernichtet hast.
Es ist meiner meinung nach überhaupt kein Zeichen von besonderer Potenz, sich diese "Chaosformatierung" anzugewöhnen. Ich gebe zu, es erfordert einige Überwindung, sich den "luftigen Stil" der Weicheier, die von Programmierung sowieso nichzts verstehen, anzugewöhnen und sich den für "harte Kerle" und diejenigen, die "die Programmiersprache erfunden haben" abzugewöhnen...
Aber es lohnt sich spätestens bei der Fehlersuche immer wieder!
Dazu gehören vernünftige Eintückungstiefen (ich muss hier noch an mir arbeiten und enlich auf vier Spalten umstellen) und vernünftige Klammersetzung (öffnende und schließende Klammern gleicher Hierarchie gehören in die gleiche Spalte!!!! (hundertmal) ) sowie viele verständliche Kommentare.
<?php ### get_csv_data.php ###
$rowcount = 0;
$filename = '200712.txt';
$_positive = array(0,3,4,5);
$_table = array();
#---------------------- Daten holen -----------------------
$fh = fopen($filename,'rb');
if (!$fh)
{ ## do nothing
;
}
else
{
if (!flock($fh, LOCK_SH))
{
fclose($fh);
}
else
{
$_record = array();
while($_record = fgetcsv($fh, 0, ',', '"'))
{
$rowcount++;
$_table [$rowcount] = $_record;
}
fclose($fh);
}
}
#------------------- Daten verarbeiten und ausgeben ---------------
if (is_array($_table))
{
echo "<pre>\n";foreach ($_table as $key => $_record)
{
echo "[$key]\t";foreach($_positive as $index)
{
if(isset($_record[$index]))
{
echo htmlspecialchars($_record[$index]) . "\t";
}
echo "\n";
}
echo "</pre>\n";
}
}
?>
Dann hättest Du auch bemerkt, dass Du einfach eine Klammer vergessen hast am Ende des Scriptes.
Ich hatte das andere überigens noch ausprobiert und bis auf den schließenden Tag ( ?> ) hatte ALLES gestimmt. Das war mir noch nie vorher bei einem nur eben schnell hingeschriebenen Script geglückt! Du jast also irgendwie eine Premiere miteerlebt :-)
Also, nimm das korrigierte Script, lass die Formatierung so, wie sie ist, setze vernünftige Kommentare dazu, denn nur die zeigen, dass Du verstanden hast, was da eigentlich passiert.
Und dann speicher Dir das Script unter einem plausiblen Namen in Deiner Sammlung ab.
Wenn Du dann in einem halben Jahr mal eben schnell eine Lösung suchst, dieses dann hoffentlch _funktionierende_ Script in Deiner Sammlung findest, die Kommentare liest, und sofoert weißt, an welcher Stelle Du eine Zeile einfügen musst, um die neuen Anforderungen zu erfüllen, DANN hast Du etwas gelernt.
Wiederverwendbarer Code findet sich nämlich nicht nur in möglichst fetten Klassenbibliotheken, sondern auch in kleinen aber gut sortierten Sammlungen solcher "Snippets"...
Harzliche Grüße aus dem
verschneiten Sankt Andreasberg
und Frohe Weihnachtszeit
Tom
Hallo Tom,
Aber es lohnt sich spätestens bei der Fehlersuche immer wieder!
Stimmt, ist leichter nachzuvollziehen. Danke.
Dann hättest Du auch bemerkt, dass Du einfach eine Klammer vergessen hast am Ende des Scriptes.
Jop.
Ich hatte das andere überigens noch ausprobiert und bis auf den schließenden Tag ( ?> ) hatte ALLES gestimmt. Das war mir noch nie vorher bei einem nur eben schnell hingeschriebenen Script geglückt! Du jast also irgendwie eine Premiere miteerlebt :-)
Na das ist doch mal positiv.
Also, nimm das korrigierte Script, lass die Formatierung so, wie sie ist, setze vernünftige Kommentare dazu, denn nur die zeigen, dass Du verstanden hast, was da eigentlich passiert.
Habe es benommen, doch ich bekomme als Ergebniss leider nur eine leere Seite angezeigt, komme aber nicht auf den Fehler.
Und dann speicher Dir das Script unter einem plausiblen Namen in Deiner Sammlung ab.
Habe ich gemacht.
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
Hello,
Also, nimm das korrigierte Script, lass die Formatierung so, wie sie ist, setze vernünftige Kommentare dazu, denn nur die zeigen, dass Du verstanden hast, was da eigentlich passiert.
Habe es benommen, doch ich bekomme als Ergebniss leider nur eine leere Seite angezeigt, komme aber nicht auf den Fehler.
Na, dann ran an die Fehlersuche.
Das Script hat ja bei mir (unter optimalen Voraussetzungen) ordnungsgemäß funktioniert.
Bei Dir kommt nur eine leere Seite.
Also liegt doch nahe, dass der Fehler dort steckt, wo ich Baustellen hinterlassen habe, also Deine rahmenbedingungen an diesen Stellen andere sind.
Überall dort, wo ich einfach nur
## Fehlerbehandlung
geschreiben habe, musst Du auftretende fehler auch irgendwie verarbeiten.
Da ich keine gemacht habe (ausnahmsweise!), sind diese Bedingszweige bei mir auch nicht aktiv geworden.
Schreib also als erstes dort mal eine Kontrollausgabe rein und du wirst sehen, wo es klemmt.
Außerdem schalte Dein
Error_Reporting(E_ALL);
und lasse alle Fehler auch auf der Standardausgabe ausgeben
ini_set('display_errors','1');
Dann sollte sich zumindest schon 'mal eine Meldung zeigen.
Harzliche Grüße aus
Sankt Andreasberg
und Guten Rutsch
Tom
Hallo Tom,
die Daten werden jetzt angezeigt: An der Stelle an der jetzt die 1 steht, stand vorher eine Null. Nach dieser Änderung hat dann(fast)alles funktioniert.
while($_record = fgetcsv($fh, 1, ',', '"')) ## Trennzeichen festlegen
Diese Datei hat ca. 60 Elemente. Ich möchte sie aber nicht löschen die nicht benötigten, da dies ja sonst keine Arbeitserleichterung wäre. Darum hast du mir ja das mit dem Selektieren gezeigt:
$_positive = array(2,3,8,1,36,); ## Liste der Spalten-Indexe, die ausgegeben werden sollen
Er gibt später aber nur die Elemente 2,3,8,1 aus. Das Element 36 lässt er Warum auch immer Weg. Das passiert bei allen zweistelligen "Elementzahlen" die ich eingebe. Ausnahme die Nr. 10, die gibt er noch aus.
Warum denn das?
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
Hello Florian,
while($_record = fgetcsv($fh, 1, ',', '"')) ## Trennzeichen festlegen
http://de.php.net/manual/en/function.fgetcsv.php
Must be greater than the longest line (in characters) to be found in the CSV file (allowing for trailing line-end characters). It became optional in PHP 5. Omitting this parameter (or setting it to 0 in PHP 5.0.4 and later) the maximum line length is not limited, which is slightly slower.
Wenn Deine PHP-Version kleiner als 5.0.4 ist, dann solltest Du da einen möglichst großen Wert einsetzen, also einen, der groß genug ist, um den längsten Datensatz aufzunehmen (Satzlänge + 2)
$_positive = array(2,3,8,1,36,); ## Liste der Spalten-Indexe, die ausgegeben werden sollen
Er gibt später aber nur die Elemente 2,3,8,1 aus. Das Element 36 lässt er Warum auch immer Weg. Das passiert bei allen zweistelligen "Elementzahlen" die ich eingebe. Ausnahme die Nr. 10, die gibt er noch aus.
Warum denn das?
Weil du die Sätze "zerkloppst" durch die zu kurze Satzlänge beim Lesen.
Harzliche Grüße aus
Sankt Andreasberg
und Guten Rutsch
Tom
Hallo an alle,
Wenn Deine PHP-Version kleiner als 5.0.4 ist, dann solltest Du da einen möglichst großen Wert einsetzen, also einen, der groß genug ist, um den längsten Datensatz aufzunehmen (Satzlänge + 2)
Habe auf meinem lokalen Apache Server die PHP Version 5.1.2. Also auch wenn ich einen anderen Wert setze, passiert nichts, ausser ich setze ab 240 rein, dann macht er aber alles wild durcheinander.
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
Hello,
Wenn Deine PHP-Version kleiner als 5.0.4 ist, dann solltest Du da einen möglichst großen Wert einsetzen, also einen, der groß genug ist, um den längsten Datensatz aufzunehmen (Satzlänge + 2)
Habe auf meinem lokalen Apache Server die PHP Version 5.1.2. Also auch wenn ich einen anderen Wert setze, passiert nichts, ausser ich setze ab 240 rein, dann macht er aber alles wild durcheinander.
Könntest Du das "wild durcheinander" noch etwas näher beschreiben?
foreach($_positive as $index) ## arbeitet das Array $_positive der Reihe nach ab.
{
if(isset($_record[$index])) ## und holt aus dem $_record das passende Feld dazu
{
echo htmlspecialchars($_record[$index]) . "\t";
}
echo "\n";
}
}
Da kann ich nichts sehen von wild durcheinander.
Vielleicht reicht 240 noch nicht als Satzlänge?
Setz ruhig mal 4096 ein, es wird schon nichts kaputt gehen dadurch...
Harzliche Grüße aus
Sankt Andreasberg
und Guten Rutsch
Tom
Hallo Tom,
Könntest Du das "wild durcheinander" noch etwas näher beschreiben?
Ich meine damit nicht das Script, sondern die Ausgabe im Browser. Ich habe ja die Werte in die Positiveliste eingetragen. Bis auf den Wert 36 funktionieren ja alle. Wenn ich jetzt aber die Satzlänge ändere, dann kommen irgendwelche Daten für den Wert 36, die ich aber gar nicht haben will.
Da kann ich nichts sehen von wild durcheinander.
Vielleicht reicht 240 noch nicht als Satzlänge?
Setz ruhig mal 4096 ein, es wird schon nichts kaputt gehen dadurch...
Es ändert sich nur bei 240 oä. was. Sonst passiert da gar nichts.
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
Hello,
Es ändert sich nur bei 240 oä. was. Sonst passiert da gar nichts.
Dann wäre es Zeit, dass Du uns entweder einen Link gibst auf die Ausgabe und das Script (bitte als script.php.txt), die Auasgaben hier textuell oder auch als Screenshot postest, Fehlermeldungen sammelst, Kontrollausgaben einbaust usw.
Nur mit den Aussagen, es wäre wild durcheinander und sonst passiere gar nichts können wir hier (ich vermute, die Anderen auch nicht) gar nichts anfangen. Wir können ja nicht reingucken in Deinen Server.
Harzliche Grüße aus
Sankt Andreasberg
und Guten Rutsch
Tom
Hallo Tom,
werde es am kommenen Wochenende posten. Bin im Moment sehr viel im Stress und kaum zuhause.
Bin an der Hilfe und Lösung weiterhin interessiert.
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
Hallo Tom,
sorry, dass dies so lange gedauert hat.
Jetzt mal die ganzen Sachen
1. Die Textdatei
Ich kann aus dieser Datei die Daten selbst nicht posten bzgl. des Datenschutzes. Ich poste dir die Struktur und den genauen Aufbau
Ein Datensatz ist folgendermaßen aufgebaut:
"Daten","Daten2","Daten3", ...
2. Der Script
<?php
## Voreinstellungen
$rowcount = 0; ## Zeilenzähler startet bei $rowcount + 1
$filename = '200712.txt';
$_positive = array(2,3,8,1,36,); ## Liste der Spalten-Indexe, die ausgegeben werden sollen
#------------------------------------------------------------------------
## Daten holen
$_table = array(); ## leeres Array bereitstellen
$fh = fopen($filename,'rb'); ## Datei zum Lesen öffnen
if (!$fh) ## Öffnen hat nicht geklappt
{
echo "Öffnungsfehler";
}
else
{
if (!flock($fh, LOCK_SH)) ## Datei ausschießlich zum Lesen sperren
{
fclose($fh); ## Datei schließen, weil Sperre nicht erfolgreich war
echo "Datei geschlossen weil Sperre nicht erfolgreich war";
}
else
{
$_record = array(); ## Leeres Array als Satzpuffer bereitstellen
while($_record = fgetcsv($fh,452, ',', '"')) ## Trennzeichen festlegen
{
$rowcount++;
$_table [$rowcount] = $_record; ## Datensatz unter dem
## Index $rowcount in Array übertragen
}
fclose($fh); ## Datei schließen
}
}
#--------------------------------------------------------------------
## Daten ausgeben
if (is_array($_table))
{
echo "<pre>\n";
foreach ($_table as $key => $_record) ## jeden Datensatz ausgeben
{
echo "$key\t";
foreach($_positive as $index) ## Positiv-Liste abarbeiten
{
if(isset($_record[$index])) ## und schauen, ob ein Feld im Datensatz
{ ## dafür vorhanden ist
echo htmlspecialchars($_record[$index]) . "\t";
}
}
echo "\n"; ## Zeilenumbruch nach dem Datensatz
}
echo "</pre>\n";
}
?>
3. Die Ausgabe
Hoffe das reicht erst mal. Wenn du noch was brauchst, sag einfach bescheid.
Dankeschön!
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
@@Tom:
Dazu gehören vernünftige Eintückungstiefen (ich muss hier noch an mir arbeiten und enlich auf vier Spalten umstellen)
Live long and prosper,
Gunnar
Hallo Tom,
danke erstmal für die gute Antwort! Hat soweit auch super geklappt.
Jetzt kommen in dieser Datei aber auch Felder in Datensätzen vor, die ich nicht auslesen will. Wie kann ich denn hier jetzt diese selektieren?
Mit freundlichen Grüssen
------------------------
Stahl Florian
------------------------
Hello,
danke erstmal für die gute Antwort! Hat soweit auch super geklappt.
Bitte, gerne geschehen. :-)
Jetzt kommen in dieser Datei aber auch Felder in Datensätzen vor, die ich nicht auslesen will. Wie kann ich denn hier jetzt diese selektieren?
Der erste Schritt ist wohl, dass Du Dir klar machst, welche Schleife für was verantwortlich ist.
Das Script arbeitet im Prinzip als Batch-Script, also Daten holen, Daten aufbereiten und ausgeben. Konsequenterweise könnte man den zweiten Schritt auch noch aufteilen in zwei, dann hätte man das klassische EVA-Prinzip.
Jedenfalls sind die beiden foreach-Schleifen-Konstrukte vür
- vertikale (Datensätze)
und
- horizontale (Felder in den datensätze)
Verarbeitung zuständig.
Du könntest jetzt in der Feldverarbeitung entweder eine Sperrliste aufbauen, also Datenfelder mit einer bestimmten Position im Satz von der Ausgabe ausschließen, oder aber du baust eine Positivliste auf, in der Du die Index der Datenfelder angibst, die Du ausgeben willst.
Ich poste Dir mal das Beispiel für die Positivliste:
irgendwo in der Konfiguration festlegen:
$_positive = array(0,3,4,5); ## Liste der Spalten-Indexe, die ausgegeben werden sollen
foreach($_positive as $index) ## Positiv-Liste abarbeiten
{
if(isset($_record[$index)) ## und schauen, ob ein Feld im Datensatz
{ ## dafür vorhanden ist
echo htmlspecialchars($_record[$index]) . "\t";
}
}
Du siehst, dass das mit Arrays ein relativ kleiner chirurgischer Eingriff ist.
Das wesentliche ist aber auch hier wieder
Harzliche Grüße aus dem
verschneiten Sankt Andreasberg
und Frohe Weihnachtszeit
Tom
Hallo,
Nun möchte ich das er beim Auslesen jedem Datensatz eine lfd.Nr. vergibt, welche er auch ausliest.
Bis jetzt:
Name, Vorname, Datum
Vorhaben:
Automatische fotlaufende Nr, Name, Vorname, Datum
Datei öffnen, mit einer Schleife zeilenweise auslesen, Nummer hinzufügen, Zeile überschreiben, Datei schließen.
Reicht dir das um das Script zu schreiben?
Schau dir einfach die Dateifunktionen von PHP mal an. (nicht der beste Link, ich weiß)
Grüße, Matze