CSV数组更改上的动画

时间:2018-07-21 00:26:12

标签: php jquery arrays csv animation

我有一个简单的页面,显示比赛结果。将结果从CSV文件中提取,该文件会在每次比赛结束时更新。更改可能是微妙的,因此仅当结果不同时,才希望具有动画效果,淡入/淡出或颜色更改等。如果CSV文件有新结果作为更新的视觉辅助,我想在表中添加一个

编辑:我不确定从哪里开始实施,因此下面没有代码。 CSV每1秒扫描一次并更新表格。我想要的结果是,如果/当数组结果更改时,表结果具有动画,否则没有动画。

编辑2 :我试图将结果数据中的当前赛车号码($ csv [1])输出到文件中,然后对照当前比赛编号进行检查,但没有似乎有效。当我拉$ lastrace [0]和$ csv [1]时,它们总是相同的数字。我以为在PHP中更高的级别在编写新数字之前会获得$ lastrace,但事实并非如此。

// Get Racer No from previous race
$lastrace = str_getcsv(file_get_contents('lastraceno.txt'));

// Puts current racer no to CSV file
$file = fopen("lastraceno.txt","w");
fputcsv($file,explode(',',$csv[1]));
fclose($file);

我的代码如下所示-修剪了一些不相关的代码。

index.php

<head>
<script src="jquery-2.1.3.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
      refreshTable();
    });

    function refreshTable(){
        $('#tableHolder').load('table.php', function(){
           setTimeout(refreshTable, 1000);
        });
    }
</script>
</head>
<body background="timebg.jpg">
   <div id="tableHolder"></div>
</body>

table.php

<?php
$f_pointer=fopen("csv.txt","r"); // file pointer
while(! feof($f_pointer)){
$csv=fgetcsv($f_pointer);

   foreach($csv as &$val){
   if($val === "" || $val === false || $val === null) $val = "NA";
   }

}
?>
<table>
   <tr>
      <td><?php echo $csv[2] ?> <?php echo $csv[3]?></td>
   </tr>
</table>

1 个答案:

答案 0 :(得分:0)

已解决

在我的数组中,结果文件中的赛车编号为$ csv 1。我发现将$ csv 1写入新的CSV文件,并将$ csv 1与$ lastrace [0]进行比较,每次刷新均起作用。

使用if else语句,我比较了信息并根据是否存在匹配项设置了变量。如果匹配的数据变量为'0',则无需执行任何操作。如果$ csv 1与$ lastrace [0]不匹配,则变量为'1',并将新的种族编号发送到lastraceno.txt以供将来更新。

然后我可以根据变量是0还是1来设置CSS类。

使用[https://daneden.github.io/animate.css/]Animate.CSS 1

实现的CSS动画

index.php

<head>
<script src="jquery-2.1.3.min.js"></script>
<script type="text/javascript">
    $(document).ready(function(){
      refreshTable();
    });

    function refreshTable(){
        $('#tableHolder').load('table.php', function(){
           setTimeout(refreshTable, 1000);
        });
    }
</script>
</head>
<body background="timebg.jpg">
   <div id="tableHolder"></div>
</body>

table.php

<?php
$f_pointer=fopen("csv.txt","r"); // file pointer
while(! feof($f_pointer)){
$csv=fgetcsv($f_pointer);
}

// Replace blank lines with NA
foreach($csv as &$val){
if($val === "" || $val === false || $val === null) $val = "NA";
}

// Get Racer No from previous race
$lastrace = str_getcsv(file_get_contents('lastraceno.txt'));

// Puts current racer no to CSV file
if ($lastrace[0]==="$csv[1]") {
$newrace = 0; // This is not a new race
} else {
$newrace = 1; // This is a new race
$file = fopen("lastraceno.txt","w");
fputcsv($file,explode(',',$csv[1]));
fclose($file);
}

if ($newrace == '1') {
$newtimes = "class='animated zoomIn'";
} else { }

<table <?php echo $newtimes ?>>
   <tr>
   <td>Text to animate</td>
   </tr>
</table.