Это мой код. Я знаю, цикл while
будет работать только один раз. Но foreach
не зацикливается после получения одного значения, т. Е. Если я выберу 3 флажка. Только один передаст значения.Пока цикл работает только один раз внутри для каждого php
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 просто получить несколько флажков
{
<input type="checkbox" name="list[]" value="<?php echo $id; ?>
}
Почему Еогеасп не выборки значений из всех выбранных флажков. Пожалуйста помоги. Заранее спасибо. :)
Не выполняйте запрос внутри цикла, вам нужен только один запрос, который намного эффективнее – nogad
Что такое '$ query1' и как он связан с' $ query'? –
Могу ли я предположить, что он получает только последнее значение? Потому что вы перезаписываете переменные в своем первом отрезке - и вы на самом деле ничего не делаете с ними (по крайней мере, не из кода, который вы показали). – Qirel