Homepage selbermachen 7.852 Themen, 35.619 Beiträge

Tabelle per PHP erzeugen...Problem

Heinz_Malcher / 4 Antworten / Baumansicht Nickles

Hallo,
ich habe folgendes Problem, ich möchte aus einer textdatei daten zeilenweise holen,
und ich möchte dann pro zeile folgende struktur erzeugen:

<tr>
<td>Inhalt zeile 1</td>
<td>Inhalt zeile 2</td>
<td>Inhalt zeile 3</td>
</tr>

Allerdings bekomme ich das mit dem <tr> erneut erzeugen nicht hin:
alle erzeugten <td>tags landen also innerhalb des einen <tr> tags, spricht <tr> wird
im gegensatz zu den <td> tags nicht erneut erzeugt.

Hier ein auszug, wie es zur zeit aussieht:


print\'<table>\';

foreach($zeile_1 as $1)

foreach($zeile_2 as $2)

foreach($zeile_3 as $3)

{
echo "<tr>";
echo "<td valign=top height=\'75\' width=\'22%\'>$1</td>";
echo "<td valign=top height=\'75\' width=\'39%\'>$2</td>";
echo "<td valign=top height=\'75\' width=\'39%\'>$3</td>";

echo "</tr>";

}


print\'</table>\';
bei Antwort benachrichtigen
xafford Heinz_Malcher „Tabelle per PHP erzeugen...Problem“
Optionen

ich würde das anderst lösen, ich nehme an, du liest es aus einer textdatei, die mit zeilenumbrüchen und einem anderen trennzeichen formatiert ist, dann würde ich alles in ein zweidimensionales array packen. index1 ist zeile, index2 die elemente und dann wie folgt formatieren lassen:
foreach ($arrayxy as $zeile){
print("<tr>");
foreach($zeile as $element){
print("<td>$element</td>");
}
print("</tr>");
}
wobei das array folgendermaßen erzeugt wird:
angenommen $string ist der komplette inhalt der textdatei
$zeile=explode("\\n",$string);
foreach($zeile as $index1){
$element=explode("dein elementtrennzeichen",$index1);
$array[]=$element;
}

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
Heinz_Malcher xafford „ich würde das anderst lösen, ich nehme an, du liest es aus einer textdatei,...“
Optionen

danke xafford, werde mir die sache mal zu gemüte führen

gruss heinz

bei Antwort benachrichtigen
Borlander Heinz_Malcher „Tabelle per PHP erzeugen...Problem“
Optionen

@xafford: Erst Arrays zu erzeugen halte ich für zu aufwendig. Ein großes Array braucht auch nur unnötig viel Speicher.

Das sollte etwas kürzer sein:
echo '<TABLE>';
$fd = fopen ("%%Dateiname%%", "r");
while (!feof($fd))
{
    echo '<TR><TD>';
    // Bei längeren Zeilen die Zeichenanzahl (4096) erhöhen
    $buffer = fgets($fd, 4096);
    echo str_replache($buffer,'%%Trennezeichen%%', '</TD><TD>');
    echo '</TD></TR>';
}
fclose ($fd);
echo '</TABLE>';


CU Borlander

bei Antwort benachrichtigen
xafford Borlander „@xafford: Erst Arrays zu erzeugen halte ich für zu aufwendig. Ein großes Array...“
Optionen

stimmt...für reine ausgabe hast du recht, da dürfte deine variante schneller laufen und ist auch sinnvoller, wenn die daten nicht weiterverwendet werden.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen