我正在执行一个简单的查询,以便从我的数据库中检索汽车制造商:
$result = mysql_query("SELECT DISTINCT model_make_display_name FROM car_query_models_full ORDER By model_make_display_name ASC") or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
echo "<p>".$row['model_make_display_name']."</p>\n";
} 数据在HTML视图中显示正常,但是当我查看源代码时,一些结果显示如下:
<p>Ariel
</p>
<p>Armstrong </p>
<p>Ascari
</p>
<p>Aston Mart</p>
<p>Audi
</p>
<p>Austin
</p>
<p>Austin Hea</p>
<p>Autobianch</p>
<p>Auverland
</p>
<p>Avanti
</p>
<p>Beijing
</p>
<p>Bentley
</p>请注意,一些名称在文本后面添加了一个分隔符,强制结束p标记转到下一行,这可能是什么原因造成的?
干杯
发布于 2013-01-11 09:07:59
您是否检查过那些制造商的末尾是否有换行符?试一试
echo "<p>".trim($row['model_make_display_name'])."</p>\n";看看他们是否存在。如果是这样,只需清理数据库(在进入时或一次性),您就可以开始工作了。
发布于 2013-01-11 09:05:33
它存储在数据库中的方式导致了这种情况。
您可以尝试:
echo "<p>" . htmlspecialchars( $row['model_make_display_name'] ) . "</p>\n";或者从值中替换\n和\r:
SELECT ... REPLACE(model_make_display_name, '\n', '')。它们不再由and are officially deprecated维护。看到了吗?相反,学习,并使用PDO或MySQLi - this article将帮助您决定使用哪种方法。如果你选择PDO,here is a good tutorial。
https://stackoverflow.com/questions/14270052
复制相似问题