将while循环中的变量从表单中的第二个表中发送出去
Post variables from a while loop from a second table in form
我试图从2列(封面和页)抓取两个变量。正如您所看到的,选择是针对name列的,所以我不能抓取其他变量并将它们插入到cover和pageno列中。输入中有值,但有一个问题。
- 如果有多本书,它将在输入值中返回所有书籍的所有封面和所有页码。
- 当填充db时,它做与值相同的事情,它填充所有书籍的所有封面和页码,而不是选定的特定书籍。
我不确定如何通过输入循环,只打印所选的书,并仅用所选的内容填充数据库。也许是javascript或Jquery?我希望这能说得通。
<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; ?>">
我不太清楚你的问题。从我能做的是,隐藏字段覆盖和页面号应该只显示选定的行。看看你的代码,我不明白为什么你使用选择查询两次,无论如何你不使用第一个查询,可以安全地删除,你也可以添加where子句来过滤掉你的结果,即使有多个结果,你可以在while循环中进行某种比较,但我建议你在查询本身中这样做。如果您的目的是在隐藏的封面和页号中只显示一个值,那么您可以使用
$cover = "$row[cover]";
$pageno = "$row[pageno]";
如果你能解释得更清楚一些,我很乐意帮忙
相关文章:
- 下拉选择可自动更改第二个下拉选择
- 为什么不'在JQuery中找到第二个css选择器的工作
- 当单击第一个李时,它显示内容一,当单击第二个李时,它显示内容二
- CORS-重定向到第二个GET正在接收的页面
- 正则表达式与数字中的第二个点匹配
- 如何在react js中移动第二个组件
- 使用Javascript,如何显示<tr>在另一<tr>悬停时,隐藏第二个<tr>
- 关闭第二个事件源上的第一个事件源's onopen方法
- D3从嵌套的JSON中绘制第二个圆环图
- IE11中的第二个调用取消了第一个Fetch API调用
- 第一个字第一个字符第二个字第二个字符,一直到数组结束
- 角度指令:指向第二个元素
- 时间选择器:如何通过更改第一个值来更改第二个值
- 我如何从字符串中选出第一个单词的第一个字母,然后再选出第二个单词
- 与网络界面相比,谷歌搜索API有时会重复第一个结果,有时会重复第二个结果
- 第二个存在条件不起作用
- 从第一个日期选择器定义第二个日期选择器的开始日期
- 如果未选择第一个下拉列表,则禁用第二个下拉列表
- Ember.js(v2.4.5)组件不是't错过第二个动作
- 将while循环中的变量从表单中的第二个表中发送出去