[英]Trying to Alternate Row Color in PHP
我正在尋找使用PHP函數替換行顏色的方法。 這是我所擁有的(盡管不起作用):
function row($year) {
if($year%2)
$color == "#FFF";
else
$color == "#000";
}
for ($year=2013; $year<=2023; $year++)
{
row($year);
echo "<tr bgcolor='$color'><td>$year</td><td>$tdate</td></tr>";
}
基本上,如果一年是奇數,我希望該行的顏色為白色。 如果均勻,則為黑色。
15.1.1背景顏色-不建議使用
bgcolor
屬性,而應使用樣式表來指定背景顏色信息。
現在你該怎么辦
function row($year) {
return ($year % 2 == 0) ? "#FFFFFF" : "#000000";
}
for ($year = 2013; $year <= 2023; $year++) {
echo "<tr style='background-color:".row($year).";'><td>$year</td><td>$tdate</td></tr>";
}
但是它看起來像您不知道==
做什么等於操作符而不是賦值操作符
例如,賦值運算符所做的就是將右側值賦給左手
比較運算符( ==
)的作用是
$a == $b Equal TRUE if $a is equal to $b after type juggling.
第二,你也有一個變量的范圍
變量的范圍是定義變量的上下文。 在大多數情況下,所有PHP變量都只有一個作用域。 這個單一范圍也涵蓋了包含和必需的文件。
以上摘自PHP手冊引述閱讀更多檢查此
function row($year) {
$color = '';
if($year%2)
$color = "#FFF";
else
$color = "#000";
return $color;
}
for ($year=2013; $year<=2023; $year++)
{
$color = row($year);
echo "<tr bgcolor='$color'><td>$year</td><td>$tdate</td></tr>";
}
for ($year=2013; $year<=2023; $year++)
{
echo "<tr bgcolor='".$year%2==0?"#fff":"#000"."'><td>$year</td><td>$tdate</td></tr>";
}
您不會在任何地方保存函數的結果。 嘗試這個:
function row($year) {
if($year%2)
$color == "#FFF";
else
$color == "#000";
}
for ($year=2013; $year<=2023; $year++)
{
$color = row($year);
echo "<tr bgcolor='$color'><td>$year</td><td>$tdate</td></tr>";
}
關於可變范圍。
你沒有從函數返回任何東西,這樣做
function row($year) {
if($year%2)
$color == "#FFF";
else
$color == "#000";
return $color;
}
for ($year=2013; $year<=2023; $year++)
{
$color = row($year);
echo "<tr bgcolor='$color'><td>$year</td><td>$tdate</td></tr>";
}
就像其他編程語言一樣,您必須知道何時使用局部變量和全局變量。 在這種情況下,您試圖在一個函數中使用另一個函數的局部變量。
function row($year) {
if($year%2 == 1)
return "#FFF";
else
return "#000";
}
for ($year=2013; $year<=2023; $year++)
{
echo "<tr bgcolor='".row($year)."'><td>$year</td><td>$tdate</td></tr>";
}
<?php
$host=""; // Host name
$username=""; // Mysql username
$password=""; // Mysql password
$dbname=""; // Database name
$tblname=""; // Table name
// Connect to server and select databse
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$dbname")or die("cannot select DB");
$sql="SELECT * FROM $tblname";
$result=mysql_query($sql);
// Define $color=1
$color="1";
echo '<h3 align = "center">Employee Details <hr /></h3>';
echo '<table width="400" border="1" align="center" cellpadding="2" cellspacing="0">';
while($rows=mysql_fetch_row($result)){
// If $color==1 table row color = #FFCCFF
if($color == 1){
echo "<tr bgcolor='#FFCCFF'><td>$rows[0]</td><td>$rows[1]</td><td>$rows[2]</td><td>$rows[3]</td></tr>";
// Set $color==2, for switching to other color
$color="2";
}
// When $color not equal 1, table row color = #FFC600
else {
echo "<tr bgcolor='#FFC600'><td>$rows[0]</td><td>$rows[1]</td><td>$rows[2]</td><td>$rows[3]</td></tr>";
// Set $color back to 1
$color="1";
}
}
echo '</table>';
mysql_close();
?>
在上面的編碼中,首先我們從數據庫中選擇數據,然后定義一個值為$ 1的變量$ color。在while循環中添加了if條件。如果$ color = 1,則表行顏色將為#FFCCFF,並且在內部如果if條件我們設置$ color == 2切換到其他顏色。現在,當$ color不等於1時,則表行color =#FFC600並執行else條件。在else條件下,我們再次將$ color重新設置為1 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.