whipsaw Posted October 4, 2013 Report Share Posted October 4, 2013 Hallo zusammen,Ich versuche mich gerade in php (bitte nicht zu laut lachen).Als Aufgabe habe ich mir dabei gestellt, eine Variable farbig zu kennzeichnen.Die Schrift soll via CSS rot eingefärbt werden, wenn der Wert negativ ist und grün, wenn positiv. <?php echo ($List['pricechange_ytd'])?number_format($List['pricechange_ytd'], 2, ',', '.'):'0,00';?> Weit bin ich ehrlich gesagt nicht gekommen.Deswegen auch die Bitte um einen kleinen Denkanstoß von Seiten der Profi-Coder.Vielen Dank schon mal im Vorauswhipsaw Quote Link to comment Share on other sites More sharing options...
Vola Posted October 4, 2013 Report Share Posted October 4, 2013 Ist sicher verkehrt und nicht hilfreich, aber ein Versuch ist es ja als Denkanstoß vllt. Einfacher Uhrzeit-AlgorithmusDas Layout kann man nach einfachen Kriterien verändern. In dem nächsten Beispiel bestimmen wir das Layout durch die Uhrzeit. Von 6 bis 18Uhr soll der Hintergrund weiß und die Schrift schwarz sein. Von 18 bis 6Uhr soll es wechseln. style.css.php PHP <?php header('Content-type: text/css'); if (date("H")>6 && date("H")<18){ $background = "white"; $color = "black"; } else { $background = "black"; $color = "white"; } ?> body { background-color: <?=$background?>; color: <?=$color?>; } index.html HTML <html> <head> <link rel="stylesheet" type="text/css" href="css/style_wmp.css.php"> </head> <body> Text </body> </html> In der CSS-PHP-Datei wird die Uhrzeit kontrolliert und dementsprechend die Werte festgelegt. Dies ist ein sehr simples Beispiel, welches jeder verstehen sollte. .Aufwendiger wird es mit Algorithmen, die ganze Boxen tauschen oder Inhalte ausblenden. Aber darin liegt der Reiz, möglichst dynamischen Content zu erstellen. Also hast es ja gelesen, nicht wirklich schwer, also streng Dich mal an. LOL, Vola versteht gar nichts Quelle Quote Link to comment Share on other sites More sharing options...
whipsaw Posted October 4, 2013 Author Report Share Posted October 4, 2013 function getColor($ytd) { if ($pricechange_ytd > 0) $color = '#006400'; if ($pricechange_ytd < 0) $color = '#8b0000'; if ($pricechange_ytd = 0) $color = '#000000'; } Wieso muss ich bei Deinen Tipps immer noch selbst nachdenken .... Oben mal meine Funktion, die eigentlich stimmen könnte . Ich weiß nur nicht, wie ich die mit dem anderen php Code verheiraten kann, damit sich die Farbe tatsächlich ändert. Quote Link to comment Share on other sites More sharing options...
conglom-o Posted October 4, 2013 Report Share Posted October 4, 2013 Das geht bspw. mittels if und dann ggf. verschiedene CSS-Stile mittels Basteln eines Strings einbinden. Bin heute zu kaputt, das hier rein zu hacken.Würde ich dann am Wochenende machen, wenn noch Bedarf da ist. Sag einfach Bescheid. Quote Link to comment Share on other sites More sharing options...
Vola Posted October 4, 2013 Report Share Posted October 4, 2013 Weiß nicht ob hier etwas für Dich dabei ist, ansonsten musst du warten bist die Programmierer alle ausgeschlafen haben, ist denke ich so ca 21:00 Quote Link to comment Share on other sites More sharing options...
Rumpel Posted October 4, 2013 Report Share Posted October 4, 2013 Weiß nicht ob hier etwas für Dich dabei ist, ansonsten musst du warten bist die Programmierer alle ausgeschlafen haben, ist denke ich so ca 21:00 Bin heute mal früher aufgestanden. <html> <head> <style type="text/css"> .red { color: #C70A0A; } .green { color: #28C20A; } </style> </head> <body> <?php $random = rand(-3, 5); // zu Testzwecken generieren wir eine zufällige Zahl zwischen -3 und 5 if ($random >= 0) { $class = "green"; } else { $class = "red"; } echo "<span class=\"".$class."\">".$random."</span>"; ?> </body> </html> @whipsaw: Dafür musst du uns aber auch sagen, was das werden soll. Das sieht nach etwas ganz spannendem aus. Solche Farbveränderungen bei ändernden Zahlen kenne ich von der Börse. Hat es damit vielleicht etwas zu tun? 2 Quote Link to comment Share on other sites More sharing options...
Vola Posted October 4, 2013 Report Share Posted October 4, 2013 Bin heute mal früher aufgestanden Na geht doch mit den jungen Hühnchen @whipsaw: Dafür musst du uns aber auch sagen, was das werden soll. Das sieht nach etwas ganz spannendem aus. Solche Farbveränderungen bei ändernden Zahlen kenne ich von der Börse. Hat es damit vielleicht etwas zu tun? Auf keinen Fall hat das was mit Börse zu tun, denke eher das ist für den Digitalisierten Kühlschrank - was ist noch da, was muss gekauft werden usw....Der Chief versucht sein Foodcenter zu tunen. Quote Link to comment Share on other sites More sharing options...
whipsaw Posted October 5, 2013 Author Report Share Posted October 5, 2013 Danke an alle, die mithelfen @Rumpel - - jetzt nur noch die Frage, wie ich $random in meinen Code einbauen muss. Auf keinen Fall hat das was mit Börse zu tun, denke eher das ist für den Digitalisierten Kühlschrank - was ist noch da, was muss gekauft werden usw.... Der Chief versucht sein Foodcenter zu tunen. Indirekt schon. Das ganze nennt sich DAX-Tafel-Watcher und ist eine Erweiterung von dem Teil. Die EA2Web-Komponente generiert immer dann ein Signal, wenn der Tiefstkurs erreicht ist (=grün) und ein Signal, wenn der Höchstkurs erreicht ist (rot). Quasi die Mutter aller KISS-Strategien in neuem Gewand. Quote Link to comment Share on other sites More sharing options...
Rumpel Posted October 5, 2013 Report Share Posted October 5, 2013 $random wäre dein Input. Also so in etwa. $random = $List['pricechange_ytd']; Bzw. $random im Script durch $List['pricechange_ytd'] ersetzen. Das wäre sauberer weil du eine Variable sparst. 1 Quote Link to comment Share on other sites More sharing options...
Mythos Posted October 5, 2013 Report Share Posted October 5, 2013 Darf ich, darf ich? :D (wollte gestern um 9 nichts schreiben weil eh schon alles gesagt war ;) Es ist die Frage wie/wo dein Codeschnippsel eingebettet ist, aber hier zB eine Variante wie rumpels schnipsel und dein code zusammenspielen würden:Formal schön wäre es natürlich das css in ein eigenes File zu packen etc. aber das sind feinheiten. <html> <head> <style type="text/css"> .red { color: #C70A0A; } .green { color: #28C20A; } </style> </head> <body> <?php $text= ($List['pricechange_ytd'])?number_format($List['pricechange_ytd'], 2, ',', '.'):'0,00'; if ($List['pricechange_ytd'] >= 0) { $class = "green"; } else { $class = "red"; } echo "<span class=\"".$class."\">".$text."</span>"; ?> </body> </html> 2 Quote Link to comment Share on other sites More sharing options...
whipsaw Posted October 5, 2013 Author Report Share Posted October 5, 2013 Ah cool.funktioniert!Den Style habe ich noch in eine CSS ausgelagert Cheers Jungs!Klasse Unterstützung (und ich habe wieder was dazugelernt). Eine Nachgelagerte Frage: $text - kann ich das immer verwenden, oder muss ich wenn ich eine andere Variable farbig möchte $text1 wählen? Quote Link to comment Share on other sites More sharing options...
Rumpel Posted October 5, 2013 Report Share Posted October 5, 2013 (edited) Wenn du das öfters durchspielen möchtest dann wäre eine Schleife sicher sinnvoll um das zu lösen. Aber dann müsstest du uns auch sagen in welcher Form deine Daten da ankommen. Du müsstest uns einen tieferen Einblick gewähren denke ich. Edit: Und nochwas: du "färbst keine Variable". Sondern du möchtest eine Ausgabe farbig anzeigen. Edited October 5, 2013 by Rumpel Quote Link to comment Share on other sites More sharing options...
Mythos Posted October 5, 2013 Report Share Posted October 5, 2013 $text ist einfach nur eine Variable. Die kannst du immer wieder neu belegen und verwenden. Aber wie Rumpel schon sagt: Wenn du uns ein bissl mehr Context gibst könnten wir auch gezielter helfen ;) Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.