Как отобразить только те строки, которые не пусты - PullRequest
0 голосов
/ 23 февраля 2011

У меня небольшой 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; ";
    }
?>

Я хочу сохранить пустые строки.

Ответы [ 6 ]

5 голосов
/ 04 мая 2012

почему бы тебе не поставить

Попробуйте ВЫБРАТЬ имя столбца ОТ таблицы имя ГДЕ имя столбца! = ''

4 голосов
/ 23 февраля 2011

Попробуйте выбрать SELECT column_name FROM table_name, ГДЕ TRIM (column_name) НЕ НУЛЬ

1 голос
/ 23 февраля 2011

Пустой чек Алекса хорош, и вы также можете проверить все три из них, если хотите отобразить неполные записи:

echo (! empty($row['firstname']) ? $row['firstname'] : "")
     .(! empty($row['city']) ? " - ".$row['city'] : "")
     .(! empty($row['state']) ? ", ".$row['state'] : "")
     . " &nbsp;|&nbsp; ";
0 голосов
/ 19 мая 2016

Чтобы распечатать только rowname и результат из строк, где результат IS NOT NULL, попробуйте это:

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();
0 голосов
/ 23 февраля 2011

Вы можете поставить if(!empty($row['firstname'])) перед тем, как повторить строку.

0 голосов
/ 23 февраля 2011

Я думаю, что в предложении "где" упоминаются все имена полей, такие как first_name IS NOT NULL AND last_name IS NOT NULL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...