首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对于每个php,While循环只在内部工作一次。

问对于每个php,While循环只在内部工作一次。
EN

Stack Overflow用户
提问于 2016-10-21 04:00:57
回答 1查看 271关注 0票数 0

这是我的代码。我知道,while循环只能运行一次。但foreach在获取一个值后不会循环,即如果我选择了3个复选框。只有一个会传递这些值。

代码语言:javascript
复制
if(!empty($_POST["list"]))  
      {  
$connect = @mysql_connect("localhost","***","***") or die (" this error");
mysql_select_db("edu_info")or die ("database does not exist"); 


          foreach($_POST["list"] as $list=> $val)  
           {  


$query=mysql_query("select * from students where id='$val' limit 1");

while($row=mysql_fetch_assoc($query))
{
$user=$row['username'];
$number=$row['pphone'];
$name=$row['name'];
$pname=$row['pname'];
}
echo $user;
echo $number;
echo $name;
echo $pname;
    }
    }

这是我在html中的复选框。复选框的数量不是固定的,它取决于下面的query.Code只是为了获得多个复选框

代码语言:javascript
复制
    {
        <input type="checkbox" name="list[]" value="<?php echo $id; ?>
    }

为什么foreach没有从所有选中的复选框中提取值。请帮帮忙。提前谢谢。:)

EN

回答 1

Stack Overflow用户

发布于 2016-10-21 04:19:40

在我看来,您的while循环每次都会覆盖这些值。我不知道您在哪里对检索到的值执行任何操作,因此,例如:

代码语言:javascript
复制
$user=$row['username'];

可能会执行三次,但每次都会覆盖先前的值。它总是给你最后选择的值,对吗?如果是这样,那是因为您设置了三次$user,只有在最后一次之后才能对其执行任何操作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40163497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档