MrB: Farben von Zellen definieren nach Wert

Hallo zusammen,

Da ich hier am verzweifeln bin muss ich mal eure Hilfe in Anspruch nehmen. Ich möchte einzelne Zellen ja nach Wert eine andere Hintergrundfarbe geben. z.B. bei Wert > 50 = green ; Wert > 50 = black usw. Per PHP hab ichs auch hinbekommen und zwar so:

    $sql = 'SELECT * FROM `user2` ORDER BY anzahl desc;';  
    $db->query($sql);  
    $content .= '<table>';  
    $content .= '  
    <table>  
    <tr>  
    <td align=center>  
                   <th>ID</th>  
                   <th>Name</th>  
                   <th>Credits</th>  
                   <th>Reflink</th>  
                   <th>bisher gespendet</th>  
                   <th>bisher bekommen</th>  
                   <th>Status Becher</th>  
                   <th>Votes</th>  
                   <th>Logged In</th>  
                 </td>  
                 </tr>';  
    while($data = $db->fetch())  
  
      $content .= '  
      <tr>  
      <td align=center>  
                    <td>'.$data['id'].'</td>  
                    <td style="BACKGROUND-COLOR: '.(($data['password'] != 'blabla') ? 'green' : 'black' ).'">'.$data['name'].'</td>  
                    <td style="BACKGROUND-COLOR: '.(($data['credits'] > 0) ? 'green' : 'orange' ).'">'.$data['credits'].'</td>  
                    <td style="BACKGROUND-COLOR: '.(($data['reflink'] > 1000000) ? 'green' : 'red' ).'">'.$data['reflink'].'</td>  
                    <td style="BACKGROUND-COLOR: '.(($data['anzahl'] < 500) ? 'green' : 'blue' ).'">'.$data['anzahl'].'</td>  
                    <td style="BACKGROUND-COLOR: '.(($data['get'] < 300) ? 'green' : 'red' ).'">'.$data['get'].'</td>  
                    <td style="BACKGROUND-COLOR: '.(($data['full'] == 0) ? 'green' : 'darkgreen' ).'">'.$data['full'].'</td>  
                    <td style="BACKGROUND-COLOR: '.(($data['vote'] <= 2) ? 'green' : 'red' ).'">'.$data['vote'].'</td>  
                    <td style="BACKGROUND-COLOR: '.(($data['login'] == 0) ? 'green' : 'navy' ).'">'.$data['login'].'</td>  
  
      </tr>';  
  
    $content .= '</table>';

Da ich mir den Code teilweise zusammen greimt habe bin ich bis jetzt noch nicht dahinter gekommen wofür $content steht (bin Anfänger :-) )

Da ich mit reinem PHP nicht klar komme bzw. mir nicht reicht bin ich auf Gemisch zwischen PHP und HTML (fürs Aussehen) umgestiegen nur da funktioniert $content nicht mehr. Die reine Tabelle hab ich zwar auch hinbekommen nur klappt das so nicht mit den Farben :

<?  
$sql = 'SELECT * FROM `user2` ORDER BY anzahl desc;';  
    $db->query($sql);  
  
echo "  
    <table align=center width=90% border=1 bordercolor=#000000 cellpadding=0 cellspacing=2>  
";  
echo "  
    <tr>  
    <td align=center>  
                   <th>ID</th>  
                   <th>Name</th>  
                   <th>Credits</th>  
                   <th>Reflink</th>  
                   <th>bisher gespendet</th>  
                   <th>bisher bekommen</th>  
                   <th>Status Becher</th>  
                   <th>Votes</th>  
                   <th>Logged In</th>  
                 </td>  
                 </tr>  
";  
				 				  
while ($data = $db->fetch())  
  
echo "  
      <tr>  
      <td align=center>  
	  	    <td> {$data['id']} </td>  
                    <td> {$data['name']} </td>  
                    <td> {$data['credits']} </td>  
                    <td> {$data['reflink']} </td>  
                    <td> {$data['anzahl']} </td>  
                    <td> {$data['get']} </td>  
                    <td> {$data['full']} </td>  
                    <td> {$data['vote']} </td>  
                    <td> {$data['login']} </td>  
      </tr>  
";  
echo"  
    </table>  
";

Kann mir mal einer helfen und mir sagen wo ich zu doof bin. Denke ja das es an dem echo liegt, weis nur nicht wie ich das sonst hinbekommen soll.

THX ALL

