用循环读出数据库数据,为什么没数据的字段,单元格会没有边边?<div style="position:relative;top:20px">
<div style="font-size:25px;">采购清单</div>
<hr style="width:85%">
<table border=1 width=70%  cellspacing="0" style="border:3mm;font-size:12px;position:relative;top:30px"> 
 
 <tr>
    <th width="55" scope="row"><div align="center">编号</div></th>
<td width="200"><div align="center">发布时间</div></td>
    <td width="311"><div align="center">零配件名称</div></td>
 <td width="130"><div align="center">品牌</div></td>
 <td width="311"><div align="center">规格说明</div></td>
    <td width="50" style="text-align:center">单位</td>
    <td width="50"><div align="center">数量</div></td>
<td width="180"  ><div align="center">要求到货日期</div></td>
    <td width="360"  ><div align="center">备注</div></td>
  </tr>
  
 <?
while($row = mssql_fetch_array($result)) //循环输出 
{  $theID=$row['id']; 
$theTypeName= $row['theTypeName']; 
$brand= $row['brand']; 
$goodsNum=$row['goodsNum']; 
$theUnit=$row['theUnit']; 
$theMemo= $row['theMemo']; 

$publishTime=$row['publishTime']; 
$specification=$row['specification']; 
$leadtime= $row['leadtime'];
if($leadtime!="")
    $leadtime= date("Y-m-d",strtotime($leadtime)); 

//$leadtime= $row['leadtime'];
 
echo "<tr align=\"center\" border=\"1\"  height=39>"; 
echo "<td align=\"center\" >$theID</td>"; 
echo "<td align=\"center\" >$publishTime</td>"; 
echo "<td align=\"left\" ><a href=\"orderdetail.php?id=$theID\" target=\"_blank\">&nbsp; $theTypeName</a></td>"; 
echo "<td align=\"center\" >$brand</td>"; 
echo "<td align=\"left\" >$specification</td>"; 
echo "<td >$goodsNum</td>"; 
echo "<td>$theUnit</td>";echo "<td align=\"center\">&nbsp;$leadtime</td>";  echo "<td align=\"left\">&nbsp;$theMemo</td>"; 
echo "</tr>"; 

echo "</table>"; 
echo '</center>';?> 
</div>

解决方案 »

  1.   

    那是浏览器的问题//定义函数
    function ifempty($var, $char='&nbsp;') {
      return empty($var) ? $char : $var;
    }...
    while($row = mssql_fetch_array($result)) //循环输出  
    {  
      $row = array_map('ifempty', $row); //在这里调用
    $theID=$row['id'];  
    $theTypeName= $row['theTypeName'];  
    ....
      

  2.   

    没有内容的单元格填充“&nbsp;”,可以解决这个问题
      

  3.   

    if($leadtime!="")
    $leadtime= date("Y-m-d",strtotime($leadtime));  改为
    if($leadtime == "&nbsp;")
    $leadtime= date("Y-m-d",strtotime($leadtime));  
    日期为什么不在数据库中处理?
      

  4.   

    日期为0或者说1970-01-01的也换成“&nbsp;”啊