【问题标题】:Post variables from a while loop from a second table in form从表单中的第二个表中发布来自 while 循环的变量
【发布时间】:2015-08-13 20:39:03
【问题描述】:

我正在尝试从 2 列(封面和页面)中获取两个变量。如您所见,选择用于名称列,因此我无法获取其他变量并将它们插入封面和页面列。我在输入中有值,但有一个问题。

  1. 如果有多本书,它将在输入值中回显所有书籍的所有封面和所有 pageno。
  2. 填充 db 时,它的作用与值相同,它用所有书籍的封面和 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; ?>">

【问题讨论】:

    标签: javascript php jquery sql


    【解决方案1】:

    我不清楚你的问题。据我所知,隐藏字段封面和页码应该只显示选定的行。查看您的代码,我不明白您为什么要两次使用 select 查询,您没有使用第一个查询并且可以安全地删除,您还可以添加 where 子句来过滤掉您的结果,即使它有多个结果您可以在 while 循环中进行某种比较,但我建议您在查询本身中进行比较。如果在隐藏的封面中只显示一个值并且 pageno 是您的动机,那么您可以使用

    $cover = "$row[cover]";
    $pageno = "$row[pageno]";
    

    如果你能解释得更清楚,我很乐意提供帮助

    【讨论】:

    • 您好 Baljinder,感谢您的评论。是的,你是对的,第一个查询不需要在那里。我正在测试不同的东西并忘记删除它。我正在使用第二个查询。我要做的是即使我使用您发布的两本书价值的代码-如您所见,我在选择中有两本书-第123页是一本书,第345页是另一本书,封面价值是纸质书-纸是一本书,硬是第二本书。我只想要所选图书的结果 - 一本书。
    • 下面说我选择了两本书,这不是真的。我选择了一个......换句话说,它结合了隐藏字段值中的两本书。
    • 所选账面价值在哪里,是您在选择中的 $_POST['name']。如果是这种情况,您需要将该值添加到查询中,例如$result = mysqli_query($con,"SELECT b.id, b.name, b.cover, b.pageno FROM books where b.name='" + $_POST['name']+"' ");,并且对于要组合的值,请在=查看我上面的答案之前删除点(。)实际上连接值。
    • 感谢您的回复。我添加了您的代码并删除了负责将 pageno 和 cover 的值结合起来的点,这很棒。但是现在的问题是,在刷新后查看隐藏值,当我没有选择一本书时,它会用最后一本书填充隐藏值。对于测试,我添加了名称ID,并且选择一本书并提交时,它使用选定的ID
    • 能否请您发布完整的代码以及 html 表单和 php 插入脚本。我仍然无法完全理解这个问题。 cover 和 pageno 变量将从 sql 返回的最后一行填充。因此查询返回 5 行,第 5 行将是封面和页码的值
    猜你喜欢
    • 2015-11-03
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2016-04-05
    • 1970-01-01
    相关资源
    最近更新 更多