根据PHP变量值更改类
Change class depending on PHP variable value
我使用PHP检索存储在MySQL表中的数据,然后使用以下代码将其显示在页面上:
CSS
.date {
color:red;
font-weight:bold;
}
HTML/PHP-
<span class="date">'.$date_available.'</span>
这很好,但我需要根据$date_available变量中的值分配一个不同的类。例如:如果变量包含值SOLD,则span类应如上所示。如果变量包含值NOW,则应为:
HTML/PHP-
<span class="date-two">'.$date_available.'</span>
CSS
.date-two {
color:green;
font-weight:bold;
}
这在PHP中可能吗?还是需要使用JavaScript?
<?php
$cls = $data_available == "SOLD" ? "date-two" : "date";
echo "<span class='"{$cls}'">{$date_available}</span>";
编辑:解释。检查变量是否包含"SOLD",并根据该检查保存要在变量中使用的css类的名称。然后,您不输出固定的类字符串,而是输出变量的内容。
根据您是否有一个或多个可以使用if () {} else {}
构造的状态,为作业使用array()
,或者如果您有多个需要输出同一类的状态,则switch
语句也可能可用。
例如使用阵列:
$classes = array(
'sold' => 'date-two',
'...' => '...' //example values
);
// imagining that $data_available = 'SOLD'
echo '<span class="'. ($classes[strtolower($data_available)] || 'date') .'">';
或使用切换语句
$cls = 'date';
switch (strtolower($data_available)) {
case 'sold':
case 'sold2': // switch statements allow multiple 'cases' to be grouped for the same output.
$cls = 'date-two';
break;
case '...':
$cls = '...';
break;
default:
$cls = 'date';
break;
}
举个例子,我会看看托比亚斯的答案
另一种选择是不使用不同的类,只需知道数据库可以输出什么,并为此创建带前缀的类。
例如sold
、bought
和negotiating
是一些状态(例如)
你可以在这里做的只是
$cls = 'date-' . strtolower($data_available); // if $data_available is sold it will output date-sold
echo '<span class=". $cls .">';
然后在你的CSS中,你可以做一些类似的事情:
.date-sold {
width: 420px;
background: green;
}
.date-bought {
width: 720px;
background: white;
}
.date-negotiating {
width: 30px;
background: transparent;
}
这样你就永远是安全的,如果你的数据库输入是一致的,那么你所有的div都会得到正确的类,并应用正确的CSS,而不会有太多的PHP麻烦。
祝你好运!
是的,这是可能的。您可以使用if来决定应该为跨度使用哪个类。您可以使用else if
轻松添加新类。
if($date_available == "SOLD") {
echo '<span class="date">'.$date_available.'</span>';
} else {
echo '<span class="date-two">'.$date_available.'</span>';
}
在进入的途中更改类
<? if ($date_available == 'whatever'){ ?>
<span class="date"><? echo $date_available ?></span>
<? }else{ ?>
<span class="date-two"><? echo $date_available ?></span>
<? } ?>
switch( $date_available ){
case 'sold':$class='date-two';break;
case 'available':$class='date';break;
case 'low-stock':$class='date-three';break;
/* etc */
}
echo "<span class='$class'>$date_available</span>";
相关文章:
- 如何通过ajax增加/减少PHP变量值并重新加载函数
- 如何从特定页面中提取php变量值
- 如何从php返回php变量值以及html响应ajax
- jquery没有't从DIV数据id中获取PHP变量值,只输出变量名
- 如何将javascript变量值发送到php中
- 使用 PHP 和 REGEX 解析 JS 脚本以获取 JS 变量值
- 如何将JavaScript变量值转换为PHP变量
- ColdFusion文件中的PHP变量值
- 将PHP变量值发送到同一页面中的JavaScript弹出窗口
- 使用 php 变量值填充表单输入字段
- 如何在PHP站点上保存JS变量值
- 如何将变量值从javascript发布到PHP
- 尝试使用 AJAX 将变量值从 JavaScript 传递到 PHP
- JavaScript变量值是否可以存储在PHP变量中
- 如何在同一文件中获取 PHP 中的 JavaScript 变量值
- 如何将变量值从 php 发送到 jquery
- 将 php 变量值传递给 javascript 函数
- PHP / Ajax : 如何在 $_SESSION 变量值上显示/隐藏 DIV
- 如何将变量值从 .post 响应传递到 PHP
- 将PHP变量值传递给JavaScript