【问题标题】:Radio Button Array - Need Help单选按钮阵列 - 需要帮助
【发布时间】:2011-09-02 02:13:31
【问题描述】:

我有一个需要帮助的单选按钮数组。代码如下:

            <input type="radio" name="radio" id="academic" value="1"<?php
                    if ($row_EventInfo['academic'] == '1') {
                    echo ' checked="checked"';
                    }
                    else {$row_EventInfo['academic'] = '';}
                    ?>>
        <label for="academic">Academic</label><br />

        <input type="radio" name="radio" id="personal" value="1"<?php
                    if ($row_EventInfo['personal'] == '1') {
                    echo ' checked="checked"';
                    }
                    else {$row_EventInfo['personal'] = '';}
                    ?>>
        <label for="personal">Personal</label><br />

        <input type="radio" name="radio" id="diversity" value="1"<?php
                    if ($row_EventInfo['diversity'] == '1') {
                    echo ' checked="checked"';
                    }
                    else {$row_EventInfo['diversity'] = '';}
                    ?>>
        <label for="diversity">Diversity</label><br />

我想要做的是这个。每个单选按钮在我的数据库表中都有一个列,因为我们必须分别输入它们。但是,我希望他们一次只能选择一个按钮。我将所有名称更改为相同(“radio”),但由于 PHP MYSQL 使用名称来知道将信息发布到表中的何处,因此它不知道在何处发布。

有没有办法创建一个 if 语句来告诉它一次只允许选择一个按钮并为数据库表保持输入分开?

如果您需要澄清,请告诉我。谢谢!

【问题讨论】:

    标签: php mysql html if-statement radio-button


    【解决方案1】:

    将值设置为列名,例如

    <input type="radio" name="radio" id="diversity" value="diversity"
    

    在 php 端,只需执行类似

    的操作
    $sql = "UPDATE table SET {$_POST['radio']} = 1";
    

    【讨论】:

    • 旁注:这作为一个例子是有意义的,但对于实际生产使用,在 SQL 查询中使用表单输入之前清理它可能是一个好主意。所写的查询可能容易受到注入攻击。
    【解决方案2】:

    这是一种形式,对吧? 然后你在 POST 中获取数据。我不会将值设置为 1,将值设置为您要选择的值,例如 然后在帖子中,获取值并使用它来设置数据库中的数据。

    希望这会有所帮助!

    BR,

    TJ

    【讨论】:

    • 哦,我刚刚看到已经有答案了 ;) 但这是相同的方法... ;)
    【解决方案3】:

    如果你使用:

    <input type="radio" name="radio" id="diversity" value="value1">
    <input type="radio" name="radio" id="diversity" value="value2">
    <input type="radio" name="radio" id="diversity" value="value3">
    <input type="radio" name="radio" id="diversity" value="value4">
    

    它将在$_POST['radio']; 中提供,您选择的任何单选按钮。 eg.value3 不要用同名命名输入类型来混淆自己

    如果你使用:

    <input type="radio" name="myradio" id="diversity" value="value1">
    

    它将在$_POST['myradio']; 中提供

    等等

    另外你可能想研究使用三元运算符

    if ($row_EventInfo['diversity'] == '1') {
        echo ' checked="checked"';
    }
    else {$row_EventInfo['diversity'] = '';}
    

    进入

    echo ($row_EventInfo['diversity'] == '1') ? ' checked="checked"':'';
    

    【讨论】:

    • 或更短:>
    猜你喜欢
    • 2013-02-24
    • 1970-01-01
    • 1970-01-01
    • 2010-11-13
    • 2013-10-09
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 2012-03-23
    相关资源
    最近更新 更多