$sql = "select * from jz_vod_film order by hit desc limit 8";
$result = mysql_query($sql);
echo "<table width=\"120\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"table-layout:fixed\">";
$i = 1;
while ($tmp = mysql_fetch_array($result))
{
echo "<tr><td width=\"23\" style=\"font-size:9pt\"><img src=\"mov3/img_num0". $i .".gif\" width=\"21\" height=\"14\" /></td><td width=\"97\" style=\"padding-top:3px; padding-left:6px;\" align=\"left\" style=\"white-space:nowrap; overflow:hidden; text-overflow:ellipsis;\">". $tmp[mv_name] ."</td></tr><tr><td height=\"1\" colspan=\"2\" background=\"mov3/linebg.gif\"></td></tr>";
$i++;
}
echo "</table>";这是一个简单的表格输出问题,表格中的td如果输出的不是数据库的读取值,比方是个很长的字符串
“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”
或者是个被赋字符串值的变量$text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”
都可以实现超出TD宽度的字符隐藏掉,但是从数据库中读取出来的字符串却不会自动隐藏,而是自动换行显示了,CSS的作用没有了,请问各位大虾,我这个是什么问题呢?
我要怎么实现把数据库中读取出的值显示在表格里而且不换行,自动隐藏掉超出宽度部分呢?
$result = mysql_query($sql);
echo "<table width=\"120\" border=\"0\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" style=\"table-layout:fixed\">";
$i = 1;
while ($tmp = mysql_fetch_array($result))
{
echo "<tr><td width=\"23\" style=\"font-size:9pt\"><img src=\"mov3/img_num0". $i .".gif\" width=\"21\" height=\"14\" /></td><td width=\"97\" style=\"padding-top:3px; padding-left:6px;\" align=\"left\" style=\"white-space:nowrap; overflow:hidden; text-overflow:ellipsis;\">". $tmp[mv_name] ."</td></tr><tr><td height=\"1\" colspan=\"2\" background=\"mov3/linebg.gif\"></td></tr>";
$i++;
}
echo "</table>";这是一个简单的表格输出问题,表格中的td如果输出的不是数据库的读取值,比方是个很长的字符串
“AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”
或者是个被赋字符串值的变量$text="AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA”
都可以实现超出TD宽度的字符隐藏掉,但是从数据库中读取出来的字符串却不会自动隐藏,而是自动换行显示了,CSS的作用没有了,请问各位大虾,我这个是什么问题呢?
我要怎么实现把数据库中读取出的值显示在表格里而且不换行,自动隐藏掉超出宽度部分呢?
在td里加上no wrap 试一下?
情况一:
<table width="80" border="1" cellspacing="0" bordercolor="#FF0000" style="table-layout:fixed">
<tr>
<td style="white-space:nowrap; overflow:hidden">ABCDEFGHIJKLMNOPQRSTUVWXYZ</td>
</tr>
</table>
情况二:
<?php $text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"; ?>
<table width="80" border="1" cellspacing="0" bordercolor="#FF0000" style="table-layout:fixed">
<tr>
<td style="white-space:nowrap; overflow:hidden"><?php echo $text;?></td>
</tr>
</table>情况三:(下面是个最简单的数据库)
-- 数据库: `mydb`
-- --------------------------------------------------------
-- 表的结构 `table1`CREATE TABLE `table1` (
`text1` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;-- 导出表中的数据 `table1`INSERT INTO `table1` (`text1`) VALUES
('ABCDEFGHIJKLMNOPQRSTUVWXYZ');
-- --------------------------------------------------------<?php
mysql_connect("localhost","root","");
mysql_select_db("mydb");
mysql_query("SET NAMES 'utf8'");
$sql = "select * from table1";
$result = mysql_query($sql);
$tmp = mysql_fetch_array($result);
$text = $tmp[text1];
?>
<table width="80" border="1" cellspacing="0" bordercolor="#FF0000" style="table-layout:fixed">
<tr>
<td style="white-space:nowrap; overflow:hidden"><?php echo $text;?></td>
</tr>
</table>情况四:(和3的区别只有数据中含几个中文字...)
-- 数据库: `mydb`
-- --------------------------------------------------------
-- 表的结构 `table1`CREATE TABLE `table1` (
`text1` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;-- 导出表中的数据 `table1`INSERT INTO `table1` (`text1`) VALUES
('ABCDEFGHIJKLMNOPQRSTUVWXYZ注意这里注意这里');
-- --------------------------------------------------------<?php
mysql_connect("localhost","root","");
mysql_select_db("mydb");
mysql_query("SET NAMES 'utf8'");
$sql = "select * from table1";
$result = mysql_query($sql);
$tmp = mysql_fetch_array($result);
$text = $tmp[text1];
?>
<table width="80" border="1" cellspacing="0" bordercolor="#FF0000" style="table-layout:fixed">
<tr>
<td style="white-space:nowrap; overflow:hidden"><?php echo $text;?></td>
</tr>
</table>不光如此,而且如果在数据库存储的字符里有("+"、"-"、"["、"(")这些特殊字符的时候都会出现情况4,请大虾试验下这几种情况~给我个答复,谢谢~
FIREFox到目前没止没有解决方案通常为了不影响美观.都加overflow:hidden
主要是CSS的定义问题,
1CSS定义了强制换行,显示就会换行,2要想不换行并全部显示,overflow:visible
wor-break?word-break?break all?
我在编辑时候没找到这个style,而且加上也不好用,我说各位朋友啊,你试验一下不好么?
我可是一个一个试验的,确实是有问题的啊
我的要求是:“数据读取的文本如果超出td的width,不要换行,隐藏掉多余的文字!”
可是数据库中读出的text变量中如果有 中文字 就不能自动隐藏了,这是为什么?