我制作了一个下拉列表,它从数据库中获取数据(名称)并显示在下拉列表的选项中。现在我试图从列表中获取该选定名称的整行,并希望将每个数据保存到一个变量中以供进一步使用。谁能指导我...这是我在 PHP/MySQL 中的第一个项目,请帮助我...这是我的下拉列表代码:<form action="sel2.php" method="post"> Player: <select name="data[]" multiple> <option disabled selected>-- Select Player --</option> <?php $records = mysqli_query($con, "SELECT * From bat"); // Use select query here while($data = mysqli_fetch_array($records)) { echo "<option value='". $data['name'] ."'>" .$data['name'] ."</option>"; // displaying data in option menu } echo "</select>"; echo "<input type='submit' name='submit' value='Submit' />";echo "</form>";?>我已经设法获取名称并将其存储到一个变量中:<?php if(isset($_POST['submit'])){ if(!empty($_POST['data'])) { foreach($_POST['data'] as $selected){ $curdata = $selected; } } else { echo 'Please select the value.'; } }?>我设法在另一个页面 (sel.php) 中得到了回应:<!DOCTYPE html><html><head> <title>PHP Retrieve Data</title> <?php include "connection.php"; include "sel2.php";// Using database connection file here ?></head><body><center><?phpecho $curdata, "<br>" , $batq;?></center></body></html>但是我如何存储该特定行的所有值,例如:$id = //id of selected name from dropdown list$age = //age of selected name from dropdown list等等等等
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
$_POST['data']是一个名称数组,因为您$data['name']在之前的脚本中用它填充了它。
没有比名称更多的数据要存储......为此,您可以例如序列化记录:
while($data = mysqli_fetch_array($records))
{
echo "<option value='". serialize($data) ."'>" .$data['name'] ."</option>"; // displaying data in option menu
}
现在您将在参数上获得一系列序列化记录$POST['data']:
首先,反初始化:$curdata = unserialize($selected);
然后访问您需要的任何字段echo $curdata['age'];
哦,请记住这一点,如果您在 foreach 内部分配$curdata... $selected$curdata 将始终是最后一个$POST['data']元素,我认为在这种情况下您不需要 foreach。
添加回答
举报
0/150
提交
取消