我在设置数据库查询结果时遇到了一些麻烦,因为出于某种原因,当我在线查看页面时,我正在回应的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,另一个在我拥有的网站上。
任何帮助解决这个问题都将非常感谢!
答案 0 :(得分:1)
echo "<tr id=\"voterank\">" . $value . "</div>";
你需要一个TD,而</div>
是错误的。
此外,您正在重复每行<td>
中的ID。 ID应该在页面上是唯一的。也许你在这里使用class="..."
。
答案 1 :(得分:1)
td
需要完整的表格结构:
<table>
<tr>
<td>Column 1 </td>
<td>Column 2 </td>
<tr>
</table>
可能是浏览器正在删除您案例中的<td>
元素,因为它们在没有周围<table>
的情况下无效。
此外,正如Mike W points out一样,您使用<tr>
关闭了</div>
,而此时您不应该关闭任何内容。
但是,您应该在真实的“查看源代码”视图中看到原始HTML。
答案 2 :(得分: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>";
答案 3 :(得分: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>';
如果您使用单引号开始回显,则在双引号之前不需要使用(/)。祝你好运。