我正试图从2列中获取两个变量(cover和pageno)。正如您所看到的,select是针对name列的,因此我无法获取其他变量并将它们插入到cover和pageno列中。我在输入中有值,但有一个问题。
我不确定如何循环输入并仅打印所选书籍,并使用仅选择的内容填充数据库。也许jquery的javascript?我希望这是有道理的。
<select name="name">
<option value="<?php echo "{$_POST['name']}"; ?>"> </option>
<?php
include('theconnection.php');
$con = mysqli_connect($host,$user,$pass,$dbName);
if (!$con)
{
die('cannot connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"thebooks");
$result = mysqli_query($con,"SELECT b.id, b.name, b.cover, b.pageno FROM books");
$cover = '';
$pageno = '';
while($row = mysqli_fetch_array($result))
{
echo ("<option value='$row[name]'>$row[name] $row[cover], $row[pageno] </option>");
$cover .= "$row[cover]";
$pageno .= "$row[pageno]";
}
?>
</select>
<input type="hidden" name="cover" value="<?php echo $cover; ?>">
<input type="hidden" name="pageno" value="<?php echo $pageno; ?>">
答案 0 :(得分:0)
我不清楚你的问题。从我可以做出的是隐藏的字段覆盖和页面否应该只显示选定的行。看看你的代码我不知道为什么你使用选择查询两次,无论如何你没有使用第一个查询,可以安全地删除,你也可以添加where子句来过滤你的结果,即使有多个结果你可以在while循环中进行某种比较,但我建议你在查询本身中这样做。如果在隐藏封面中只显示一个值而pageno是您的动机,那么您可以使用
$cover = "$row[cover]";
$pageno = "$row[pageno]";
如果你能更清楚地解释一下,我会很乐意帮助