如果值小于另一个值,则突出显示该值

时间:2014-03-06 16:25:32

标签: javascript php html css

好的,所以必须进行编辑,因为没有足够的空间继续在我和larsAnders之间发表评论。

基本上,从最初的帖子到更有效的方式,这已经完全改变了。如果我们目前持有的库存低于我们的最低库存要求,此代码正在运行,它将突出显示所需的行,告诉我需要订购更多特定库存零件。

第一栏是我们库存的(lloblevel) Secound列是我们应该随时有库存的(ilevel)

以下是我到目前为止的内容

index.php

<head>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<table width="100%" border="1px">
<?php for ($i=0; $i<count($lloblevel_val);$i++) { ?>
<tr>
<td>
    <?php if ($lloblevel_val[$i] > $ilevel_val[$i]) {
        echo '<span class="highlight">'.$lloblevel_val[$i].'</span><br/>';
    } else {
        echo $lloblevel_val[$i].'<br/>'; 
    }?>
</td>
<td>
    <?php if ($ilevel_val[$i] > $lloblevel_val[$i]) {
        echo '<span class="highlight">'.$ilevel_val[$i].'</span><br/>';
    } else {
        echo $ilevel_val[$i].'<br/>'; 
    }?>
</td>
</tr>
<?php }//end for ?>
</table>
</body>

的style.css

@charset "utf-8";
/* CSS Document */
.highlight {
    background-color:#CC0000;
}

levels.php

<?PHP

$file_handle = fopen("stockexport.csv", "r");
echo $file_handle;

while (!feof($file_handle) ) {

    $line_of_text = fgetcsv($file_handle, 1024);
    print_r($line_of_text);
    $ilevel_val[] = $line_of_text[2];
    $lloblevel_val[] = $line_of_text[1];

}

fclose($file_handle);

?>

我的csv的前几行

    ItemNumber,ItemTitle,Level,MinimumLevel,InOrderBook,Level_LessOrderBook
    "##### BATTLEFIELD 4 VOUCHER #####","##### BATTLEFIELD 4 VOUCHER #####","108","10","14","94"
"##### BRONZE GAME VOUCHER #####","##### BRONZE GAME VOUCHER #####","170","0","0","170"
"##### CRYSIS 3 VOUCHER #####","##### CRYSIS 3 VOUCHER #####","56","10","2","54"
"##### GOLD GAME VOUCHER #####","##### GOLD GAME VOUCHER #####","56","0","0","56"
"##### RAID 0 (STRIPE) SERVICE #####","##### RAID 0 (STRIPE) SERVICE #####","0","-1","0","0"
"##### RAID 1 (MIRROR) SERVICE #####","##### RAID 1 (MIRROR) SERVICE #####","0","-1","0","0"
"##### SAINTS ROW IV VOUCHER #####","##### SAINTS ROW IV VOUCHER #####","20","2","0","20"
"##### SILVER GAME VOUCHER #####","##### SILVER GAME VOUCHER #####","21","10","24","0"
"##### TOMB RAIDER VOUCHER #####","##### TOMB RAIDER VOUCHER #####","31","10","7","24"
"##### WINDOWS 7 PROFESSIONAL x64 TRIAL INSTALL & UPDATE #####","##### WINDOWS 7

非常感谢larsAnders花了很多时间来帮助我做到这一点。

5 个答案:

答案 0 :(得分:0)

为此结构执行此操作的一种方法是将每个php文件的输出加载到javascript变量中。然后将这些变量解析为多维数组。然后通过javascript构建表 第二种方式(更好)是将php文件合并为一种。在那里做所有逻辑,并通过打印&#39; titleval1val2&#39;来构建html表。

答案 1 :(得分:0)

由于您在每个php文件中读取相同的csv文件,因此您可以在打印它们时获得每个文件的相关信息。您可以简单地在其中一个上面添加一个if语句并检查另一个,并相应地输出一些带有彩色样式的html。

但是你可能想重构你的代码并且可能花更多的时间学习,因为你当前的方法不会超出这种处理范围。

答案 2 :(得分:0)

将值分配给变量,然后在index.php文件中使用它们......

将lloblevel.php和ilevel.php合并到levels.php中,并捕获数组中的两个值:

<?PHP

$file_handle = fopen("stockexport.csv", "r");

while (!feof($file_handle) ) {

    $line_of_text = fgetcsv($file_handle, 1024);
    $ilevel_val[] = $line_of_text[3];
    $lloblevel_val[] = $line_of_text[5];

}

fclose($file_handle);

?>

在index.php中,将include语句添加到文件的顶部。这会将两个数组都放入主文件中。

<?php include 'levels.php'; ?>

然后,添加此代码,将值打印到页面:

<?php for ($i=0; $i<count($lloblevel_val);$i++) { ?>
<tr>
<td>
    <?php if ($lloblevel_val[$i] > $ilevel_val[$i]) {
        echo '<span class="highlight">'.$lloblevel_val[$i].'</span><br/>';
    } else {
        echo $lloblevel_val[$i].'<br/>'; 
    }?>
</td>
<td>
    <?php if ($ilevel_val[$i] > $lloblevel_val[$i]) {
        echo '<span class="highlight">'.$ilevel_val[$i].'</span><br/>';
    } else {
        echo $ilevel_val[$i].'<br/>'; 
    }?>
</td>
</tr>
<?php }//end for ?>

最后,在样式表中添加一个高亮类

.highlight {
    background-color:#CC0000;
}

答案 3 :(得分:0)

可能有很多方法可以做到这一点......

id添加到您的<td>代码

<td id="llob"><?php include 'lloblevel.php'; ?></td>
<td id="i"><?php include 'ilevel.php'; ?></td>

添加JavaScript

<script type="text/javascript">
var llob = document.getElementById("llob").innerHTML;
var i = document.getElementById("i").innerHTML;
if( llob < i ){
    document.getElementById("llob").style.backgroundColor = "red";
}
</script>

答案 4 :(得分:0)

你不能把它们都合并成一个文件吗?

<?PHP

$file_handle = fopen("stockexport.csv", "r");

while (!feof($file_handle) ) {

$line_of_text = fgetcsv($file_handle, 1024);
if(intval($line_of_text[3]) < intval($line_of_text[5])) { 
    print "<span class='highlight'>" . $line_of_text[3] . "</span><BR>";
    print $line_of_text[5] . "<BR>";
}
else { 
    print "<span class='highlight'>" . $line_of_text[5] . "</span><BR>";
    print $line_of_text[3] . "<BR>";
}

}

fclose($file_handle);

?>

然后在名为hightlight的CSS文件中添加一个带有background-color属性的类规则。

注意:如果值是整数,这将有效。