Airis: Datenbank auslesen und in HTML wiedergeben

Hallo Zusammen,

kann mir jemand sagen in welcher Form ich ein Wiedergabe in HTML gestalte, wenn meinen DB-Daten z.B. wie folgt vorliegen:
"echo $row->NAME;".
Wie schreibe ich dann in HTML?
<?php echo ?????????  ?>

Kann mir jemand helfen?
Airis

  1. Hallo Airis,

    kann mir jemand sagen in welcher Form ich ein Wiedergabe in HTML gestalte, wenn meinen DB-Daten z.B. wie folgt vorliegen:
    "echo $row->NAME;".
    Wie schreibe ich dann in HTML?
    <?php echo ?????????  ?>

    Ich verstehe dein Problem nicht. Kannst du es bitte genauer beschreiben?

    Bis dann!

    Marc Reichelt || http://www.marcreichelt.de/

    --
    Linux is like a wigwam - no windows, no gates and an Apache inside!
    SELFCode: ie:{ fl:| br:> va:} ls:< fo:} rl:( n4:( ss:) de:> js:| ch:? sh:| mo:) zu:)
    http://emmanuel.dammerer.at/selfcode.html
    1. Hallo Marc,

      mein Problem ist, ich weis nicht wie ich mein Datenbankabfrage ( Daten werden ohne Problem per "echo" ausgegeben) später im HTML-Teil ausgeben kann.
      Habe es so versucht:
      <?php echo $_POST['NAME']; ?>
      <?php echo $['NAME']; ?>
      <?php echo $row->NAME; ?>
      funzt aber alles nicht, was mache ich falsch?
      Airis

      1. Hello,

        mein Problem ist, ich weis nicht wie ich mein Datenbankabfrage ( Daten werden ohne Problem per "echo" ausgegeben) später im HTML-Teil ausgeben kann.
        Habe es so versucht:
        <?php echo $_POST['NAME']; ?>
        <?php echo $['NAME']; ?>
        <?php echo $row->NAME; ?>
        funzt aber alles nicht, was mache ich falsch?

        Du bentuzt die falsche Funzel.

        Vielleicht solltest Du uns mal Deine Datenbankabfrage zeigen.
        Ich ahne Deinen Fehler.

        Wenn Du die Datenbankabfrage nur dazu benutzt, die Daten z.B. bei MySQL mittels mysql_fetch_assoc() oder mysql_fetch_oject() zu holen und gleich gleich auszugeben, ist der Zeiger im resultset am Ende der Abfrageschleife natürlich am Ende angekommen, und echo $row->NAME kann dann nichts mehr ausgeben.

        Außerdem sollte man sich da eine Funktion oder Methode erstellen, die die Daten mundgerecht in einen String verpackt. Will man eine Tabelle haben, so muss / kann man die Tabellen-Tags gleich mit in den String generieren lassen.

        Und im HTNL-Teil sagt man dann nur noch

        ...

        <?php echo $_table[1]; ?>

        Wenn man dann eben im Array-Element $_table[1] bis $_table[$n] seine ganzen Tabellen für die Ausgabe vorbereitet hat.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau
        1. Hallo nochmal,

          das ist mein Abfrage-Statement in verkürzter Form:

          <?php
          $abfrage1 ="SELECT count(nickname) AS anzahl, nickname, dauer
            FROM wait
            GROUP BY nickname, dauer
            HAVING nickname='".$_SESSION["nickname"]."'";
          $ergebnis1 = mysql_query($abfrage1) or die (mysql_error());
          while($row = mysql_fetch_object($ergebnis1))
          {
            echo $row->anzahl;
            echo $row->nickname;
            echo $row->dauer;
            if ($row->anzahl =='2' && $row->dauer =='2')
            {
              $abfrage2 ="SELECT NAME, TEXT
                FROM position
                WHERE POSITIONID = 1 ";
              $ergebnis2 = mysql_query($abfrage2) or die (mysql_error());
              while($row = mysql_fetch_object($ergebnis2))
              {
                echo $row->NAME;
                echo $row->TEXT;
              }
            }
            else
            {
              echo " FALSCH";
            }
          }
          ?>

          Muss ich hier etwas ändern?
          Airis

          1. Hello,

            das ist mein Abfrage-Statement in verkürzter Form:

            <?php
            $abfrage1 ="SELECT count(nickname) AS anzahl, nickname, dauer
              FROM wait
              GROUP BY nickname, dauer
              HAVING nickname='".$_SESSION["nickname"]."'";

            hier fehlt noch was, oder?

            $ergebnis1 = mysql_query($abfrage1) or die (mysql_error());

            Hier fehlt die Kontrolle. Mal verkürzt dargestellt:
            if (!$ergebnis) echo "<p class="error">Fehler bei der Abfrage: ".mysql_error($con)."</p>";

            while($row = mysql_fetch_object($ergebnis1))
            {
              echo $row->anzahl;
              echo $row->nickname;
              echo $row->dauer;

            }

            Den Rest lassen wir erstmal beiseite.

            Wenn man Variablen oder Objekte für ein Abfrageergebnis mehrfach benutzt, muss man nch andere Dinge beachten.

            Harzliche Grüße aus http://www.annerschbarrich.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
            Nur selber lernen macht schlau
            1. Hallo Tom,

              vieleicht stehe ich heute Abend auf dem Schlauch, es funzt einfach nicht.

              Ich habe

              if (!$ergebnis) echo "<p class="error">Fehler bei der Abfrage: ".mysql_error($con)."</p>";

              eingebaut, allerdings mit einer 1 hinter !ergebnis.
              Ich bekomme alle echo's wie zuvor, allerdings kein echo in HTML.
              Irgendetwas mache ich noch falsch, weis allerdings nicht was?

              Airis

  2. Hello,

    kann mir jemand sagen in welcher Form ich ein Wiedergabe in HTML gestalte, wenn meinen DB-Daten z.B. wie folgt vorliegen:
    "echo $row->NAME;".
    Wie schreibe ich dann in HTML?
    <?php echo ?????????  ?>

    z.B.:

    <td class="links rot"><?php echo nl2br(htlmentities(wordwrap($row->NAME),$spaltenbreite,NEWLINE,1))); ?></td>

    von innen nach außen:

    Mit wordwrap()http://de3.php.net/manual/de/function.wordwrap.php werden lange Ausdrücke ohne Trennzeichen gewaltsam nach $spaltenbreite Zeichen mittels NEWLINE "umgebrochen". Beide Werte ($spaltenbreite und auch die Konstante NEWLINE) musst Du Dir an geeigneter Stelle festlegen.

    Mit htmlentities() http://de3.php.net/manual/de/function.htmlentities.php werden alle HTML-eigenen Zeichen im String durch Entitäten (Bsp: &#039;) ersetzt Das einfache Häkchen habe ich hier als Beispiel zur besonderen Beachtung ausgewählt. LIes Dir bitte das Manual durch.

    Mit nl2br() werden dann alle NEWLINE-Zeichen im Text durch vorausgehendes ein <br> bzw <br /> ergänzt. Das geht natülich nur NACH dem htmlentities(), denn sonst würden die eingefügten Breakes gleich wieder in Entitäten verwandelt werden.

    Wordwrap() und nl2br() benötigt man aber nur, wenn man in einem HTML-Bereich ausgeben will, nicht aber in einer <Textarea> oder einem <input>-Element.

    Harzliche Grüße aus http://www.annerschbarrich.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. Hallo Tom,

      besten Dank für Deine sehr umfangreiche Antwort auf meinen Tread.
      Ich denke mein Problem liegt ein kleinwenig anders.
      Ich habe folgende Varianten ausprobiert, die allerdings alle nicht funzen.
      <?php echo $_POST['NAME']; ?>
      <?php echo $['NAME']; ?>
      <?php echo $row->NAME; ?>
      Kannst Du mir sagen was ich anders machen muss um zu einer Ausgabe zu kommen?
      Airis

      1. Hello,

        <?php echo $row->NAME; ?>

        Kannst Du mir sagen was ich anders machen muss um zu einer Ausgabe zu kommen?

        So leider nicht. Auch in meiner zweiten Antwort habe ich nur geraten, wo denn Dein Fehler stecken könnte. Da ich aber keinen Zugriff auf Deine Scripte habe (ich heiße ja nicht Billy), kann ich das nicht überprüfen.

        Sag uns doch bitte (in kurzer Form), wie Du die Datanbankabfrage machst.

        Harzliche Grüße aus http://www.annerschbarrich.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau