【问题标题】:On Drop-Down Select, store value in database在下拉选择中,将值存储在数据库中
【发布时间】:2016-01-17 11:31:39
【问题描述】:

我正在制作注册表,将家庭详细信息存储在数据库表中。我有我的兄弟姐妹数量字段的下拉列表。

<select id="purpose" required="required" name="purpose">
<option value="0">No Brother nor Sister</option>
<option value="1">Brother or/and Sister</option>

我想知道在选择第一个选项时如何为数据库中的 bro 和 sis 字段分配空值。 值为 1 的选项还有更多的附加字段,即兄弟已婚或姐妹已婚。但是,如果不存在 bro 或 sis,那么它应该在第一阶段包装,仅指示 bro 和 sis 为 null,然后所有其他字段为 null,如 bro_married 和 sis_married。

我的主要表单代码:

<select id="purpose" required="required" name="purpose">
<option value="0">No Brother nor Sister</option>
<option value="1">Brother or/and Sister</option>
</select>

<div style='display:none;' id='business'>
<div>
<label for="username" class="uname">Number of Brothers</label>
<select id="bro" name="bro" required="required">
<option value="<?php if(isset($_GET['bro']))
{echo $_GET['bro'];}else{echo "";}?>"><?php if(isset($_GET['bro']))
{echo $_GET['bro'];}else{echo "Select";}?>
</option>
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>                                                
</select>
</div>

我要保存的 PHP 文件

if(isset($_POST['step_four_save']))
{
$bro=$_POST['bro'];
update_user_info=mysql_query("update partners_registration set bro='$bro' where email_username='$username' ");

请多多指教,谢谢。

【问题讨论】:

  • 不知道这部分能不能看懂:“如果是null或者没有选择,这样就可以保存到数据库中”但是value=""会提供一个空值
  • 是的,场景是,如果兄弟姐妹存在,则输入他们的详细信息,如果不存在,则将兄弟或姐妹的零值存储在数据库中。

标签: php mysql


【解决方案1】:

我不太确定为什么需要检查下拉列表的空值。如果您未在表单提交上选择任何值,下拉菜单将至少包含空白 '' 或第一个子项(选项)的某些值。

如果您正在寻找它们,这里是代码:

if("" == trim($_POST['bro'])){
    //
}

或者

if (is_null($_POST['bro'])){
    //
}

【讨论】:

  • 其实在注册的过程中,我需要检查bro/sis是否存在,如果不存在则数据库中应该存储0,如果存在则表示bro/sis结婚了。因此,我需要继续添加,所以无论它是否为“否”,都必须将零存储在数据库中。请指教,谢谢。
  • 请为默认顶部选项设置 0,您可以为该选项设置标签,如“请选择兄弟”。因此,如果您不选择它将保持 0,并且 post 值将具有 0 以将其保存为 db。如果post值中为0,则不需要保存married等其他值。
【解决方案2】:

假设 partners_registration 中的 bro 列是整数,那么下面的代码可以工作

if(isset($_POST['step_four_save']))
{
    if(isset($_POST['bro']) && $_POST['bro'] != "") {
        $bro = $_POST['bro'];       
    } else {
        $bro = NULL;
    }

    $update_user_info=mysql_query("update partners_registration set bro=$bro where email_username='$username' ");
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2010-12-02
    • 1970-01-01
    • 2015-01-31
    • 2023-04-08
    相关资源
    最近更新 更多