请给我一只手从数据库中检索数据并显示它。
我正在学习,这让我无法前进:(
我有:
$result = mysql_query($sql);
$num_reg = mysql_num_rows($result);
echo $num_reg; // this shows 3
while($row = mysql_fetch_assoc($result))
{
foreach($row as $value)
{
//Now I need to operate with the rows values.
echo $row['PHONE'];
但这不是打印电话号码,而是每次打印5次
我做错了什么?
非常感谢
答案 0 :(得分:3)
删除foreach
循环
while($row = mysql_fetch_assoc($result))
{
echo $row['PHONE'];
echo $row['NAME'];
echo $row['OTHER_FIELD'];
}
答案 1 :(得分:1)
在这种情况下你不需要foreach
while($row = mysql_fetch_assoc($result))
{
echo $row['PHONE'];
}
您的$row
可能包含2个元素,foreach
内echo $row['PHONE']
为每个元素调用一次
答案 2 :(得分:1)
在while循环中执行print_r($ row),在foreach循环中执行print_r($ value)。 然后问你为什么在$ row元素的循环中回显$ row。
答案 3 :(得分:1)
你不需要在while()循环中使用第二个foreach()循环来处理这些值。你在这里做的是循环遍历行然后循环遍历值,但如果你已经通过$ row变量访问了值,则不需要再次循环。您获得5次电话号码的事实表明您的表格中有5列。
示例 - 删除foreach()循环:
while($row = mysql_fetch_assoc($result)){
echo $row['PHONE'];
echo $row['NAME'];
echo "<br />";
}
我猜你有一个名为“name”的变量,但如果不是只换一个你有的变量。最后一个回显只是打印一个新行,以便于阅读。