MrB

  1. Moin!

    Wo genau besteht jetzt Dein Problem, den Code zu kopieren?

    --
    "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
          - T. Pratchett
    1. Mein Problem besteht darin das ich nicht weis wie ich folgenden Bereich in einem echo Befehl schreibe : '.(($data['password'] != 'blabla') ? 'green' : 'black' ).'">'.$data['name'].'

      Da echo ja keine Funktion ist und das ja nicht unterstützt oder liege ich da falsch.

      1. Moin!

        Mein Problem besteht darin das ich nicht weis wie ich folgenden Bereich in einem echo Befehl schreibe : '.(($data['password'] != 'blabla') ? 'green' : 'black' ).'">'.$data['name'].'

        Da echo ja keine Funktion ist und das ja nicht unterstützt oder liege ich da falsch.

        Ähh...

        Hast Du's schonmal probiert? Oder mal nen Blick in's Manual geworfen?

        --
        "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
              - T. Pratchett
        1. Klar hab ichs schon probiert und mir auch das manual angeschaut, nur steige ich da nicht durch.
          Am sinnvollsten wäre für mich ein kleines Beispiel. Damit komm ich immer am Besten klar.

          1. Hello,

            Klar hab ichs schon probiert und mir auch das manual angeschaut, nur steige ich da nicht durch.
            Am sinnvollsten wäre für mich ein kleines Beispiel. Damit komm ich immer am Besten klar.

            Am einfachste wäre es, erstmal nur das HTML zu schreiben, was nachher dabei herauskommen soll für den Abschnitt. Das überprüfst Du mit minimalsitischem Drumherum auf Validität. Soweit muss das passen.

            Dann enwickelst Du ein möglichst schlankes CSS für den HTML-Abschnitt, sodass er anschließend so aussieht, wie Du ihn dir vorgestellt hast. Das CSS setzt Du zentral in das HTML-Scipt ein, so wie es in SelfHTML beschrieben wird (CSS, zentrale Formate). Auch für CSS gibt es einen Validator, den Du benutzen solltest.

            Anschließend überlegst Du Dir, wie Du nun mit Hilfe von PHP das HTML und das CSS generieren könntest. Dabei helfen wir Dir dann gerne.

            Du wirst dazu vermutlich benötigen:

            • Variablen
            • Stringzuweisungen mit ' und "
            • Arrays
            • Bedingungen
            • Schleifen
            • ...

            und erst ganz zum Schluss die Ausgabe-Funktionen.

            Liebe Grüße aus dem schönen Oberharz

            Tom vom Berg

            --
            Nur selber lernen macht schlau
            http://bergpost.annerschbarrich.de
          2. Hola!

            Ganz ehrlich: Ich fühle mich bei Deiner Frage etwas veralbert. Aber ich will mal nicht so sein und schreib was dazu.

            Klar hab ichs schon probiert und mir auch das manual angeschaut, nur steige ich da nicht durch.

            Aha.

            Am sinnvollsten wäre für mich ein kleines Beispiel. Damit komm ich immer am Besten klar.

            Wo ist der Unterschied?

            einmal

            $content = 'Hallo '.$name.'!';  
            echo $content;
            

            und einmal

            echo 'Hallo '.$name.'!';

            Am Ergebnis dürftest Du keinen Unterschied feststellen können...

            --
            "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                  - T. Pratchett
            1. Hola!

              Ganz ehrlich: Ich fühle mich bei Deiner Frage etwas veralbert. Aber ich will mal nicht so sein und schreib was dazu.

              »» Klar hab ichs schon probiert und mir auch das manual angeschaut, nur steige ich da nicht durch.

              Aha.

              »» Am sinnvollsten wäre für mich ein kleines Beispiel. Damit komm ich immer am Besten klar.

              Wo ist der Unterschied?

              einmal

              $content = 'Hallo '.$name.'!';

              echo $content;

              
              >   
              > und einmal  
              >   
              > `echo 'Hallo '.$name.'!';`{:.language-php}  
              >   
              > Am Ergebnis dürftest Du keinen Unterschied feststellen können...  
              >   
              
              Tja und genau das ist das Problem !!! Es gibt einen Unterschied !!! Nämlich den das es so nicht funktioniert. Sry wenn du dich veralbert fühlst aber wenn es so einfach wäre wie du denkst hätte ich nicht gefragt! Aber sei´s drum ich werd´s schon alleine raus finden.
              
              1. Hi,

                könntest du jetzt bitte endlich mal vernünftig zitieren? Das, worauf du dich konkret beziehst, und nicht einfach alles!

                $content = 'Hallo '.$name.'!';

                echo $content;

                
                > >  
                > > `echo 'Hallo '.$name.'!';`{:.language-php}  
                > >  
                > > Am Ergebnis dürftest Du keinen Unterschied feststellen können...  
                > >  
                > Tja und genau das ist das Problem !!! Es gibt einen Unterschied !!! Nämlich den das es so nicht funktioniert.  
                  
                Tja, das Beispiel oben "funktioniert" und liefert in beiden Fällen das gleiche.  
                  
                Du hast doch in den [Tipps für Fragende](/hilfe/charta.htm#tipps-fuer-fragende) nachgelesen, dass man dir nur dann aufzeigen kann, wo du etwas falsch machst, wenn du überhaupt erst mal zeigst, \*was\* du gemacht hast - also wieso tust du das nicht?  
                  
                MfG ChrisB  
                  
                
                -- 
                Light travels faster than sound - that's why most people appear bright until you hear them speak.
                
                1. Ok , hast recht. Hab mir mal gerade nochmal alles durchgelesen und musste selber feststellen das ich das irgendwie schlecht dargestellt habe. Also da mal ein SRY von mir !

                  Ein Dankeschön an alle die sich die Mühe mit mir gegeben haben und einem Anfänger versucht haben zu helfen.

                  Habs mitlerweile selber raus gefunden und deshalb ist das Thema jetzt erledigt :-).

                  Nur zur Info, es lag an meiner eigenen DOOFHEIT. Einfach mal ein ' vergessen hier und da. Fehler gefunden und behoben und siehe da es funktioniert.

      2. Hi,

        Mein Problem besteht darin das ich nicht weis wie ich folgenden Bereich in einem echo Befehl schreibe : '.(($data['password'] != 'blabla') ? 'green' : 'black' ).'">'.$data['name'].'

        Da echo ja keine Funktion ist und das ja nicht unterstützt oder liege ich da falsch.

        echo erwartet einen oder mehrere Ausdrücke, durch Kommata getrennt.

        Mehrere Ausdrücke, die vom Typ String sind bzw. sich dorthin konvertieren lassen, kannst du mit dem Verkettunsoperator . verknüpfen.

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
  2. Da ich mir den Code teilweise zusammen greimt habe bin ich bis jetzt noch nicht dahinter gekommen wofür $content steht (bin Anfänger :-) )

    Du meinst, Du hast ihn irgendwo kopiert und verstehst ihn jetzt nicht?

    Da ich mit reinem PHP nicht klar komme bzw. mir nicht reicht bin ich auf Gemisch zwischen PHP und HTML (fürs Aussehen) umgestiegen nur da funktioniert $content nicht mehr.

    Was ist denn Dein Problem mit reinem PHP?

    Die reine Tabelle hab ich zwar auch hinbekommen nur klappt das so nicht mit den Farben

    Natürlich nicht, Du hast den "Code für die Farben" ja garnicht mehr drin. Wo sollen die dann herkommen?

    Kann mir mal einer helfen und mir sagen wo ich zu doof bin. Denke ja das es an dem echo liegt, weis nur nicht wie ich das sonst hinbekommen soll.

    Es liegt nicht am Echo. Schau Dir nochmal den Ursprungscode an, und überlege Dir, wo genau eigentlich die Ausgabe der Daten erfolgt.

    Drei Hinweise:

    • Alles was mit $ anfängt ist eine Variable, das gilt auch für $content
    • $bla .= 'test' bedeutet: "Nimm die Variable $bla und ergänze den Inhalt mit der Zeichenkette 'test'.
    • Wenn Du Code kopierst, kopier ihn vollständig ;)
    1. »» Da ich mir den Code teilweise zusammen greimt habe bin ich bis jetzt noch nicht dahinter gekommen wofür $content steht (bin Anfänger :-) )

      Du meinst, Du hast ihn irgendwo kopiert und verstehst ihn jetzt nicht?

      Ok $content hab ich gefunden und zwar heist es echo $content;. Hätte ich mir auch denken können

      »» Da ich mit reinem PHP nicht klar komme bzw. mir nicht reicht bin ich auf Gemisch zwischen PHP und HTML (fürs Aussehen) umgestiegen nur da funktioniert $content nicht mehr.

      Was ist denn Dein Problem mit reinem PHP?

      *Grins* Mein Problem ist die Faulheit :) Für HTML gibts schönere Editoren.

      »» Die reine Tabelle hab ich zwar auch hinbekommen nur klappt das so nicht mit den Farben

      Natürlich nicht, Du hast den "Code für die Farben" ja garnicht mehr drin. Wo sollen die dann herkommen?

      *grins* das ist mir schon klar, dass der Code für die Farben nicht mehr drin ist. Den bekomm ich ja gerade nicht rein bzw. zum Funktionieren

      »» Kann mir mal einer helfen und mir sagen wo ich zu doof bin. Denke ja das es an dem echo liegt, weis nur nicht wie ich das sonst hinbekommen soll.

      Es liegt nicht am Echo. Schau Dir nochmal den Ursprungscode an, und überlege Dir, wo genau eigentlich die Ausgabe der Daten erfolgt.

      Drei Hinweise:

      • Alles was mit $ anfängt ist eine Variable, das gilt auch für $content

      Wie gesagt gefunden! Vorher immer überlesen :(

      • $bla .= 'test' bedeutet: "Nimm die Variable $bla und ergänze den Inhalt mit der Zeichenkette 'test'.

      Schon klar, nur wenn man die Variable $bla nicht findet, zugegebener Maßen weil man doof ist, dann ist´s mit dem Verstehen schlecht .

      • Wenn Du Code kopierst, kopier ihn vollständig ;)

      Welchen Code meinst du ??