如何比较PHP中的html复选框值?

时间:2015-02-21 16:41:15

标签: php html mysql

我有三个复选框和三个输入字段,如下所示,

        <input type="checkbox" name="fruit" value="orange" >
        <input type="text" name="orange" >Orange
        <input type="checkbox" name="fruit" value="apple" >
        <input type="text" name="n" >Apple<br/>
        <input type="checkbox" name="fruit" value="mango" >
        <input type="text" name="mango" >Mango

我有一个名为fruits的mysql表,其中有四列名为id,apple,orange,mango。 我想做的事情就像用户选择橙色,苹果,芒果(复选框)我想在三个输入字段中将数据插入表格中的橙色,苹果,芒果,或者如果用户选择两个用户复选框,它将只插入数据从输入字段的值到两列,或者如果只选中一个复选框,则插入一列!这样做的标准程序是什么?提前致谢

2 个答案:

答案 0 :(得分:2)

仅发送选中的复选框,因此请使用isset

if (isset($_POST['mango']) || isset($_POST['apple']) || isset($_POST['orange'])) {
    $query = 'INSERT INTO table VALUES (orange, apple, mango) VALUES (';
    $query .= (isset($_POST['orange']) ? 1 : '') . ',';
    $query .= (isset($_POST['apple'])  ? 1 : '') . ',';
    $query .= (isset($_POST['mango'])  ? 1 : ''); 
    $query .= ')';
}

答案 1 :(得分:0)

它对我有用。

我的代码:

HTML

 <form  action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="POST">
<input type="checkbox" name="fruit[]" value="orange" >Orange
<input type="checkbox" name="fruit[]" value="apple" >Apple
<input type="checkbox" name="fruit[]" value="mango" >Mango
<input type="submit" value="Insert into Database">
</form>

PHP

 <?php 

// define variables and set to empty values
 $fruits = array();
if ($_SERVER["REQUEST_METHOD"] == "POST") 
{
  $fruits = test_input($_POST);
}
function test_input($data) 
 {
    $servername = "";// localhost, server name
    $username = "";// username
    $password = "";//password
    $dbname = "";//database name

   // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);

    for($i =0; $i < sizeof($data["fruit"]);  $i++)
    {
        //select query where count > 0 and fruitname = $data["fruit"]
        //If its first time, Select query returns false
        // write Insert into db table values(fruitname = $data["fruit"] , count =1)

    // if its exist value, select query returns count value,
    // update query set value = value+ 1 where   fruitname = $data["fruit"]
   }
}

?>