Ankündigung

Einklappen
Keine Ankündigung bisher.

Frage zu einem mySQL/php/html Konstrukt

Einklappen

Neue Werbung 2019

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

  • Frage zu einem mySQL/php/html Konstrukt

    Ich hoffe ich kann die Frage verständlich ausdrücken ....
    Ich habe folgende Schleife:
    PHP-Code:
    while($row mysql_fetch_object($result_produkte)){
                    
                    echo 
    "
                    <td style='
                    border-right-width:    0px;
                    border-left-width:    0px;
                    border-top-width:    1px;
                    border-bottom-width:    1px;
                    border-style:        dashed;
                    border-color:        red;
                    padding:        0.1em;
                    text-align:        left; 
                    '>"
                    
    .$row->$daten_array[$anzahl].'</td>';
                    
                } 
    D.h. die Datensätze werden eingelesen und Nebeneinander ausgegeben, in einer Tabelle latürnich, so ungefähr:

    Produkt1 | Produkt2 | ...

    Ok, soweit sogut, jetzt kommen wir zu der Frage ->
    Ihr seht ja das ich die Zellen per style Attribut gestalte, WIE kann ich es so machen, dass der CSS Teil immer wechselt, d.h. dass die Rahmen Farbe z.B. wechselt.
    Also so ungefähr:

    Produkt1 (Rahmen=blau) | Produkt2 (Rahmen=rot) | Produkt3 (Rahmen=blau) | usw...

    Ich habe es schon mit einer IF Anweisung probiert um zu checken ob $anzahl gerade oder ungerade ist, hat auch soweit geklappt nur geht das dann nicht für die einzelnen Datensätze, sondern für die ganze Zeilen, sodass jede zweite Zeile anders farbig ist (das ganze ist nämlich eine Schleife die per Zaehler aus einer Datenbank ließt) ...

    Ich hoffe ich habe mein Anliegen halbwegs verständlich erklärt ...

    Gruß
    Daniel

  • #2
    25.17. Wie stelle ich Tabellenzeilen abwechselnd farbig dar?
    http://www.php-faq.de/q/q-code-tabellenfarbe.html

    Kommentar


    • #3
      http://www.php-faq.de/q/q-code-tabellenfarbe.html

      Tipp: Es lohnt sich immer mal wieder in dieser PHP-FAQ vorbeizuschauen wenn man ein Problem hat

      Ich habe es schon mit einer IF Anweisung probiert um zu checken ob $anzahl gerade oder ungerade ist, hat auch soweit geklappt nur geht das dann nicht für die einzelnen Datensätze, sondern für die ganze Zeilen, sodass jede zweite Zeile anders farbig ist (das ganze ist nämlich eine Schleife die per Zaehler aus einer Datenbank ließt) ...
      Das versteh ich nicht - zähle doch einfach bei der Ausgabe jedes Datensatzes mit...Das Prinzip bleibt doch das gleiche.

      Edit: Da war xabbuh wohl mal wieder schneller

      Kommentar


      • #4
        Ich würd das einfach so machen: Eine Variable, die TRUE ist, wenn die Zeile ungerade ist.

        PHP-Code:
        $ungerade TRUE;
        while(
        $row mysql_fetch_object($result_produkte)){              
          if (
        $ungerade) {
            
        $farbe "farbe für ungerade";
          } else {
            
        $farbe "farbe für gerade";
          }
          
        $ungerade = !$ungerade;
          
        // Ausgabe

        Kommentar


        • #5
          Danke schonmal für die Links, aber es sieht mir genauso aus wie das was ich schon hatte und was KingCrunch gesagt hat. Aber das ist ja nicht die Frage, ich hab mich wohl unverständlich ausgedrückt *g* nächster Versuch, sogar mit Bildern ^^

          So nehmen wir jetzt mal die Ausgabe von meiner Schleife:

          (Nach Rechts gehts noch weiter)
          Er gibt also alle Daten, die in der Tabelle Produkte in der Spalte 'Name' gespeichert sind aus. $anzahl ist ein Zähler, der den $_POST Array durchzählt, so ist z.B. beim ersten Durchlauf $anzahl = 0 = $_POST[0] = 'Name' beim zweiten $anzahl = 1 = $_POST[1] = 'Hersteller' usw.
          Demnach kommt nach der Zeile aus dem Bild eine zweite Zeile 'Hersteller' mit den dazu gehörigen Daten aus der DB. Und dann kommen noch so einige andere.

          Wenn ich das nun mit dem gerade / ungerade Prinzip mache also quasi so:

          PHP-Code:
          if ($anzahl%== 0) {
          while(
          $row mysql_fetch_object($result_produkte)){
                          
                          echo 
          "
                          <td style='
                          border-right-width:    0px;
                          border-left-width:    0px;
                          border-top-width:    1px;
                          border-bottom-width:    1px;
                          border-style:        dashed;
                          border-color:        red;
                          padding:        0.1em;
                          text-align:        left;
                          '>"
                          
          .$row->$daten_array[$anzahl].'</td>';
                          
                      } else {
          while(
          $row mysql_fetch_object($result_produkte)){
                          
                          echo 
          "
                          <td style='
                          border-right-width:    0px;
                          border-left-width:    0px;
                          border-top-width:    1px;
                          border-bottom-width:    1px;
                          border-style:        dashed;
                          border-color:        blue;
                          padding:        0.1em;
                          text-align:        left;
                          '>"
                          
          .$row->$daten_array[$anzahl].'</td>';
                          
                      }

          Dann färbt er mir die Zeilen abwechselnd mal rot mal blau, aber das meinte ich nicht ^^

          Schaut euch nochmal das Bild an, ich möchte das Produkt.1 ROT ist und Produkt.2 BLAU, 3. dann wieder ROT, usw. ^^

          Ich hoffe ich habe euch nicht falsch verstanden und ihr meintet das die ganze Zeit ...

          Gruß

          Kommentar


          • #6
            Sorry 4 Doppelpost

            Ich habe nun doch eine Lösung gefunden, auf die ich durch eure Hilfe gekommen bin!!

            PHP-Code:
            $foo 1;
                        while(
            $row mysql_fetch_object($result_produkte)){
                            if (
            $foo%== 0) {
                            echo 
            "
                            <td style='
                            border-right-width:    0px;
                            border-left-width:    0px;
                            border-top-width:    1px;
                            border-bottom-width:    1px;
                            border-style:        dashed;
                            border-color:        #990033;
                            padding:        0.1em;
                            text-align:        left; 
                            ' name='"
            .$foo."'>"
                            
            .$row->$daten_array[$anzahl].'</td><td></td>';
                            } else {
                            echo 
            "
                            <td style='
                            border-right-width:    0px;
                            border-left-width:    0px;
                            border-top-width:    1px;
                            border-bottom-width:    1px;
                            border-style:        dashed;
                            border-color:        blue;
                            padding:        0.1em;
                            text-align:        left; 
                            ' name='"
            .$foo."'>"
                            
            .$row->$daten_array[$anzahl].'</td><td></td>';
                            }
                            
            $foo++;
                        } 
            Danke!!!

            Gruß
            Daniel

            Kommentar

            Lädt...
            X