首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查mysql日期在php中是否为空

如何检查mysql日期在php中是否为空
EN

Stack Overflow用户
提问于 2014-06-01 00:35:02
回答 1查看 3.3K关注 0票数 0

我正试图完成我的项目,目前还停留在mysql日期字段中。我想做的是:如果没有日期设定,那就显示"ei ole m ritelty“文本。但是,代码正在抛出默认日期,即01.01.1970。

我正在检查字段是否为空,当我使用if条件时,我说的是if($aloitus_pvm3_tulos_result > 0),这似乎不正确。

这是我的部分代码,我希望你能告诉我我的错误。

代码语言:javascript
复制
if(mysql_num_rows($tilaukset1)>0)
{
    echo "<h3>Muut Tilaukset</h3>";

    $tilaukset = mysql_query("SELECT * FROM tilaus WHERE user_id = '".$id."' AND status != 'TILATTU'");


    echo "<table border='1'>";
    echo "<tr>";
    echo "<th> Tilaaja </th>";
    echo "<th> Työn kuvaus </th>";
    echo "<th> Tilaus pvm </th>";
    echo "<th> status </th>";
    echo "<th> aloituspvm</th>";
    echo "<th> valmistumispvm </th>";
    echo "<th> hyvaksymispvm </th>";
    echo "<th> tehtytyo </th>";
    echo "<th> tunti </th>";
    echo "<th> tarvikkeet </th>";
    echo "<th> kustannukset </th>";
    echo "</tr>";
    while($row = mysql_fetch_array($tilaukset))
    {



        $tilattu_pvm3_tulos = mysql_query("SELECT * FROM tilaus WHERE tilauspvm IS NOT NULL");
        $tilattu_pvm3_tulos_result = mysql_fetch_array($tilattu_pvm3_tulos);

        $aloitus_pvm3_tulos = mysql_query("SELECT * FROM tilaus WHERE aloituspvm IS NOT NULL");
        $aloitus_pvm3_tulos_result = mysql_fetch_array($aloitus_pvm3_tulos);

        $valmis_pvm3_tulos = mysql_query("SELECT * FROM tilaus WHERE valmistumispvm IS NOT NULL");
        $valmis_pvm3_tulos_result = mysql_fetch_array($valmis_pvm3_tulos);

        $hyvaksymis_pvm3_tulos = mysql_query("SELECT * FROM tilaus WHERE hyvaksymispvm IS NOT NULL");
        $hyvaksymis_pvm3_tulos_result = mysql_fetch_array($hyvaksymis_pvm3_tulos);

        if($tilattu_pvm3_tulos_result > 0)
        {
            $tilattu_pvm3 = date ('d.m.Y', strtotime($row['tilauspvm']));
        }
        else
        {
            $tilattu_pvm3 =  'ei ole määritelty';
        }

        ///////////////////////////////////////////////////////////////////////////////

        if($aloitus_pvm3_tulos_result > 0)
        {
            $aloitus_pvm3 = date('d.m.Y', strtotime($row['aloituspvm']));
        }
        else
        {
            $aloitus_pvm3 =  'ei ole määritelty';
        }

        ///////////////////////////////////////////////////////////////////////////////

        if($valmis_pvm3_tulos_result > 0)
        {
            $valmis_pvm3 = date('d.m.Y', strtotime($row['valmistumispvm']));
        }
        else
        {
            $valmis_pvm3 =  'ei ole määritelty';
        }

        ////////////////////////////////////////////////////////////////////////////////


        if($hyvaksymis_pvm3_tulos_result > 0)
        {
            $hyvaksymis_pvm3 = date('d.m.Y', strtotime($row['hyvaksymispvm']));
        }
        else
        {
            $hyvaksymis_pvm3 =  'ei ole määritelty';
        }





        echo "<tr>";
        echo "<td>" . $row['tilaaja'] . " </td> 
              <td>" . $row['kuvaus'] . "</td> 
              <td>" . $tilattu_pvm3 . "</td>
              <td>" . $row['status'] . "</td>
              <td>" . $aloitus_pvm3 . "</td>
              <td>" . $valmis_pvm3 . "</td>
              <td>" . $hyvaksymis_pvm3 . "</td>
              <td>" . $row['tehtytyo'] . "</td>
              <td>" . $row['tunti'] . "</td>
              <td>" . $row['tarvikkeet'] . "</td>
              <td>" . $row['kustannukset'] . "</td>";
        echo "</tr>";

    }

    echo "</table>";

}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-01 00:42:57

虽然这在某种程度上取决于您所述的日期是否为“空”,但最快的方法实际上是检查它是否为空:

代码语言:javascript
复制
if(!is_null($tilattu_pvm3_tulos_result['tilauspvm']))

当然,PHP是这样的,有一种更快的方法:

代码语言:javascript
复制
if($tilattu_pvm3_tulos_result['tilauspvm'])

如果为null,则返回false。

我也有点迷茫,你想要验证的是什么字段。在您的strtotime中,您使用最外层时间的结果(并从$row中提取数据),但是在创建if语句时,使用$tilattu_pvm3_tulos_result吗?不是说它是错误的,只是说我不遵循您正在检查的内容-所以您可能需要调整我的代码,以最符合您的逻辑。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23975730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档