0

我在设置数据库查询结果的样式时遇到了一些麻烦,因为由于某种原因,当我在线查看页面时,我正在回显的 HTML 元素被完全删除。标签( 和 等)没有评论,在查看页面源代码时完全消失了。

这个脚本的想法是让它获得玩家的投票结果。使用当前脚本,数据全部显示,因此不存在连接问题。这是我目前拥有的php:

<?php

$user_name = "TAKEN OUT";
$password = "TAKEN OUT";
$database = "TAKEN OUT";
$server = "TAKEN OUT";
$db_handle = mysql_connect($server, $user_name, $password);
$db_found = mysql_select_db($database, $db_handle);

if ($db_found) {

$SQL = "SELECT * FROM votesql ORDER BY votes DESC";
$result = mysql_query($SQL);
$value = 1;
while ($db_field = mysql_fetch_assoc($result)) {
echo "<tr id=\"voterank\">" . $value . "</div>";
echo "<td id=\"vote-place\">" . $value . "</td>";
echo "<td id=\"vote-playername\">" . $db_field['playername'] . "</td>";
echo "<td id=\"vote-count\">" . $db_field['votes'] . "</td>";

$value = $value + 1;

echo ("</tr>");
}

mysql_close($db_handle);

}
else {
print ("Database NOT Found ");
mysql_close($db_handle);
}

?>

这会导致页面显示与此非常相似的信息:

11Playerone1222Playertwo11261

当我查看页面的源代码时,它显示为一个没有元素的简单文本块。在过去的 3 个小时里,我一直坚持这一点(甚至没有夸大其词),试图找到如何回应这一点,但没有运气。我还在两种不同的托管环境中对此进行了测试,一种是通过 EasyPHP 在我的机器上进行的,另一种是通过我拥有的网站进行的。

任何解决此问题的帮助将不胜感激!

4

4 回答 4

1
echo "<tr id=\"voterank\">" . $value . "</div>";

你需要一个TD,这</div>是错误的。

此外,您<td>在每行中的每个中重复 id。ID 在页面上应该是唯一的。也许你class="..."在这里改用。

于 2013-06-16T07:30:36.677 回答
1

tds 需要完整的表结构:

<table>
 <tr>
  <td>Column 1 </td>
  <td>Column 2 </td>
 <tr>
</table>

可能是浏览器正在删除<td>您案例中的元素,因为它们在没有环绕的情况下无效<table>

此外,正如Mike W 指出的那样,您正在关闭<tr>a </div>,而此时您不应该关闭任何东西。

不过,您应该在真正的“查看源代码”视图中看到您的原始 HTML。

于 2013-06-16T07:30:43.117 回答
0

改变这个:

echo "<tr id=\"voterank\">" . $value . "</div>";
echo "<td id=\"vote-place\">" . $value . "</td>";
echo "<td id=\"vote-playername\">" . $db_field['playername'] . "</td>";
echo "<td id=\"vote-count\">" . $db_field['votes'] . "</td>";

至:

echo "<tr>";
echo "<td id=\"voterank\">" . $value . "</td>";
echo "<td id=\"vote-place\">" . $value . "</td>";
echo "<td id=\"vote-playername\">" . $db_field['playername'] . "</td>";
echo "<td id=\"vote-count\">" . $db_field['votes'] . "</td>";
echo "</tr>";
于 2013-06-16T07:35:38.947 回答
0

有点简单:

echo '<tr>
<td id="voterank">'.$value'.</td>
<td id="vote-place">'.$value.'</td>
<td id="vote-playername">'.$db_field['playername'].'</td>;
<td id="vote-count">'.$db_field['votes'].'</td>
</tr>';

如果以单引号开头 echo,则不需要在双引号之前使用 (/)。祝你好运。

于 2013-06-16T09:16:27.767 回答