Php 如何仅显示非空的行
我有一个小的PHP mysql查询,它查看数据库中的一个表。它把所有的行都拉出来,然后呼出记录 问题是我的表中有一些空行,所以我得到的是一个奇怪的记录 这就是我得到的:Php 如何仅显示非空的行,php,mysql,fetch,Php,Mysql,Fetch,我有一个小的PHP mysql查询,它查看数据库中的一个表。它把所有的行都拉出来,然后呼出记录 问题是我的表中有一些空行,所以我得到的是一个奇怪的记录 这就是我得到的: <?php $con = mysql_connect("localhost","username","password"); if (!$con){ die('Could not connect: ' . mysql_error()); } mysql_select_db("
<?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'] . " | ";
}
?>
我想保留空行。我想在where子句中提到所有字段名,如first\u name不为空,last\u name不为空。尝试选择列\u name 从表\u名称
如果列名称不为空,则可以输入if!在回显行之前清空$row['firstname'.Alex的空检查是正确的,如果您想显示不完整的记录,您还可以内联检查这三个行:
echo (! empty($row['firstname']) ? $row['firstname'] : "")
.(! empty($row['city']) ? " - ".$row['city'] : "")
.(! empty($row['state']) ? ", ".$row['state'] : "")
. " | ";
你为什么不放
尝试从列名称所在的表名称中选择列名称=
要从结果不为NULL的行中仅打印rowname和result,请尝试以下操作:
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();
Define not empty,您的查询不应该返回firstname为NULL的行…好的,所以我尝试了这个。。。问题是仍然有一些符号出现。-,而且|我只想让它检查是否有值,然后显示记录,如果没有,则不显示记录并省略符号。。。谢谢我不知道你在问什么。你能提供样品数据吗?当然。。。这是您可以看到滚动条的测试页面。这是记录显示的地方@Matthew use正则表达式。。。类似于…WHERE-trimpolumn_name REGEXP'[a-zA-Z]'之类的东西。关于MySql regex at.的简短教程|显示,因为您在while循环中作为行间分隔的一种方式进行了回显。而且,是名字、城市和州之间的分离,也是你在循环中呼应这一点。我认为数据库字段不是空的,而是空的、0长度的字符串,或者可能是一些空格。因此,请尝试在firstname不为NULL的地方使用TRIMfirstname