【问题标题】:sql get SET values from form checkboxsql 从表单复选框中获取 SET 值
【发布时间】:2014-05-04 20:12:51
【问题描述】:

我正在开发一个 SQL 数据库,想知道如何使用 PHP 获取多个复选框的值并更新数据库中的 SET?我需要能够选择一个或多个值并更新集合。

例如:

SQL

UPDATE options 
SET option1='$_POST[option1]', option2='$_POST[option2]', option3='$_POST[option3]',
WHERE... ";

PHP

echo "<input type=checkbox name=option1 value=" " /> ";
echo "<input type=checkbox name=option2 value=" " /> ";
echo "<input type=checkbox name=option2 value=" " /> ";

【问题讨论】:

  • 您是否遇到任何错误?
  • 这部分还没有真正写出来..只是想弄清楚怎么做!

标签: php sql forms checkbox


【解决方案1】:
$options = $_GET['option'];

foreach ($options as $option){
    echo $option
}

【讨论】:

  • 用户正在使用POST方法
【解决方案2】:
UPDATE options 
SET option1='$_POST[option][0]', option2='$_POST[option][1]', option3='$_POST[option][2]',
WHERE... ";

echo '<input type=checkbox name="option[]" value=" " />';
echo '<input type=checkbox name="option[]" value=" " /> ';
echo '<input type=checkbox name="option[]" value=" " /> ';

【讨论】:

  • 感谢@m hasan 会试一试!
  • @mhasan 如果只选中两个复选框,您的代码将失败。您需要在插入数据库之前检查发布的值
【解决方案3】:

你可以像这样得到 Selected Checkbox 的值,

echo '<input type=checkbox name="option[]" value="1" />';
echo '<input type=checkbox name="option[]" value="2" /> ';
echo '<input type=checkbox name="option[]" value="3" /> ';

然后您可以获取该值并将其设置为序列化格式以像这样插入数据库,

$values = $_POST['option'];
$values = serialize($values); 

在这里您可以在数据库字段中插入$values。同样,在更新时,您可以获取字段值并对其进行反序列化。然后将其与原始值进行比较。如果它在数组中,那么你可以checked它。

【讨论】:

    【解决方案4】:

    这样试试

    $i=0;
    while($i<3)
    {
    if(!isset($_POST['option'][$i]))
    {
    $_POST['option'][$i]="";
    }
    $i++;
    }
    UPDATE options SET option1='$_POST[option][0]', option2='$_POST[option][1]', option3='$_POST[option][2]',
    WHERE... ";
    
    
    echo '<input type=checkbox name="option[0]" value=" " />';
    echo '<input type=checkbox name="option[1]" value=" " /> ';
    echo '<input type=checkbox name="option[2]" value=" " /> ';
    

    【讨论】:

    • @user3464091 你能告诉我你是怎么实现的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多