【问题标题】:How to use && opertor with checkboxes in php [duplicate]如何在php中使用带有复选框的&&运算符[重复]
【发布时间】:2021-02-14 03:54:23
【问题描述】:

我正在尝试根据选中的复选框从 PHP 中的 MySQL 数据库中获取数据。 i am fine when a single checkbox is selected then it should fetch me some data from the database, but when two or more checkboxes are selected it is not fetching the right data but coming as if it is only one checkbox selected.

示例:

checkbox1 显示名字,checkbox2 显示姓氏。当 checkbox1 和 checkbox2 被选中时应该显示名字和姓氏,但它只显示名字。

if(isset($_POST["Export"])){

    if(isset($firstname)){

        $sql = "SELECT firstname from biodata";
        $stmt = $pdo->query($sql);
    }
    elseif(isset($lastname)){

        $sql = "SELECT lastname from biodata";
        $stmt = $pdo->query($sql);
    }
   
    if(isset($firstname && $lastname)){

        $sql = "SELECT firstname,lastname from biodata";
        $stmt = $pdo->query($sql);
    }
}

【问题讨论】:

  • 您不必在第三个isset() 中使用&&。仅当设置了 isset() 的所有参数并且不包含 null 时,isset($firstname , $lastname) 才会返回 true。
  • 感谢您的回复,即使它没有解决它...

标签: php checkbox operator-keyword


【解决方案1】:

您不必在第三个isset() 中使用&&

只有当isset() 的所有参数都已设置且不包含null 时,isset() 才会返回 true

所以与其做,

if(isset($firstname && $lastname)){
    
            $sql = "SELECT firstname,lastname from biodata";
            $stmt = $pdo->query($sql);
}

做,

if(isset($firstname , $lastname)){
    
            $sql = "SELECT firstname,lastname from biodata";
            $stmt = $pdo->query($sql);
 }

更多详情,您可以访问PHP isset() with multiple parameters

【讨论】:

  • 如果该问题由 SO 上的另一个问题回答,则通常应将其标记为重复关闭(或留下评论说明您认为哪个问题是重复的,其他人可以关闭它)。
【解决方案2】:

演示:http://phpfiddle.org/main/code/0aix-4tdb

<form method="post" action="">
    <span>Select languages</span><br/>
    <input type="checkbox" name='lang[]' value="PHP"> PHP <br/>
    <input type="checkbox" name='lang[]' value="JavaScript"> JavaScript <br/>
    <input type="checkbox" name='lang[]' value="jQuery"> jQuery <br/>
    <input type="checkbox" name='lang[]' value="Angular JS"> Angular JS <br/>

    <input type="submit" value="Submit" name="submit">
</form>

<?php
if(isset($_POST['submit'])){

    if(!empty($_POST['lang'])) {

        foreach($_POST['lang'] as $value){
            echo $value.'<br/>';
        }

    }

}
?>

【讨论】:

  • 这不起作用
猜你喜欢
  • 1970-01-01
  • 2018-08-22
  • 1970-01-01
  • 2010-09-19
  • 2010-10-10
  • 1970-01-01
  • 2016-12-06
  • 1970-01-01
相关资源
最近更新 更多