【发布时间】:2014-03-09 21:46:10
【问题描述】:
所以我的代码应该按 ID 以 ASC(升序)顺序打印出我游戏的所有用户。它做得很好,但由于某种原因它不会正确打印他们的名字......
这是我的代码:
<table width="90%" border="1" style="border-collapse:collapse;border:4px solid #9f0606;">
<tr height="41">
<td align="center" colspan="2" style="border-collapse:collapse;border:4px solid #9f0606;"><strong>User List</strong></td>
</tr>
<?
$presult = mysql_query("SELECT * FROM users ORDER BY id ASC") or die(mysql_error());
$b = 0;
while($row = mysql_fetch_array($presult)) {
?>
<tr height="31">
<td width="80%" style="border-collapse:collapse;border:4px solid #9f0606;" align="left">
<?php
$b = $b + 1;
if($row['account_type'] == 1){
echo "<p><a style=\"color:black;text-decoration:none;\" href=\"view_profile.php?id=". $row['id'] ."\">".$row['username']." [".$row['id']."]</a></p>";
?>
</td>
<td width="20%" style="border-collapse:collapse;border:4px solid #9f0606;" align="left">
<?
echo "<p>Level: ".$row['level']."</p>";
?>
</td>
</tr>
<?
}elseif($row['account_type'] == 2){
?>
echo "<p><a style=\"color:#CC0000;text-decoration:none;\" href=\"view_profile.php?id=". $row['id'] ."\">".$row['username']." [".$row['id']."]</a></p>";
?>
</td>
<td width="20%" style="border-collapse:collapse;border:4px solid #9f0606;" align="left">
<?
echo "<p>Level: ".$row['level']."</p>";
?>
</td>
</tr>
<?
}else{
?>
echo "<p><a style=\"color:black;text-decoration:none;\" href=\"view_profile.php?id=". $row['id'] ."\">".$row['username']." [".$row['id']."]</a></p>";
?>
</td>
<td width="20%" style="border-collapse:collapse;border:4px solid #9f0606;" align="left">
<?
echo "<p>Level: ".$row['level']."</p>";
?>
</td>
</tr>
<?
}
}
?>
</table>
抱歉,它不是很干净或有条理,必须将所有内容间隔 4 次,这很烦人,所以我让它看起来有点草率。
这是我在浏览器中的代码截图:
(我不能发布图片,因为我显然还没有 10 名声望,但基本上截图显示的用户名/id 部分看起来像这样:
echo "
`this row in blue`".$row['username']." [".$row['id']."]
";?>
关卡部分看起来完全符合我的要求,如下所示:
Level: 12)
如您所见,循环的“级别”部分(打印用户级别)工作正常。如果你能在我的其余代码中找到错误,那就太棒了。哦,顺便说一句,上面写着 ($row['account_type'] == 1),没有一个用户是 account_type == 1,第一个是 account_type == 6,第二个是 account_type == 2 .它们都打印完全一样。谢谢!
图片在这里:
【问题讨论】:
-
您是否阅读了帮助文档中有关适当标题的部分?
-
他的意思是你的标题要具体。从字面上看,您当前的标题可能适用于数千个其他问题。
-
你应该学习如何使用合适的文本编辑器来为你做一些事情,比如将代码块缩进 4 个空格。这样一来,StackOverflow 的格式化代码就不会很痛苦了。
-
这是他们在学校教的通过 php 放置 html 的方式吗?我只是不明白为什么人们一直在脚本中打开和关闭 php 三百次,而不是将 html 代码放入模板中的变量中,从而实现了视觉上排列良好的代码和脚本末尾的单个
echo $html。同样值得注意的是,在一个脚本中回显 200 次会比单次回显相同的 html 代码更长。 -
@FélixGagnon-Grenier:不幸的是,PHP 最初就是这样设计的,所以人们这样使用它也就不足为奇了。
标签: php html loops if-statement