【问题标题】:How to post the selected value in php如何在php中发布选定的值
【发布时间】:2014-07-16 01:04:51
【问题描述】:

在下面的 php 脚本中,我有一个复选框(“至点”)和一对单选按钮,它们也恰好是数组。如果选中复选框(它有效),我希望它们处于活动状态。因此,如果未选中,它将运行最后一个查询。但是,我在操作这些单选按钮时遇到了问题。无论我选择“夏至”,现在只有“冬至”有效。如何充分声明它们的值。

HTML:

    <tr><td colspan="10" align="center"><h2>Solstices</h2></td></tr>
  <tr><td><input name="solstices" type="checkbox" id="solstices" value="1" />Solstices<br /></td></tr>
 <td><input name="check_sol[]" type="radio" id="check_sol[]" value="1" />Summer Solstice</td>
 <td><input name="check_sol[]" type="radio" id="check_sol[]" value="2" />Winter Solstice<br /></td></tr>

PHP:

//DNI CHECKBOX + ALL

if(isset($_POST['solstices'])){
        if(isset($_POST['check_sol'])=='1'){
$tmp="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE=\"2012-06-11\"";
        }
        if(isset($_POST['check_sol'])=='2'){ 
$tmp="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE= \"2011-12-21\"";
        }
}
else {
$tmp ="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE>=\"$fromdate\" AND DATE<=\"$todate\""; 
};

【问题讨论】:

  • 你能用 "$sql_columns" 的值更新代码吗?您还应该使用print_r($_POST); 显示$_POST 值。否则,我们将无法为您提供帮助。
  • 在这里你可以找到关于我的项目的更多信息,它还包含我所有的 php 脚本。
  • PHP 脚本中未提及以下变量 ($sql_columns)。请提供代码,以便我们为您提供帮助。
  • 再次检查。我提供了整个脚本,当然还有 $sql_columns

标签: php radio-button radio-group


【解决方案1】:

您正在覆盖 check_sol[] 变量,因此它始终只包含 2。在 ID 中添加 [] 不会使其成为数组。如果你真的需要,你需要给两个输入不同的 ID 并在 PHP 端构造数组。

【讨论】:

  • 如果我给单选按钮一个不同的名称,那么它们将不再是一个组。结果是可以同时检查它们,我不希望这种情况发生。
【解决方案2】:

请试试这个……

if(isset($_POST['solstices']))
{
    if(isset($_POST['check_sol'][0])=='1')
    {
    $tmp="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE=\"2012-06-11\"";
    }
    if(isset($_POST['check_sol'][0])=='2') 
    {
    $tmp="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE= \"2011-12-21\"";
    }
}
else
{
    $tmp ="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE>=\"$fromdate\" AND DATE<=\"$todate\""; 
}

【讨论】:

    【解决方案3】:

    从 html 代码(check_sol[])中删除了括号 [],可能它不适合单选按钮。加上 php 代码的一些明显变化。

    HTML:

    <tr><td><input name="solstices" type="checkbox" id="solstices" value="1" />Solstices</td></tr>
     <td><input name="check_sol" type="radio"  value="8" checked="checked" />Summer Solstice</td>
     <td><input name="check_sol" type="radio"  value="9" />Winter Solstice  <br /></td></tr>
    

    PHP:

    if(isset($_POST['solstices'])){
            if($_POST['check_sol']=='8'){
            $tmp="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE=\"2012-06-11\"";
            }
            else { 
            $tmp="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE= \"2011-12-21\"";
            }
    }
    else {
    $tmp ="SELECT DISTINCT ".implode(",", $sql_columns)." FROM $database_Database_Test.$table_name where DATE>=\"$fromdate\" AND DATE<=\"$todate\""; 
    };
    

    【讨论】:

      猜你喜欢
      • 2014-12-14
      • 1970-01-01
      • 2016-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多