对于我的数据库中的某些产品,产品的名称将被切断
<a href=" RIGHT HERE "> </a>
它将通过HTML视觉方面正确显示。但是,链接有时会缩短名称。
有人知道为什么会这样吗?
我似乎无法想到问题可能是什么?
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
$namelink = str_replace(" ","_",$row[1]);
print <<< PRODUCT_RESULTS
<table cellpadding="5" cellspacing="5" id="vProducts">
<tr>
<td><img src="$row[3]"/></td>
<td id="productTitle"><a href="/view_product1.php?name=$namelink&model=$row[0]">$row[1]</a><br />
<li>Model: $row[0]</li>
</td>
</tr>
</table>
<div style="width:749px; height:1px; background:#CCC;"></div>
PRODUCT_RESULTS;
}
表格结构:
CREATE TABLE `products` (
`modelNumber` varchar(100) NOT NULL DEFAULT '',
`name` varchar(400) DEFAULT NULL,
`shortDescription` varchar(500) DEFAULT NULL,
`image` varchar(400) DEFAULT NULL,
`largeImage` varchar(400) DEFAULT NULL,
`url` varchar(400) DEFAULT NULL
)
答案 0 :(得分:1)
将$row[3]
更改为$row[image]
,将$row[0]
更改为$row[modelNumber]
等。
如果这不起作用,我需要查看$查询。
编辑:
Krinkle(下面的评论),建议使用$row["image"]
和$row["modelNumber"]
,这是一种更好的做法。
答案 1 :(得分:1)
这可能听起来很疯狂,但你有>
,"
或其他一些会在该条目中产生无效HTML的角色吗?使用“查看源”时会发生什么?它仍然被切断了吗?
顺便说一句,我不知道你是否意识到这一点,但你正在对这些变量进行双重查找。这不仅速度慢,而且调试起来比较困难。而不是这样做:
<td id="productTitle">
<a href="/view_product1.php?name=$namelink&model=$row[0]">
$row[1]
</a>
<br />
<li>Model: $row[0]</li>
在打印等效于每个数组索引之前设置变量,然后输出该结果。
您还可以摆脱打印调用,只需使用?> <?php
即可。显然,一旦你这样做,就需要手动输出变量的内容,但可以说它更清晰,更清晰。