簡體   English   中英

While循環對於每個php僅工作一次

[英]While loop working only once inside for each php

這是我的代碼。 我知道, while循環只會工作一次。 但是foreach在獲取一個值后不會循環,即如果我選擇3個復選框。 只有一個將傳遞值。

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中的復選框。 復選框的數量不是固定的,取決於查詢。下面的代碼僅用於獲取多個復選框

    {
        <input type="checkbox" name="list[]" value="<?php echo $id; ?>
    }

為什么foreach不從所有選定的復選框中獲取值。 請幫忙。 提前致謝。 :)

在我看來,您的while循環每次都會覆蓋這些值。 我看不到您使用檢索到的值在做什么,因此,例如:

$user=$row['username'];

可能會執行3次,但每次都會覆蓋先前的值。 它總是給您最后選擇的值,對吧? 如果是這樣,那是因為您要設置$user三次,只有在最后一個之后,您才能對其進行任何操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM