doty58493 2014-07-23 02:51
浏览 25
已采纳

在DATEDIFF中输入其他计算

My client is requesting the database to be able to calculate days from date1 to date2 and I have used DATEDIFF, but is it possible that I can add extra calculation into the coding?

For example:

(date1-date2)/365*0.1

Can this calculation be done?

This is the code I have using on my output.php

$result = mysqli_query($con,"SELECT *,DATEDIFF(mdate,pdate)/365*0.1
FROM contacts WHERE DATEDIFF(mdate,pdate)");



    echo 
    "<table border='1'>
    <tr>
    <th>ID</th>
    <th>Difference Date</th>
    <th>Purchased Date</th>
    <th>Maturity Date</th>
    <th>Amount</th>
    <th>First Name</th>
    <th>Last Name</th>
    <th>Passport/ID</th>
    <th>Contact No.</th>
    <th>Mailing Address</th>
    <th>Beneficiary Name</th>
    <th>Swift Code</th>
    <th>Bank Account</th>
    <th>Bank Name</th>
    <th>Bank Address</th>
    <th>Bank Contact No.</th>
    </tr>";

    while($row = mysqli_fetch_array($result)) {
      echo "<tr>";
      echo "<td>" . $row['id'] . "</td>";
      echo "<td>" . $row['DATEDIFF(mdate,pdate)'] . "</td>";
      //echo "<td>" . $row['ddate'] . "</td>";
      echo "<td>" . $row['pdate'] . "</td>";
      echo "<td>" . $row['mdate'] . "</td>";
      echo "<td>" . $row['amt'] . "</td>";
      echo "<td>" . $row['first'] . "</td>";
      echo "<td>" . $row['last'] . "</td>";
      echo "<td>" . $row['pid'] . "</td>";
      echo "<td>" . $row['cno'] . "</td>";
      echo "<td>" . $row['madd'] . "</td>";
      echo "<td>" . $row['bene'] . "</td>";
      echo "<td>" . $row['swc'] . "</td>";
      echo "<td>" . $row['bacc'] . "</td>";
      echo "<td>" . $row['bank'] . "</td>";
      echo "<td>" . $row['badd'] . "</td>";
      echo "<td>" . $row['bno'] . "</td>"; 
      echo "</tr>";
    }

    echo "</table>";

    mysqli_close($con);
    ?>
  • 写回答

1条回答 默认 最新

  • duanjian9148 2014-07-23 04:08
    关注

    There is a typo at:

    echo "<td>" . $row['DATEDIFF(mdate,pdate)'] . "</td>";
    

    It should be

    echo "<td>" . $row['DATEDIFF(mdate,pdate)/365*0.1'] . "</td>";
    

    To avoid this, you can alias the calculated field in your query like this:

    $result = mysqli_query($con,"SELECT *,DATEDIFF(mdate,pdate)/365*0.1 as difference 
                                 FROM contacts WHERE DATEDIFF(mdate,pdate)");
    

    And reference it like this:

    echo "<td>" . $row['difference'] . "</td>";
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 2024-五一综合模拟赛
  • ¥15 如何将下列的“无限压缩存储器”设计出来
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口