Php 如何跳过MySQL中为空的条目

Php 如何跳过MySQL中为空的条目,php,mysql,sql,Php,Mysql,Sql,我的新闻源有两个问题 我正在尝试获取一个新闻提要来显示所有数据库条目,但有些没有日期,因为它们是某种与日期无关的粘贴新闻提要。但问题是,它仍然会为这些用户推一个回车/空行。如果id中没有日期条目,但仍然显示新闻,我如何使提要跳过日期列 第二个问题是,如何在返回提要的日期中添加一个span类 这是我加载数据库的代码: <?php // Grab the data from our people table $sql =

我的新闻源有两个问题

我正在尝试获取一个新闻提要来显示所有数据库条目,但有些没有日期,因为它们是某种与日期无关的粘贴新闻提要。但问题是,它仍然会为这些用户推一个回车/空行。如果id中没有日期条目,但仍然显示新闻,我如何使提要跳过日期列

第二个问题是,如何在返回提要的日期中添加一个span类

这是我加载数据库的代码:

<?php   
                // Grab the data from our people table

                $sql = "SELECT * FROM news ORDER BY ID DESC";
                $result = mysql_query($sql) or die ("Could not access DB: " . mysql_error());

                while ($row = mysql_fetch_assoc($result))
                {
                    echo "<div class=\"newsstory\">";
                    echo "<p>";
                    echo $row['date'] . " " . "<br />";
                    echo $row['news'];
                    echo "</p>";
                    echo "</div>";
                }


            ?>

谢谢你们的帮助

编辑:可能是我的上传脚本在未输入任何内容的情况下上传了一个空白区域,我只是添加了我的上传脚本以确保:

<?php

// Call our connection file
require("includes/conn.php");

$date=$_POST['date'];
$news=$_POST['news'];

$query="Insert into news (date, news) values ('$date', '$news')";  

mysql_query($query) or die ('error updating database'); 


echo "database updated with '$date', '$news'";
?>

只需在循环中添加一个条件:

编辑

基于OP评论

while ($row = mysql_fetch_assoc($result)) {
    $date = "No date";
    if (!empty($row['date'])) { //Check here
        $date = $row["date"];
    }
    echo "<div class=\"newsstory\">";
    echo "<p>";
    echo "<span>" . $date . "</span> " . "<br />"; //Added span
    echo $row['news'];
    echo "</p>";
    echo "</div>";
}
while($row=mysql\u fetch\u assoc($result)){
$date=“无日期”;
如果(!empty($row['date']){//请检查此处
$date=$row[“date”];
}
回声“;
回声“”;
回显“$date.”“
”;//添加了span echo$row['news']; 回声“

”; 回声“; }
只需更换

echo $row['date'] . " " . "<br />";
echo$row['date']。" " . “
”;

回声!空($row['date'])?(“.$row['date']”,
“:”;
这样,您仍将显示所有新闻,但日期行将仅显示具有非空日期的新闻。

请尝试以下操作:-

while ($row = mysql_fetch_assoc($result))
 {
   if($row['date'] != ""){
    ------------------
     -------------
   }
}

你是要这个吗

if($row['date']!="")
{
 echo $row['date'] . " " . "<br />";
}
if($row['date']!=“”)
{
echo$row['date']。“
”; }
只需包装一个

if (!is_null($row['date'])) {} 
日期前后回音

SELECT * FROM news WHERE date IS NOT NULL ORDER BY ID DESC 
-用于在
date
上用
NULL
值跳过整行


如果将日期列的数据类型作为日期,则对所需的每列重复
日期不为NULL
,如果未输入日期,则其存储在表中的默认条目为0000-00-00,这就是我添加该条件的原因。。 尝试一次,你肯定会得到完美的输出,无论你想要什么
while($row=mysql\u fetch\u assoc($result))
{
$ddate=$row['date'];
如果($ddate!=''| |$ddate!=NULL | |$ddate!='0000-00-00')
{
回声“;
回声“”;
echo“$row['date']”。
;//如果在您取消注释的行下方,请进行注释 //echo“$row['date']”。
;//如果希望使用span-tag而不是带有span-class的div,请取消注释 echo$row['news']; 回声“

”; 回声“; }
}
首先,停止使用
mysql\ucode>函数,切换到PDO或mysqli…和准备好的语句!这将显示所有帖子,但在有条目的帖子上没有日期,在没有日期的帖子上显示span类…相应地编辑了我的答案。希望我能很好地理解。当我尝试这个时,它不会在span中显示日期,而是显示单词foo…,除此之外,它的工作方式就像我想要的一样;)所以我不明白你想要什么。如果有日期,您希望日期在一个范围内,但是如果没有日期,您希望什么?foo这个词只是一个虚拟数据,不要像那样粘贴:)lol我已经在想他妈的是什么:p是的,你是对的,我想要的是当有一个日期条目时,它应该显示在span类中,如果没有日期,它应该跳过日期行,而不显示类或空行,所以我的设备下面没有刹车,因为我没有日期这看起来很完美,但是我再也不能得到结果了,因为新闻id上没有日期…我以为你想跳过整行。。。查看我编辑过的答案。类似于这样,但没有日期,只是跳过整行显示;)但这是我以前的回答。那么,如果没有日期,应该怎么办?跳过整行,或者只是在中显示其他内容?他仍然显示跨度,并在日期中输入空白,而日期中没有输入任何内容。。。除非我的上传脚本中可能有问题,上传时文本框中没有输入任何内容,否则可能会上传内容。。。我将把上传脚本添加到我的npost中,以便您可以查看导致此错误的原因:无法访问数据库:您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以了解第1行“WHERE date NOT NULL”附近要使用的正确语法
SELECT * FROM news WHERE date IS NOT NULL ORDER BY ID DESC