Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP多单选按钮数组_Php_Mysql - Fatal编程技术网

PHP多单选按钮数组

PHP多单选按钮数组,php,mysql,Php,Mysql,这是我的代码,我正在尝试在数据库中添加多个项目,在这5个项目中,我的一个项目是默认的,当我在项目3上进行检查时,在数据库项目3值另存为0,第一个项目值另存为1 这是不正确的,我希望在检查项目3时,提交表单后比在数据库项目3中保存为1,否则保存值为0 请任何人告诉我如何做这项工作 <?php if (isset($_POST['action'])) { $prods = count($_POST['prod']); for ($i = 0; $i < $prods;

这是我的代码,我正在尝试在数据库中添加多个项目,在这5个项目中,我的一个项目是默认的,当我在项目3上进行检查时,在数据库项目3值另存为0,第一个项目值另存为1

这是不正确的,我希望在检查项目3时,提交表单后比在数据库项目3中保存为1,否则保存值为0

请任何人告诉我如何做这项工作

<?php

if (isset($_POST['action'])) {
    $prods = count($_POST['prod']);

    for ($i = 0; $i < $prods; $i++) {
        $prod = $_POST['prod'][$i];
        $default = (!empty($_POST['is'][$i])) ? 1 : 0;
        mysql_query("INSERT INTO `items` (`prod`, `is_default`)VALUES('{$prod}', '{$default}')");
    }
}
?>

<form action="" method="post">
    <input type="hidden" name="action" value="add">

    <span>Item Name</span> <span style="padding-left:100px">Is default</span> <br>

    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="1">Item 1<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="1">Item 2<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="1">Item 3<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="1">Item 4<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="1">Item 5<br>

    <input type="submit" value="Save">
</form>

首先,更改复选框
属性,如下所示:

$default = (isset($_POST['is'][0]) && $_POST['is'][0] == $i) ? 1 : 0;
value=“0”
value=“1”
value=“2”

然后在表单处理过程中,按如下方式获取
$default
值:

$default = (isset($_POST['is'][0]) && $_POST['is'][0] == $i) ? 1 : 0;
因此,您的代码应该如下所示:

$default = (isset($_POST['is'][0]) && $_POST['is'][0] == $i) ? 1 : 0;
HTML:

<form action="" method="post">
    <input type="hidden" name="action" value="add">

    <span>Item Name</span>  <span style="padding-left:100px">Is default</span>  <br>

    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="0"> Item 1<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="1">Item 2<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="2">Item 3<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="3">Item 4<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="4">Item 5<br>

    <input type="submit" value="Save">
</form>
if(isset($_POST['action'])){
    $prods = count($_POST['prod']);

    for($i=0; $i < $prods; $i++){
        $prod = $_POST['prod'][$i];
        $default = (isset($_POST['is'][0]) && $_POST['is'][0] == $i) ? 1 : 0;
        $query = "INSERT INTO `items` (`prod`, `is_default`)VALUES('{$prod}', '{$default}')";
        if(mysql_query($query)){
            // success
        }else{
            // error
        }
    }

}

项目名称为默认值
项目1
项目2
项目3
项目4
项目5
PHP:

<form action="" method="post">
    <input type="hidden" name="action" value="add">

    <span>Item Name</span>  <span style="padding-left:100px">Is default</span>  <br>

    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="0"> Item 1<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="1">Item 2<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="2">Item 3<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="3">Item 4<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="4">Item 5<br>

    <input type="submit" value="Save">
</form>
if(isset($_POST['action'])){
    $prods = count($_POST['prod']);

    for($i=0; $i < $prods; $i++){
        $prod = $_POST['prod'][$i];
        $default = (isset($_POST['is'][0]) && $_POST['is'][0] == $i) ? 1 : 0;
        $query = "INSERT INTO `items` (`prod`, `is_default`)VALUES('{$prod}', '{$default}')";
        if(mysql_query($query)){
            // success
        }else{
            // error
        }
    }

}
if(isset($\u POST['action'])){
$prods=计数($_POST['prod']);
对于($i=0;$i<$prods;$i++){
$prod=$_POST['prod'][$i];
$default=(isset($\u POST['is'][0])&&$\u POST['is'][0]==i)?1:0;
$query=“插入到`items`(`prod`,`is_default`)值('{$prod}','{$default}')”;
if(mysql_查询($query)){
//成功
}否则{
//错误
}
}
}
旁注:

<form action="" method="post">
    <input type="hidden" name="action" value="add">

    <span>Item Name</span>  <span style="padding-left:100px">Is default</span>  <br>

    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="0"> Item 1<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="1">Item 2<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="2">Item 3<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="3">Item 4<br>
    <input type="text" name="prod[]" value="">
    <input type="radio" name="is[]" value="4">Item 5<br>

    <input type="submit" value="Save">
</form>
if(isset($_POST['action'])){
    $prods = count($_POST['prod']);

    for($i=0; $i < $prods; $i++){
        $prod = $_POST['prod'][$i];
        $default = (isset($_POST['is'][0]) && $_POST['is'][0] == $i) ? 1 : 0;
        $query = "INSERT INTO `items` (`prod`, `is_default`)VALUES('{$prod}', '{$default}')";
        if(mysql_query($query)){
            // success
        }else{
            // error
        }
    }

}
  • 不要使用
    mysql.*
    函数,它们从PHP5.5开始就被弃用,在PHP7.0中被完全删除。使用或代替

  • 您的查询易受SQL注入的影响。始终准备绑定执行查询,以防止任何类型的SQL注入

警告:如果您只是在学习PHP,请不要使用该界面。它是如此可怕和危险,以至于在PHP7中被删除。替换类和指南类说明了最佳实践。您的用户参数不可用,并且存在可利用的参数。