首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php表单mysql更新保存数据

问php表单mysql更新保存数据
EN

Stack Overflow用户
提问于 2016-03-27 04:30:16
回答 2查看 91关注 0票数 0

保存字段‘月’和‘年’有困难,因为它们没有正确地存储会话。不确定是否它,因为我组合了月和年来进行排序代码。在提交表单值后重置为默认值月,年1 2016。我如何让它将选定的值保存到mysql表详细信息?

我需要改进下面的函数,让月份和年份字段正确存储,而不是存储默认值。

代码语言:javascript
复制
 <?php 


 $sql = "SELECT * FROM payments WHERE user_id = '".$_SESSION['user']['id']."' LIMIT 1;";
    $result2 = mysql_query($sql);
    if($result2) {
        $row2 = mysql_fetch_assoc($result2);
    }
    $name = (isset($row2) && !empty($row2['name'])) ? $row2['name'] : (isset($_SESSION['name']) ? $_SESSION['name'] : '');
    $no = (isset($row2) && !empty($row2['no'])) ? $row2['no'] : (isset($_SESSION['no']) ? $_SESSION['no'] : '');
    $year = (isset($row2) && !empty($row2['sortcode'])) ? explode('/',$row2['sortcode'])[0] : (isset($_SESSION['year']) ? $_SESSION['year'] : '');
    $month = (isset($row2) && !empty($row2['sortcode'])) ? explode('/',$row2['sortcode'])[1] : (isset($_SESSION['month']) ? $_SESSION['month'] : '');

错误似乎在这里,如果我删除$result2到$result,它对会话有效,但是在所有数据被删除并重置为默认值后,因此没有保存到数据库中吗?

EN

回答 2

Stack Overflow用户

发布于 2016-03-27 05:25:47

代码语言:javascript
复制
<option <?php if(isset($month) && !empty($month) && $month == '1') echo " selected "; ?> value="1">1</option>

在选择之前和之后尝试使用空格,如" selected“而不是”selected“。提交后检查所有页面的源代码(在IE上查看源代码)

我认为输出将如下所示:

代码语言:javascript
复制
<option selectedvalue="1">1</option>

而不是

代码语言:javascript
复制
<option selected value="1">1</option>

是否有必要在$month上进行3倍检查

代码语言:javascript
复制
if (isset($month) && $month=='1')

我想应该足够了。

编辑->

开机自检->后,Case $month和$year已正确更新

代码语言:javascript
复制
$query = "INSERT INTO `details`(`user_id`, `name`, `no`, `sortcode`)
            VALUES (";
        $query .= "'" . $userID . "',";
        $query .= "'" . $_SESSION['name']  . "',";
        $query .= "'" . $_SESSION['no']    . "',";
        $query .= "'".$month."/".$year."'";
        $query .=
            ");";

或使用select inputs (post之后)->的值

代码语言:javascript
复制
$query = "INSERT INTO `details`(`user_id`, `name`, `no`, `sortcode`)
                VALUES (";
            $query .= "'" . $userID . "',";
            $query .= "'" . $_SESSION['name']  . "',";
            $query .= "'" . $_SESSION['no']    . "',";
            $query .= "'".$_POST['month']."/".$_POST['year']."'";
            $query .=
                ");";

或者只更新$session的月份和年份变量值。

票数 0
EN

Stack Overflow用户

发布于 2016-03-27 07:28:41

看起来您是在根据查询结果或默认会话值设置变量$year和$month,但是在进行插入时,您使用的是$_SESSION变量,而$month和$year从未使用过。尝试:

代码语言:javascript
复制
$query .= "'".$month."/".$year."'";
." `sortcode` = '".$month."/".$year."'";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36240547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档