得到了这个代码,这是困扰我,并渴望接受任何帮助!
$x=0;
while($row = mysql_fetch_array($result))
{
if ($me == $x)
{
echo "You are $me";
break;
}
else
{
$x++;
}
}当我包括休息时,它会返回:
您已经选择了1
但是,当我移除中断时,它会返回
您已经选择了所选的1
目前数据库中有6条记录,如果代码正常工作,它将显示“您是第4位”。
有什么想法吗?
发布于 2011-01-09 15:15:41
您的$x++;只在else上执行。为了使它在每次迭代中增加,您需要删除else
$x=0;
while($row = mysql_fetch_array($result))
{
if ($me == $x)
{
echo "You are $me";
break;
}
$x++;
}顺便提一句:$row在这里似乎与$me和$x无关。我假设您的循环包含一些您省略的其他代码,但仅这一点可能会回答您的问题。
发布于 2011-01-09 15:16:01
如果您在“否则”中冻结$x,这将永远不会被执行。
您需要在与echo相同的部分中执行增量。
因此,要么是:
$x=0;
while($row = mysql_fetch_array($result))
{
if ($me == $x)
{
echo "You are $me";
$x++;
}
else
{
$x++;
}
}或者,如果您不需要在不回显的情况下增加$x:
$x=0;
while($row = mysql_fetch_array($result))
{
if ($me == $x)
{
echo "You are $me";
x++;
}
}https://stackoverflow.com/questions/4639915
复制相似问题