einträge in neue Spalte der Tabelle

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

  • einträge in neue Spalte der Tabelle

    Hi Leute

    Ich bin daran ein kleines Forum mit php und mySQL zu basteln. Jetzt das erste Problem

    Ich habe vor, die Einträge in eine Tabelle eintragen zu lassen. Wie schaff ich es, dass die Einträge immer in ein neues <tr> geschrieben werden?

    PHP-Code:
    <?
    global $i;
    $verbindung = mysql_connect("localhost", "root", "");
    mysql_select_db("forum", $verbindung);
    $abfrage = "SELECT * FROM forum";
    $ausgabe = mysql_query($abfrage);

    while($ergebnis = mysql_fetch_object($ausgabe))
    {
    global $id,$name,$titel,$text;
    $id = $ergebnis->id;
    $name = $ergebnis->name;
    $titel = $ergebnis->titel;
    $text = $ergebnis->text;
    }

    if ($i=1)
    {
    $bgcolor="#fff000";
    }
    else {
    $bgcolor="#9944ff";
     }

    ?>
    <table border="1">
    <tr bgcolor="<?php echo $bgcolor ?>">
    <td><? echo $id  ?></td>
    <td><? echo $name  ?></td>
    <td><? echo $titel  ?></td>
    <td><? echo $text  ?></td>
    </tr>
    </table>
    <?
    $i++;
    ?>
    Danke schon im Voraus

    Gruz

  • #2
    Der Anweisungsblock von [FONT=courier new]while[/FONT] ist ein bisschen zu kurz geraten würde ich sagen.
    Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
    PHP Sicherheit
    PHPUnit[1-2]
    Professionelle Softwareentwicklung mit PHP 5
    Professionelle PHP 5-Programmierung

    Kommentar


    • #3
      Re: einträge in neue Spalte der Tabelle

      Original geschrieben von wkd-
      Wie schaff ich es, dass die Einträge immer in ein neues <tr> geschrieben werden?
      ... indem du die Ausgabe geeignet in die While-Schleife integrierst.

      Kommentar


      • #4
        Und dein if ($i=1) gegen

        PHP-Code:
        $bgcolor = ($bgcolor=="#9944ff") ? $bgcolor "#fff000" $bgcolor "#9944ff"
        tauschen, dann klappts auch mit den farben....
        gruss Chris

        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

        Kommentar


        • #5
          Danke, danke...

          hhcm, dein Vorschlag begreiffe ich nicht ganz. Wo soll ich jetzt die Variable zuweisen?

          PHP-Code:
          while($ergebnis mysql_fetch_object($ausgabe))
          {
          global 
          $id,$name,$titel,$text;
          $id $ergebnis->id;
          $name $ergebnis->name;
          $titel $ergebnis->titel;
          $text $ergebnis->text;
          echo    
          "<table><tr><td><b> [b]Hierhin?[/b] ",
                  
          $id,
                  
          " ",
                  
          $name,
                  
          "</td></tr><tr><td>",
                  
          $name,
                  
          "</td></tr><tr><td>",
                  
          $text,
                  
          "</td></tr></table><br>";

          gruuuz

          Kommentar


          • #6
            Vorweg eine Frage. Möchtest du das die Tabellenzeilen immer
            abwechselnd eine andere Farbe haben oder ging es sich dir darum das die erste Zeile eine andere Farbe hat.

            Dein Code
            PHP-Code:
            if ($i=1)
            {
            $bgcolor="#fff000";
            }
            else {
            $bgcolor="#9944ff";

            würde bewirken das der erste durchlauf deiner Schleife die Farbe #fff000 ausgibt und der rest #9944ff da du den zähler am ende der schleife um eins erhöhst und somit kein weiteres mal 1 rauskommt.

            PHP-Code:
            $bgcolor = ($bgcolor=="#9944ff") ? $bgcolor "#fff000" $bgcolor "#9944ff"
            Heisst nichts anderes als
            Wenn Farbe = #9944ff dann Farbe = #fff000 ansonsten Farbe = #9944ff einfach nur eine verkürzte form eines If elseif.

            Dein letzter Post

            PHP-Code:
            while($ergebnis mysql_fetch_object($ausgabe))
            {
            global 
            $id,$name,$titel,$text;
            $id $ergebnis->id;
            $name $ergebnis->name;
            $titel $ergebnis->titel;
            $text $ergebnis->text;
            echo    
            "<table><tr><td><b> Hierhin? ",
                    
            $id,
                    
            " ",
                    
            $name,
                    
            "</td></tr><tr><td>",
                    
            $name,
                    
            "</td></tr><tr><td>",
                    
            $text,
                    
            "</td></tr></table><br>";

            würde übrigens auch nicht so wirklich funktionieren. Es sei denn
            du möchtest für jeden Datensatz eine komplett neue Tabelle anlegen. Das würde ziemlich krank aussehen

            <table> Vor die while schleife und </table> dahinter.
            und das $bgcolor kannst du da lassen wo´s in deinem ersten Posting auch schon stand..

            Ich hoffe jetzt hab ich dich nicht total durcheinander gebracht

            gruss Chris

            [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

            Kommentar


            • #7
              Zu deiner Frage:

              Nimm als Beispiel dieses Forum hier: z.B. beim ersten Eintrag in einem Thread hat er eine fast weisse Farbe. Dann komme z.B. ich und schreibe etwas hinein -> Mein Eintrag hat eine eher graue Farbe.

              In diesem Stil möchte ich mein Forum schreiben!

              PHP-Code:
              ?>
              <table>
              <?
              while($ergebnis = mysql_fetch_object($ausgabe))
              {
              global $id,$name,$titel,$text;
              $id = $ergebnis->id;
              $name = $ergebnis->name;
              $titel = $ergebnis->titel;
              $text = $ergebnis->text;
              echo    "<tr><td><b>",
                      $id,
                      " ",
                      $name,
                      "</td></tr><tr><td>",
                      $name,
                      "</td></tr><tr><td>",
                      $text,
                      "</td></tr>";
              }
              ?>
              </table>
              <?
              Mittlerweile sieht es so aus. Danke wegen dem Tipp mit dem Table. Hab mich auch shcon gefragt wie ich das machen soll, nur bin ich net drauf gekommen das vors while zu tun )

              Wie krieg ich denn das jetzt mit den Farben hin? Gruz

              Kommentar


              • #8
                Einfach aus dem <tr> ein <tr bgcolor="$bgcolor"> machen so wie du es schon im ersten posting hattest.
                gruss Chris

                [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                Kommentar


                • #9
                  Das geht eben leider nicht

                  Wenn ich
                  PHP-Code:
                  <tr bgcolor=[b]"[/b]$bgcolor[b]"[/b]> 
                  schreibe, gibt der Browser diese Meldung aus:

                  Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in D:\apachefriends\xampp\htdocs\forum\index.php on line 24

                  Wenn ich diese Gänsefüsschen entferne passiert rein gar nichts. Die Records meiner mysql-Tabelle werden zwar ausgegeben, aber man sieht nix von ner Farbe :/

                  Kommentar


                  • #10
                    Wenn du mit echo " anfängst muss das so aussehen

                    PHP-Code:
                    echo "<tr bgcolor=\"$bgcolor\">"
                    gruss Chris

                    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                    Kommentar


                    • #11
                      Es hat leider genau nichts geändert. Ich find einfach nicht raus an was des liegt :/

                      Hier nochmal der Code:

                      PHP-Code:
                      <html>
                      <head>
                      <title>Purple Forum »Weeeehaaaa!«</title>
                      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                      </head>

                      <body>
                      <?
                      global $i;
                      $verbindung = mysql_connect("localhost", "root", "");
                      mysql_select_db("forum", $verbindung);
                      $abfrage = "SELECT * FROM forum";
                      $ausgabe = mysql_query($abfrage);
                      ?>
                      <table border="1">
                      <?
                      while($ergebnis = mysql_fetch_object($ausgabe))
                      {
                      global $id,$name,$titel,$text;
                      $id = $ergebnis->id;
                      $name = $ergebnis->name;
                      $titel = $ergebnis->titel;
                      $text = $ergebnis->text;
                      echo    "<tr bgcolor=\"$bgcolor\"><td><b>",
                              $id,
                              " ",
                              $name,
                              "</td></tr><tr bgcolor=\"$bgcolor\"><td>",
                              $name,
                              "</td></tr><tr bgcolor=\"$bgcolor\"><td>",
                              $text,
                              "</td></tr>";
                      }
                      ?>
                      </table>
                      <?

                      if ($i=1)
                      {
                      $bgcolor="#fff000";
                      }
                      else {
                      $bgcolor="#9944ff";
                       }
                      ?>
                      <?
                      $i++;
                      ?>
                      </body>
                      </html>

                      Kommentar


                      • #12
                        PHP-Code:
                        if ($i=1
                        da ist schon ein fehler. außerdem gehört diese bedingung in die while-schleife. ($i++ auch).

                        gruß
                        peter

                        Kommentar


                        • #13
                          OffTopic:
                          so wenig ahnung von grundlagen, aber schon ein forum programmieren müssen ... na das kann ja wieder heiter werden.
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #14
                            danke scorpion. Das hab ich jetzt mal gefixt.
                            ich hab auch den anderen Fehler gefunden

                            Eigentlich wollte ich den Farbenwechsel so realisieren:

                            PHP-Code:
                            global $i;
                            $i 1;


                            while(........) {
                            if(
                            $i%2) {
                            farbe -> 
                            }
                            else
                            {
                            farbe ->

                            Kackfehler würd ich ma meinen Geschrieben ohne es zu merken

                            Danke Leute - aufwiederlesen

                            Kommentar


                            • #15
                              Und dein if ($i=1) gegen

                              PHP-Code:
                              $bgcolor = ($bgcolor=="#9944ff") ? $bgcolor "#fff000" $bgcolor "#9944ff"
                              tauschen, dann klappts auch mit den farben....

                              ----------------------------

                              Das habe ich dir geschrieben..
                              Ersetzt das untenstehende gegen meine Zeile

                              PHP-Code:
                              if ($i=1)
                              {
                              $bgcolor="#fff000";
                              }
                              else {
                              $bgcolor="#9944ff";
                               } 
                              gruss Chris

                              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                              Kommentar

                              Lädt...
                              X