【问题标题】:Using Checkboxes with JQuery在 JQuery 中使用复选框
【发布时间】:2020-11-02 22:27:35
【问题描述】:

我正在尝试根据用户拥有的成分搜索甜点数据库。通过在我的查询中使用“和”,即使用户检查了所有可用的成分,它也不会从数据库中输出任何甜点(因为没有甜点使用所有成分)。对于甜点没有的成分列,数据库表为空。如何调整我的代码以显示所有仅使用用户输入的成分的甜点?

<!DOCTYPE html>
<head></head>
<body>
<h1> Immediate Ingredients </h1>
    
    <form>
        Eggs <input type="checkbox" name="eggs" value="yes">
        Chocolate Chips <input type="checkbox" name="cchip" value="yes">
        Butter <input type="checkbox" name="butter" value="yes">
        Sugar <input type="checkbox" name="sugar" value="yes">
        Flour <input type="checkbox" name="flour" value="yes">
        Vanilla <input type="checkbox" name="vanilla" value="yes">
        Heavy Cream <input type="checkbox" name="hc" value="yes">
        Baking Powder <input type="checkbox" name="bpowder" value="yes">
        Peanut Butter <input type="checkbox" name="pbutter" value="yes">
        Powdered Sugar<input type="checkbox" name="psugar" value="yes">
        Fruit <input type="checkbox" name="fruit" value="yes">
        
        <input type="submit">
    </form>

<?php
$eggs=$_GET['eggs'];
$cchip=$_GET['cchip'];
$butter=$_GET['butter'];
$sugar=$_GET['sugar'];
$flour=$_GET['flour'];
$vanilla=$_GET['vanilla'];
$hc=$_GET['hc'];
$bpowder=$_GET['bpowder'];
$pbutter=$_GET['pbutter'];
$psugar=$_GET['psugar'];
$fruit=$_GET['fruit'];


$database = new PDO('sqlite:ingredients.db');
$result = $database->query("SELECT * FROM ingredients_data WHERE eggs='{$eggs}' AND cchip='{$cchip}' AND butter='{$butter}' AND sugar='{$sugar}' AND flour='{$flour}' AND vanilla='{$vanilla}' AND hc='{$hc}' AND bpowder='{$bpowder}' AND pbutter='{$pbutter}' AND psugar={$psugar}' AND fruit='{$fruit}'");
$data = $result->fetchAll (PDO::FETCH_ASSOC);
    
    foreach($data as $row_index => $ingredients){
    $row_number = $row_index + 1;
        
    echo "<h1> {$row_number}</h1>";
    echo "<h2> {$ingredients['dname']} </h2>";
    }
    


?>

</body>

【问题讨论】:

标签: jquery sqlite input checkbox


【解决方案1】:

为什么不使用 OR 而不是 AND?这样,所有包含至少一种成分(由用户选择)的甜点都会显示出来。

【讨论】:

  • IN 运算符呢?
  • 感谢您的提问,我希望程序仅显示使用已勾选成分的甜点。例如,如果用户没有鸡蛋但有黄油,我不希望它显示有黄油和鸡蛋的甜点。
  • 你知道什么是 SQL 注入吗?在您完全了解安全问题之前,请不要这样做。
猜你喜欢
  • 2012-02-22
  • 2013-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-30
  • 2012-12-05
相关资源
最近更新 更多