我正在尝试从数据库中获取数据,并使用其唯一ID在页面上回显它们。下面是我的代码
<?php
session_start();
require_once('config.php');
//create query statement
$query = 'SELECT * FROM player_info';
//make the query from db
$myData = mysql_query($query, $conn)
OR exit('Unable to select data from table');
while($row = mysql_fetch_array($myData, MYSQL_ASSOC)){
$playerID = $row['id'];
$player_bio = $row['player_bio'];
$achievements = $row['player_achts'];
}
&GT;
以下是我如何编码回显数据
<?php
if ($playerID == 1)
{
echo '<p class="playerAchievesL">' . $achievements . '</p><p class="playerInfoL">' . $player_bio . '</p>';
}
?>
我没有从php返回任何错误,但数据没有显示任何内容...请帮助...非常感谢你
答案 0 :(得分:1)
如果我理解正确,您需要将回声放在while()
循环中:
while($row = mysql_fetch_array($myData, MYSQL_ASSOC)){
$playerID = $row['id'];
$player_bio = $row['player_bio'];
$achievements = $row['player_achts'];
echo '<p class="playerAchievesL">' . $achievements . '</p><p class="playerInfoL">' . $player_bio . '</p>';
}
答案 1 :(得分:1)
您从桌面上获取所有玩家,并为每位玩家覆盖$playerID
,$player_bio
和$achievements
。 while
循环后,$playerID
包含上次获取的播放器的标识符。
如果您有多个玩家,则最有可能$playerID
与1
不同。
答案 2 :(得分:1)
问题在这里。你正在覆盖每次迭代的值
while($row = mysql_fetch_array($myData, MYSQL_ASSOC)){
$playerID = $row['id'];
$player_bio = $row['player_bio'];
$achievements = $row['player_achts'];
}
直接在循环中回显它们:
while($row = mysql_fetch_array($myData, MYSQL_ASSOC)){
echo $row['id'];
echo $row['player_bio'];
echo $row['player_achts'];
}
答案 3 :(得分:0)
你的while循环可能会覆盖$ pkayerID,所以如果最后一个playerID不是1,它就不会回显任何内容。
尝试在$ achievemets行之后放置echo线,看看是否是这种情况。