Datei als Tabelle ausgeben

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Datei als Tabelle ausgeben

    Hallo Leute,

    ich kämpfe schon wieder mit 2 neuen Problemen:

    1. Ich würde gerne folgenden Code in einer Tabelle ausgeben. Das geht irgendwie mit "explode" glaube ich gelesen zu haben.

    Also die Textdatei hat folgendes Aussehen:

    daten1 | daten2 | daten3 | daten4

    Mein Code:

    Quellcode

    1. <?php
    2. print '<table width=100% border=0 cellspacing=0 cellpadding=2><tr><td><center>';
    3. function reverse($array) {
    4. $neuarray=array();
    5. for($i=count($array)-1; $i >= 0; $i--) {
    6. $neuarray[]=$array[$i];
    7. }
    8. return $neuarray;
    9. }
    10. $daten=file("test.txt");
    11. $je_seite=25;
    12. $daten=reverse($daten);
    13. $anzahl=count($daten);
    14. function seitenanzahl() {
    15. global $daten, $je_seite, $anzahl;
    16. $seitenzahl=ceil($anzahl/$je_seite);
    17. return $seitenzahl;
    18. }
    19. if($_GET["seite"]>0 && $_GET["seite"] <= seitenanzahl() && is_numeric($_GET["seite"])) {
    20. $a_seite=$_GET["seite"];
    21. }
    22. else {
    23. $a_seite=1;
    24. }
    25. $anfang_eintraege=($a_seite*$je_seite)-25+1;
    26. $ende_eintraege=$a_seite*$je_seite;
    27. for ($i=$anfang_eintraege; $i<=$ende_eintraege; $i++) {
    28. if($i <= $anzahl) {
    29. echo $daten[($i-1)]."<br>";
    30. }
    31. }
    32. print '</td></tr><tr><td bgcolor=#C0C0C0><font face=verdana size=2>';
    33. echo "<b>Seite:</b> ";
    34. for ($i=1; $i<=seitenanzahl(); $i++) {
    35. if ($i==1) {
    36. $anzeige=" 1 ";
    37. }
    38. if($i>1 && $i<seitenanzahl()) {
    39. $anzeige=" ".$i." ";
    40. }
    41. if ($i == seitenanzahl()) {
    42. $anzeige=" ".$i." ";
    43. }
    44. if ($i != $a_seite) {
    45. echo "<a href='".$PHP_SELF."?seite=".$i."' style=\"text-decoration: none;\">".$anzeige."</a>";
    46. }
    47. else {
    48. echo $anzeige;
    49. }
    50. }
    51. print '</td></tr></table></center>';
    52. ?>
    Alles anzeigen


    Und wie schaffe ich es, dass ich dann bei jeder Zeile eine Checkbox oder eine Löschfunktion einbaue, wenn ich mal einen Eintrag daraus löschen will?

    Ich bin daran bis jetzt immer kläglich gescheitert.

    Gruß Inekai
    "Die Wahrheit wird oft verdunkelt, aber sie erlischt nie."

    Livius
  • ich will dir nicht das ganze Script erstellen.
    Aber die einzigen Funktionen die du dazu benötigst sind [phpdoc]file[/phpdoc], [phpdoc]fopen[/phpdoc], [phpdoc]fwrite[/phpdoc], [phpdoc]fclose[/phpdoc]

    Hier ein Trick, wie du eine Datei mit folgendem Aufbau in ein zweidimensionales Array bekommst.

    Aufbau der Datei
    links1|mitte1|rechts1
    links2|mitte2|rechts2
    links3|mitte3|rechts3


    Trick:

    Quellcode

    1. //liest die Datei in ein 2 Dimensionales Array
    2. $table = array_map(create_function('$a','return explode("|",$a);'), file('tabelle.txt'));


    Wert:

    Quellcode

    1. Array
    2. (
    3. [0] => Array
    4. (
    5. [0] => links1
    6. [1] => mitte1
    7. [2] => rechts1
    8. )
    9. [1] => Array
    10. (
    11. [0] => links2
    12. [1] => mitte2
    13. [2] => rechts2
    14. )
    15. [2] => Array
    16. (
    17. [0] => links3
    18. [1] => mitte3
    19. [2] => rechts3
    20. )
    21. )
    Alles anzeigen


    Du solltest dir übrigens angewöhnen, die Funktionen immer über dem Rest des Quellcodes zu verbauen.
  • Aha, also in meinem Fall also so:

    Quellcode

    1. <?php
    2. $inhalt = file('test.txt');
    3. $datei = "test.txt"; // Name der Datei
    4. $array = file($datei); // Datei in ein Array einlesen
    5. for ($i = 0; $i < count($array); $i++) {
    6. $array[$i] = explode("|" , $array[$i]);
    7. echo "<tr><th bgcolor=#EAEAEA>" . ($i+1) . "</th>"; // Zeilennummer
    8. for ($a = 0; $a < 4; $a++) { // 4 Tabellenspalten
    9. echo "<td bgcolor=#EAEAEA>" . $array[$i][$a] . "</td>";
    10. }
    11. echo "</tr> \n";
    12. }
    13. ?>
    Alles anzeigen
    "Die Wahrheit wird oft verdunkelt, aber sie erlischt nie."

    Livius