CSV Tabelle - Zahl als Bild darstellen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CSV Tabelle - Zahl als Bild darstellen

    Ich bekomme eine CSV Tabelle, die ich auf einer Seite darstellen soll. Meine Programmierung dazu:

    <?php

    // Konfiguration
    $csvFile = 'wall_11.csv';
    $firstRowHeader = true;
    $maxRows = 20;

    // Daten auslesen und Tabelle generieren
    $handle = fopen($csvFile, "r");
    $counter = 0;
    echo '<table id="videowall" class="csvTable">';
    while(($data = fgetcsv($handle, 999, ";")) && ($counter < $maxRows)) {

    echo '<div class="fade-in">' . '<tr id="videozeile">';
    if(($counter == 0) && $firstRowHeader) {
    echo '<td class="laenge1">' . '<div id="rang">' .$data[0]. '</div>' . '</td>';
    echo "<td class='laenge2'><div id='flag'><img src='$data[10]'></div></td>";
    echo '<td class="laenge3">' . '<div id="startnumber">' .$data[3]. '</div>' . '</td>';
    echo '<td class="laenge4">' . '<div id="rider">' .$data[4]. '</div>' . '<div id="horse">' .$data[5].' </div>' . '</td>';
    echo '<td class="laenge5">' . '<div id="land">' .$data[8]. '</div>' . '</td>';
    echo '<td class="laenge6">'.$data[2].'</td>';
    echo '<td class="laenge8">'.$data[6].'</td>';
    echo '<td class="laenge9">' . '<div id="delay">' .$data[7]. ' </div>' . '</td>';

    }
    else {
    echo '<td class="laenge1">' . '<div id="rang">' .$data[0]. '</div>' . '</td>';
    echo "<td class='laenge2'><div id='flag'><img src='$data[10]'></div></td>";
    echo '<td class="laenge3">' . '<div id="startnumber">' .$data[3]. '</div>' . '</td>';
    echo '<td class="laenge4">' . '<div id="rider">' .$data[4]. '</div>' . '<div id="horse">' .$data[5].' </div>' . '</td>';
    echo '<td class="laenge5">' . '<div id="land">' .$data[8]. '</div>' . '</td>';
    echo '<td class="laenge6">'.$data[2].'</td>';
    echo '<td class="laenge8">'.$data[6].'</td>';
    echo '<td class="laenge9">'.$data[7].'</td>';

    }
    echo '</tr>' . '</div>';

    $counter++;
    }
    echo '</table>';

    fclose($handle);

    ?>
    Es funktioniert einwandfrei.

    Diese Zeile: echo '<td class="laenge6">'.$data[2].'</td>';

    soll nicht die Zahl von 1 - 8 aus dem CSV wiedergeben, sondern ein PNG (je nach Zahl gibt es 8 verschiedene, je einer Zahl zugehörige PNG's) , das in dem Ordner "Status" liegt darstellen.
    Kann mir hier jemand helfen - ich wäre dankbar.
    LG

  • #2
    https://www.php.de/forum/webentwickl...ild-darstellen

    Kommentar


    • #3
      Lösung gefunden

      Nach längerem Hin und Her hab und Kopfzerbrechen habe ich nun doch schlussendlich die Lösung meines Problems gefunden. Ich dachte ich veröffentliche Sie hier, für den Fall, dass doch ein Anfänger wie ich vor dem selben Problem steht. Vielleicht ist es irgendwann hilfreich.

      Das ist der komplette PHP-Code, der eine CSV Tabelle ausliest und darstellt:

      <?php

      // Konfiguration
      $csvFile = 'wall_11.csv';
      $firstRowHeader = true;
      $maxRows = 20;

      // Daten auslesen und Tabelle generieren
      $handle = fopen($csvFile, "r");
      $counter = 0;
      echo '<table id="videowall" class=\"csvTable\">';
      while(($data = fgetcsv($handle, 999, ";")) && ($counter < $maxRows)) {

      echo '<div class="fade-in">' . '<tr id="videozeile">';
      if(($counter == 0) && $firstRowHeader) {
      echo '<td class="laenge1">' . '<div id="rang">' .$data[0]. '</div>' . '</td>';
      echo "<td class='laenge2'><div id='flag'><img src='$data[10]'></div></td>";
      echo '<td class="laenge3">' . '<div id="startnumber">' .$data[3]. '</div>' . '</td>';
      echo '<td class="laenge4">' . '<div id="rider">' .$data[4]. '</div>' . '<div id="horse">' .$data[5].' </div>' . '</td>';
      echo '<td class="laenge5">' . '<div id="land">' .$data[8]. '</div>' . '</td>';
      echo "<td class='laenge6'><div id='status'><img src='status/".$data[2].".png'></div></td>";
      echo '<td class="laenge8">' . '<div id="time">' .$data[6]. ' </div>' . '</td>';
      echo '<td class="laenge9">' . '<div id="delay">' .$data[7]. ' </div>' . '</td>';

      }
      else {
      echo '<td class="laenge1">' . '<div id="rang">' .$data[0]. '</div>' . '</td>';
      echo "<td class='laenge2'><div id='flag'><img src='$data[10]'></div></td>";
      echo '<td class="laenge3">' . '<div id="startnumber">' .$data[3]. '</div>' . '</td>';
      echo '<td class="laenge4">' . '<div id="rider">' .$data[4]. '</div>' . '<div id="horse">' .$data[5].' </div>' . '</td>';
      echo '<td class="laenge5">' . '<div id="land">' .$data[8]. '</div>' . '</td>';
      echo "<td class='laenge6'><div id='status'><img src='status/".$data[2].".png'></div></td>";
      echo '<td class="laenge8">' . '<div id="time">' .$data[6]. ' </div>' . '</td>';
      echo '<td class="laenge9">' . '<div id="delay2">' . '+' .$data[7]. ' </div>' . '</td>';

      }
      echo '</tr>' . '</div>';

      $counter++;
      }
      echo '</table>';

      fclose($handle);

      ?>

      ----------------------------------------------------------
      Das war meine Problemzeile:

      echo "<td class='laenge6'><div id='status'><img src='status/".$data[2].".png'></div></td>";

      Diese liest nun Zahlen von 1 - 9 aus und stellt aber statt der Zahl ein hinterlegtes Bild aus einem anderen Ordner dar.

      Kommentar

      Lädt...
      X