php - 比较前一个日期字段中相同字段的 2 个值

标签 php mysql loops

我有一个问题,我不确定它是否可能,这是我的带有 mysql 数据的 php 页面

// connect to the database
include("connect-db.php");

$color ="#ffffff";
$color3 ="#99C";
$fontsize ="2";
$color4 ="#6CC";
$id = $rows['id'];

echo "<center><table border='2' cellspacing='0' cellpadding='2' class='sortable' bordercolor='#6699FF' bordercolor='#6699FF' width='100%'>
    <tr>
    <th >CitizenID</th>
    <th>Worked</th>
    <th>Military Rank Points</th>
    <th>Supply Amount</th>
    <th>Supplied</th>
    <th>eDay</th>
    </tr>";

$results = mysqli_query($con,"SELECT * FROM `supplies` ORDER BY citname ASC, eday ASC"); 
while($row = mysqli_fetch_array($results))
  {

    if($row['citname'] <> $current_citizenship){
        $current_citizenship = $row['citname'];
        echo "<tr>
<td colspan='7' align='center' bgcolor='" . $color4 . "'><strong><a name='" . $row['citname'] . "' id='" . $row['citname'] . "'>" . $row['citname'] . "</a></strong></td>
        </tr>";
    }

if ($row['wassupplied'] == Yes){
    $color9 = "green"; } else
    $color9 = "red";

if ($row['worked'] == Yes){
    $color8 = "green"; } else
    $color8 = "red";

if ($row['supplyamount'] < 11){
    $color7 = "green"; } else
    $color7 = "red";

if ($row['supplyamount'] == 10){
    $color7 = "yellow"; } else
    $color7 = "red";

if ($row['supplyamount'] > 20){
    $color7 = "#FC0"; }


echo "<tr>";
echo "<td align='center' valign='middle' width='75px' bgcolor='" . $color3 . "'><font size='" . $fontsize . "'><a href='http://www.erepublik.com/en/citizen/profile/" . $row['citid'] . "' target='_blank'>".$row['citid']."</a></td>";
    echo "<td align='left' valign='middle' bgcolor='" . $color8 . "'><font size='" . $fontsize . "'>" . $row['worked'] . "</td>";
    echo "<td align='left' valign='middle' bgcolor='" . $color6 . "'><font size='" . $fontsize . "'>" . $row['rankpoints'] . "</td>";
    echo "<td align='left' valign='middle' bgcolor='" . $color7 . "'><font size='" . $fontsize . "'>" . $row['supplyamount'] . "</td>";
    echo "<td align='left' valign='middle' bgcolor='" . $color9 . "'><font size='" . $fontsize . "'>" . $row['wassupplied'] . "</td>";
    echo "<td align='left' valign='middle' bgcolor='" . $color . "'><font size='" . $fontsize . "'>" . $row['eday'] . "</td>";
    echo "</tr>";
}

mysqli_close($con);

我想像我做的那样设置一个变量

if ($row['worked'] == Yes){
    $color8 = "green"; } else
    $color8 = "red";

对于 $row['rankpoints']

这是我的问题

我的 mysqli 查询循环以按 citname 分组,每个 citname 都有每天显示的排名点

if ($row['rankpoints'] == $row['rankpoints'] ){
    $color6 = "red"; } else
    $color6 = "grenn";

现在我的问题是我需要它来与以前的 eday 字段进行比较 所以如果 2 rankpoints = same $color6 那么那些将变成红色

我希望这是理解

我想做的是下面的

最佳答案

这是一个简单的组更改循环,第一步:添加初始化器

...
$lastrankpoints="ThisIsWrong\nThisIsWrong"; //or whatever surely is NOT a ranking
while($row = mysqli_fetch_array($results))
...

第二步:添加组变化

...
if ($row['supplyamount'] > 20){
   $color7 = "#FC0"; }

if ($row['rankpoints'] === $lastrankpoints ){
   $color6 = "red"; } else
   $color6 = "green";
$lastrankpoints=$row['rankpoints'];
...

关于php - 比较前一个日期字段中相同字段的 2 个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16826655/

相关文章:

javascript - 使用 for 循环搜索回文

php电子邮件确认代码算法?

php - 降低验证码 zend 表单元素的难度级别?

mySQL字段类型问题

python - 在排序的、固定大小的列表/python 中运行前 k 个元素

java - do While 循环麻烦

javascript - 如何将表单值传递给 ChangePassword.php?

php - 在 php 代码中使用 foreach() 从表中检索数据

php - mysqli_qeury 无法正常工作。我需要帮助^

mysql - 添加带有更新级联的外键