【发布时间】:2012-05-31 05:26:48
【问题描述】:
我有一个成功显示帐号的循环。其中一些数字以“@”开头保存到数据库中。我想从显示的结果中去掉“@”符号。我已经看到了很多简单的回显解决方案,它们通过使用trim、preg_replace 等来实现这一点,但在for 循环中什么都没有。有什么想法吗?
我当前的代码(不包括尝试的解决方案):
<?php
$query = sprintf("SELECT banner_id FROM tablename") or die(mysql_error());
$result = mysql_query($query, $dblink) or die(mysql_error());
$i = 0;
if($result){
while($row = mysql_fetch_array($result)){
$banner_id[$i] = $row['banner_id'];
$i++;
}
}
?>
<html><body>
<ul>
<?php
for($x=0; $x < mysql_num_rows($result); $x++) {
echo "<li>{$banner_id[$x]}</li>\n";
}
?>
</ul>
</body></html>
电流输出:
- 12345678
- @98765432
- @01230145
期望的输出:
- 12345678
- 98765432
- 01230145
我觉得这应该很容易,但我找不到任何可行的方法。感谢您提供的任何帮助!
【问题讨论】:
-
请停止使用古老的
mysql_*函数编写新代码。它们不再维护,社区已经开始 deprecation process 。相反,您应该了解prepared statements 并使用PDO 或MySQLi。如果您无法决定,this article 将帮助您选择。如果你想学习,here is a quite good PDO-related tutorial. -
循环结构中的变量并没有什么神奇之处。不确定您的问题是什么,因为您没有说您尝试过的方法不起作用。您只是表明无论您尝试什么都行不通。显示什么不起作用。
标签: php mysql for-loop character strip