我正试图完成我的项目,目前还停留在mysql日期字段中。我想做的是:如果没有日期设定,那就显示"ei ole m ritelty“文本。但是,代码正在抛出默认日期,即01.01.1970。
我正在检查字段是否为空,当我使用if条件时,我说的是if($aloitus_pvm3_tulos_result > 0),这似乎不正确。
这是我的部分代码,我希望你能告诉我我的错误。
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>";
}发布于 2014-06-01 00:42:57
虽然这在某种程度上取决于您所述的日期是否为“空”,但最快的方法实际上是检查它是否为空:
if(!is_null($tilattu_pvm3_tulos_result['tilauspvm']))当然,PHP是这样的,有一种更快的方法:
if($tilattu_pvm3_tulos_result['tilauspvm'])如果为null,则返回false。
我也有点迷茫,你想要验证的是什么字段。在您的strtotime中,您使用最外层时间的结果(并从$row中提取数据),但是在创建if语句时,使用$tilattu_pvm3_tulos_result吗?不是说它是错误的,只是说我不遵循您正在检查的内容-所以您可能需要调整我的代码,以最符合您的逻辑。
https://stackoverflow.com/questions/23975730
复制相似问题