php mysql更新第3列值,如果第1列值>第二列值

时间:2018-04-04 10:33:47

标签: php mysql mysqli

我正在比较 1 st [已发送]& 2 nd列[上次更新日期]值。如果第一列值大于第二列值,则我想保存值" 尝试"在第3栏[尝试]。

enter image description here

    <table> 
<tr>           
<th class="table-header">Sent</th>
<th class="table-header">Last Update Date</th> 

<th class="table-header">Attempted</th> 
</tr>

<?php
if(!empty($orderrecords))
    {
      foreach($orderrecords as $k=>$v)
      {  
?>

<tr>
<td><?php echo $orderrecords[$k]["sent_date"]; ?></td>         
<td><?php echo $orderrecords[$k]["lud"]; ?></td> 

<td>
<?php 
$orderrecords[$k]["sent_date"]= strtotime($orderrecords[$k]["sent_date"]);
$orderrecords[$k]["lud"]=  strtotime($orderrecords[$k]["lud"]);

$sqlecom = 'UPDATE table SET attempted = "attempted" WHERE $orderrecords[$k]["lud"] < $orderrecords[$k]["sent_date"]';
$db_handleecom = new DBController(); 
$resultecom = $db_handleecom->executeUpdate($sqlecom); 


echo $orderrecords[$k]["attempted"];
?>

</td> 
</tr>

<?php
 }
 }
?>  

</table>      

更新:我尝试了以下代码,但数据库中仍未保存第3列值。

<?php 

$orderrecords[$k]["sent_date"]= strtotime($orderrecords[$k]["sent_date"]);
$orderrecords[$k]["lud"]=  strtotime($orderrecords[$k]["lud"]);

if ($orderrecords[$k]["lud"] < $orderrecords[$k]["sent_date"])
    {
    $sqlecom = 'UPDATE table SET attempted = "attempted"
               WHERE id = ' . $orderrecords[$k]['id'];

    $db_handleecom = new DBController(); 
    $resultecom = $db_handleecom->executeUpdate($sqlecom);
    //echo "attempted";
} 

echo $orderrecords[$k]["attempted"];

?>

更新2

当我在文件顶部添加下面的代码时,比完整的表格消失了! :

mysqli_report(MYSQLI_REPORT_ALL & ~MYSQLI_REPORT_INDEX);

这里是完整代码:https://pastebin.com/VwQSjgQ5

1 个答案:

答案 0 :(得分:1)

试试这个(我使用了你需要的相同代码结构):

<table> 
  <tr>           
    <th class="table-header">Sent</th>
    <th class="table-header">Last Update Date</th> 
    <th class="table-header">Attempted</th> 
  </tr>
<?php
  if(!empty($orderrecords)){
    foreach($orderrecords as $k=>$v){  
?>
<tr>
<td><?php echo $v["sent_date"]; ?></td>         
<td><?php echo $v["lud"]; ?></td> 
<?php 
  if ($v["lud"] < $v["sent_date"])  {
    $attempted= "attempted";
    $sqlecom = 'UPDATE table SET attempted = "attempted" WHERE ORDERID = '.$v["order_id"];
    $db_handleecom = new DBController(); 
    $resultecom = $db_handleecom->executeUpdate($sqlecom);
  }  
  else {
    $attempted = "";
  }

?>
<td><?php echo $attempted; ?></td> 
</tr>

<?php
    }
  }
?>  
</table>