时间:2015-08-13 20:39:03

标签: javascript php jquery sql

我正试图从2列中获取两个变量(cover和pageno)。正如您所看到的,select是针对name列的,因此我无法获取其他变量并将它们插入到cover和pageno列中。我在输入中有值,但有一个问题。

  1. 如果有多本书,它将回显输入值中所有书籍的所有封面和所有pageno。
  2. 当填充数据库时,它与值相同,它会为所有书籍填充所有 - 封面和pageno的列,而不是所选的特定书籍。
  3. 我不确定如何循环输入并仅打印所选书籍,并使用仅选择的内容填充数据库。也许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; ?>">
    

1 个答案:

答案 0 :(得分:0)

我不清楚你的问题。从我可以做出的是隐藏的字段覆盖和页面否应该只显示选定的行。看看你的代码我不知道为什么你使用选择查询两次,无论如何你没有使用第一个查询,可以安全地删除,你也可以添加where子句来过滤你的结果,即使有多个结果你可以在while循环中进行某种比较,但我建议你在查询本身中这样做。如果在隐藏封面中只显示一个值而pageno是您的动机,那么您可以使用

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

如果你能更清楚地解释一下,我会很乐意帮助