Ankündigung

Einklappen
Keine Ankündigung bisher.

Horizontale While-Schleife

Einklappen

Neue Werbung 2019

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

  • Horizontale While-Schleife

    Hallo Gemeinde,

    ich stehe vor dem Problem, dass ich eine while (bzw. do-while) - Schleife horizontal ausgeben lassen möchte, also quasi für jeden neuen Datensatz eine Tabellen-Spalte MEHR erzeugen möchte (von links nach rechts).
    Bisher habe ich es immer nur vertikal hinbekommen, also dass für jeden gefundenen Datensatz eine neue Zeile hinzugefügt wird.

    Hier mein Versuch, die Tabelle horizontal zusammen zu setzen: Erste Zeile beinhaltet die Saalbezeichnung, in die zweite Zeile soll dann entsprechend die Sitzplatz-Anzahl angezeigt werden:
    PHP-Code:

    $query_Saele = "SELECT * FROM Kino_saele WHERE Kino_id = $selected_Kino_id";
    $Saele = mysql_query($query_Saele, $connect) or die(mysql_error());
    $row_Saele = mysql_fetch_array($Saele);
    $totalRows_Saele = mysql_num_rows($Saele);

    <table>
        <tr>
            <th>Spielstätte</th>
            <?php do { ?>
            <th><?php echo $row_Saele['Saalbezeichnung'];?></th>
            <?php }  while ($row_Saele mysql_fetch_array($Saele));  ?>
        </tr>
        <tr>
            <td>Kino Capitol</td>
            <?php do { ?>
            <td><?php echo $row_Saele['Sitze']; ?></td>
            <?php }  while ($row_Saele mysql_fetch_array($Saele));  ?>
        </tr>
    </table>
    Für die erste Zeile der Tabelle funktioniert die Abfrage auch korrekt, aber in der zweiten Zeile wird außer der ersten Spalte (Kino Capitol) nichts mehr ausgegeben. Kann ich diese do-while Schleife nicht mehrmals hintereinander durchlaufen lassen?


  • #2
    Vermutung ohne im Detail darüber nachgedacht zu haben: Du musst den Zeiger zurücksetzen: http://de2.php.net/mysql_data_seek

    Vermutung2: Dein DB-Design ist falsch, den wenn du es richtig machst, dann verwendest du Joins http://www.peterkropff.de/site/mysql/joins.htm , und Gruppenbruch http://php-de.github.io/jumpto/gruppenbruch/ dafür und brauchst idR sowas nicht.

    Info: mysql_ wird bald nicht mehr funktionieren, da es aus PHP rausfliegt. Stichwörter mysqli_ oder PDO. http://php.net/manual/en/migration55.deprecated.php

    Und auch Sicherheit beachten, je nachdem was du da in deine query nimmst: http://php-de.github.io/jumpto/sql-injection/

    Achja .. und SELECT * ist auch eine Art Unart http://php-de.github.io/jumpto/code-smells/#select-

    LG
    Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
    PHP.de Wissenssammlung | Kein Support per PN

    Kommentar


    • #3
      Packe das Ergebnis deiner DB-Abfrage in ein (mehrdimensionales) Array, verarbeite die Daten bei Bedarf und gebe es dann als Tabelle aus.
      PHP-Klassen auf github

      Kommentar

      Lädt...
      X