![]() |
SELFHTML Forumsarchiv |
|
|
Die folgende Nachricht zum Thema stammt von: Robert, 31. 07. 2003, 21:17
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
Die folgende Nachricht zum Thema stammt von: ralf, 31. 07. 2003, 21:21
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
Die folgende Nachricht zum Thema stammt von: Tobias Kloth, 31. 07. 2003, 22:40
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 :-)]
--
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
Die folgende Nachricht zum Thema stammt von: Robert, 01. 08. 2003, 22:34
stimmt danke
Den Ausdruck Global hab ich nicht gekannt.
Außerdem hab ich gemerkt, dass ich ein break vergessen hab.
© 1998-2006
Impressum, Software: Classic Forum