farbtabelle generieren
Robert
- php
0 ralf0 Tobias Kloth0 Robert
Guten Tag!
Ich hab versuch eine Farbtabelle mit einem PHP-Code zu generieren.
Leider ist mir das nicht gelungen und noch dazu hab ich ungefähr 1000 Zeilen Fehler bekommen. Immer die var. $G $B oder $R ist UNDEFINED.
Davon bin ich nicht schlauer geworden.
<?php
$i=1;
$R = -10;
$G = -10;
$B = -10;
function farbe()
{
if($R<=240)
{
$R+=10;
}
else
{
if($G<=240)
{
$G+=10;
}
else
{ if($B<=240)
{
$B+=10;
}
else
{
return "FFFFFF";
}
}
}
return dechex($R) . dechex($G) .dechex($B);
};
while ($R<=250 && $G<=250 && $B<=250)
{
switch($i)
{
case 1: echo "<tr>";
$i++;
break;
case 15: echo "</tr>";
$i=1;
break;
default: echo "<td style="background-color:#" . farbe() . ";">" . farbe() . "</td>";
$i++;
};
}
?>
Kann mir wer, mit Hilfe dieses Codes sagen, was ich noch nicht weiß in PHP?
danke schonmal
Hallo,
Guten Tag!
Ich hab versuch eine Farbtabelle mit einem PHP-Code zu generieren.
Probiers mal damit:
<table border="0" cellpadding="0" cellspacing="0">
<tr>
<?php
for ($i=0; $i<216; $i++) {
if ($i % 18 == 0) echo "</tr><tr>\n";
$col = '#' . sprintf('%06x', ($i % 6) * 51 + floor(($i % 36)/6) * 13056 + floor($i/36) * 3342336);
echo "\t<td style="background-color:$col"><img border="0" height="12" src="blind.gif" width="12" onclick="CloseDown('$col')"></td>\n";
}
?></tr>
</table>
Gruß
Ralf
Hallo Robert,
Ich hab versuch eine Farbtabelle mit einem PHP-Code zu generieren.
vorsicht, so eine Datei kann ziemlich schnell ziemlich groß werden :-)
$R = -10;
$G = -10;
$B = -10;
warum -10?
function farbe()
{
[...]
};
du solltest dich mal mit Funktionen in php beschäftigen (->http://de3.php.net/functions) - $R, $G und $B sind innerhalb der Funktion farbe() nämlich wirklich nicht definiert - du musst sie schon mit übergeben.
while ($R<=250 && $G<=250 && $B<=250)
{
switch($i)
{
etwas einrücken würde die Lesbarkeit deutlich erhöhen.
default: echo "<td style="background-color:#" . farbe() . ";">" . farbe() . "</td>";
das dürfte vmtl. nicht funktionieren - bei jedem Aufruf von farbe() wird einer der Werte ($R, $G oder $B) erhöht - d.h. beim 2. Aufruf in der Zeile bekommst du einen anderen Wert zurück als beim ersten. Du solltest bei default: den Rückgabewert von farbe() in einer Variablen speichern und dann zweimal ausgaben.
Grüße aus Nürnberg
Tobias [der hofft, das das jetzt geholfen hat :-)]
stimmt danke
Den Ausdruck Global hab ich nicht gekannt.
Außerdem hab ich gemerkt, dass ich ein break vergessen hab.