2011-02-23 60 views
0

我有一個小型的PHP mysql查詢查看我的數據庫中的表。它拉動所有行,然後回顯記錄。如何僅顯示非空行

問題是我在表中有幾個空行,所以我得到的是一個奇怪的查找記錄。

這是我得到:

<?php 
    $con = mysql_connect("localhost","username","password"); 
    if (!$con){ 
     die('Could not connect: ' . mysql_error()); 
    } 
    mysql_select_db("username", $con); 
    $result = mysql_query("SELECT * FROM wallnames2011 WHERE firstname IS NOT NULL"); 
    while($row = mysql_fetch_array($result)){ 
     echo $row['firstname'] . " - " . $row['city'] . ", " .$row['state'] . " &nbsp;|&nbsp; "; 
    } 
?> 

我想保持空行了。

+1

定義不爲空,查詢不應該返回行,其中姓名爲空... – Argote 2011-02-23 18:42:22

回答

4

嘗試SELECT列名 FROM table_name的WHERE TRIM(列)IS NOT NULL

+0

好了,所以我想這個......問題是,還是有很多出現的符號。 「 - 」「,」和「  |  」我只是希望它檢查是否有值,然後顯示記錄,如果沒有,則不顯示記錄並省略符號...謝謝! – TikaL13 2011-02-23 18:53:08

+0

我不確定你在問什麼。你能提供樣本數據嗎? – user194076 2011-02-23 18:56:10

+0

當然...這裏是您可以看到滾動的測試頁面。這就是記錄顯示的地方http://watchmen.ifcj-digital.org?pmd – TikaL13 2011-02-23 18:59:30

0

我認爲在「where」子句中提到所有字段名稱,如first_name IS NOT NULL AND last_name IS NOT NULL

0

你可以把一個if(!empty($row['firstname']))你呼應行之前。

1

Alex的空管檢查好,你也可以在線查看他們三個的,如果你想顯示不完整的記錄:

echo (! empty($row['firstname']) ? $row['firstname'] : "") 
    .(! empty($row['city']) ? " - ".$row['city'] : "") 
    .(! empty($row['state']) ? ", ".$row['state'] : "") 
    . " &nbsp;|&nbsp; "; 
5

爲什麼ü不把

嘗試SELECT列名FROM TABLE_NAME WHERE column_name!=''

0

僅打印出rowname和結果IS NOT NULL,嘗試結果S:

if ($result = $mysqli->query($query)) { 
    /* fetch associative array */ 
    $i=1; 
    while($a = $result->fetch_assoc()) { 
     $i++; 
     foreach ($a as $key => $value) { 
      if($value != NULL) { 
       echo $key." = ".$value."<br/>"; 
      } 
     } 
     echo "-- <br />"; 
    } 
    /* free result set */ 
    $result->free(); 
} 
/* close connection */ 
$mysqli->close();