为什么我不能更新数据?

如何解决为什么我不能更新数据?

original data echo data upated data does not updated into databse 控制器更新 我从表单获取ID,并传递值以在下一页显示数据。 它将根据用户单击哪个行按钮显示某些数据。

<?php

class ControllerUpdate extends CI_Controller{

    public function __construct(){

        parent:: __construct();

        $this->load->model('common/ModelUpdate');

        $this->load->database();

        $this->load->library('form_validation');

        $this->load->helper(array('form','url'));

    }

    public function index(){
         
        //show data by id
        $id = $this->input->get('id');

        $data['showData'] = $this->ModelUpdate->showData($id);

        $this->load->view('template/update',$data);

        if($this->input->post('updates')){
            $id = $this->input->post('id');
            $site_name = $this->input->post('names');
            $address = $this->input->post('addresses');
            $description = $this->input->post('descriptions');
            $image = $this->input->post('images');

            $this->ModelUpdate->updateData($id,$site_name,$address,$description,$image);    
            echo "<script>alert('Data Updated Successfully');</script>";

        }

    }
    
}
?>

模型更新 更新数据时,我已经传递了ID,它不会更新数据,但会回显数据已成功更新。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class ModelUpdate extends CI_Model {

    public function showData($id){

        $sql = "SELECT DISTINCT * FROM `web_listing` WHERE `id` = '".$id."'";
        $result = $this->db->query($sql);
        return $result;
    }

    public function updateData($id,$images){

        //,`image_file` = '$image_file'
        
        echo "<pre>";
        print_r($id ."<br>". $site_name ."<br>". $address ."<br>". $description ."<br>". $images);
        echo "</pre>";
        
        $sql = "UPDATE `web_listing` SET `website_name` = '$site_name',`website_address` = '$address',`description` = '$description',`image_name` = '$images' WHERE `id` = '".$id."'";

        $query = $this->db->query($sql);
        return $query;
        
    }
}

?>

更新视图 我还通过了动作中的ID和提交按钮中的值。但是更新功能仍然无法正常工作。

<?php
        if($showData->num_rows() > 0)
           {
             foreach($showData->result_array() as $row){
            $ids = $row['id'];
?>

  <form class="form-horizontal" id="form" method="post" action="<?php base_url('updateData/$ids')?>" enctype="multipart/form-data">

    <div class="form-group">
      <label class="control-label col-sm-3">Id:<span class="required">&nbsp;*</span></label>
      <div class="col-sm-9">
        <input type="text" disabled="disabled " class="form-control" id="id" name="id" value="<?php echo $row['id'] ; ?>" required>
      </div>
    </div>

    <div class="form-group">
      <label class="control-label col-sm-3">Website Name:<span class="required">&nbsp;*</span></label>
      <div class="col-sm-9">
        <input type="text" class="form-control" id="names" name="names" value="<?php echo $row['website_name'] ; ?>" required>
      </div>
    </div>
    
    <div class="form-group">
      <label class="control-label col-sm-3">Website Address:<span class="required">&nbsp;*</span></label>
      <div class="col-sm-9">
        <input type="text" class="form-control" id="addresses" name="addresses" value="<?php echo $row['website_address']  ; ?>" required>
      </div>
    </div>
    
    <div class="form-group">
      <label class="control-label col-sm-3">Description:<span class="required">&nbsp;*</span></label>
      <div class="col-sm-9">          
        <input type="text" class="form-control" id="descriptions" name="descriptions" value="<?php echo $row['description']  ; ?>" required>
      </div>
    </div>

    <div class="form-group">
      <label class="control-label col-sm-3">Image:<span class="required">&nbsp;*</span></label>
      <div class="col-sm-9">          
        <input type="file" class="form-control" id="images" name="images" value="<?php echo $row['image_file']  ; ?>" >
      </div>
    </div>

    <div class="form-group">
        <div class="col-sm-offset-3 col-sm-9">
        <button type="submit" value="<?php echo $ids ; ?>" id="updates" name="updates" class="btn btn-default" >Update</button>
        <a href="<?php base_url()?>editData"><button type="button" value="back" id="back" name="back" class="btn btn-default" onclick="back()">Back</button></a>
      </div>
    </div>

  </form>
</div>
</div>
        <?php
       }
                } 
           
            ?>

解决方法

禁用的表单元素不会发送到PHP,因此$this->input->post('id')将为空白,这就是为什么echo_data图像/屏幕截图不显示ID的原因。将表单元素更改为只读而不是禁用,或使用$this->input->get('id');似乎在您最初使用它来获取数据时仍然存在。

此外,您似乎没有正确处理上传的文件(图像),请仔细检查。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


依赖报错 idea导入项目后依赖报错,解决方案:https://blog.csdn.net/weixin_42420249/article/details/81191861 依赖版本报错:更换其他版本 无法下载依赖可参考:https://blog.csdn.net/weixin_42628809/a
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下 2021-12-03 13:33:33.927 ERROR 7228 [ main] o.s.b.d.LoggingFailureAnalysisReporter : *************************** APPL
错误1:gradle项目控制台输出为乱码 # 解决方案:https://blog.csdn.net/weixin_43501566/article/details/112482302 # 在gradle-wrapper.properties 添加以下内容 org.gradle.jvmargs=-Df
错误还原:在查询的过程中,传入的workType为0时,该条件不起作用 &lt;select id=&quot;xxx&quot;&gt; SELECT di.id, di.name, di.work_type, di.updated... &lt;where&gt; &lt;if test=&qu
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct redisServer’没有名为‘server_cpulist’的成员 redisSetCpuAffinity(server.server_cpulist); ^ server.c: 在函数‘hasActiveC
解决方案1 1、改项目中.idea/workspace.xml配置文件,增加dynamic.classpath参数 2、搜索PropertiesComponent,添加如下 &lt;property name=&quot;dynamic.classpath&quot; value=&quot;tru
删除根组件app.vue中的默认代码后报错:Module Error (from ./node_modules/eslint-loader/index.js): 解决方案:关闭ESlint代码检测,在项目根目录创建vue.config.js,在文件中添加 module.exports = { lin
查看spark默认的python版本 [root@master day27]# pyspark /home/software/spark-2.3.4-bin-hadoop2.7/conf/spark-env.sh: line 2: /usr/local/hadoop/bin/hadoop: No s
使用本地python环境可以成功执行 import pandas as pd import matplotlib.pyplot as plt # 设置字体 plt.rcParams[&#39;font.sans-serif&#39;] = [&#39;SimHei&#39;] # 能正确显示负号 p
错误1:Request method ‘DELETE‘ not supported 错误还原:controller层有一个接口,访问该接口时报错:Request method ‘DELETE‘ not supported 错误原因:没有接收到前端传入的参数,修改为如下 参考 错误2:cannot r
错误1:启动docker镜像时报错:Error response from daemon: driver failed programming external connectivity on endpoint quirky_allen 解决方法:重启docker -&gt; systemctl r
错误1:private field ‘xxx‘ is never assigned 按Altʾnter快捷键,选择第2项 参考:https://blog.csdn.net/shi_hong_fei_hei/article/details/88814070 错误2:启动时报错,不能找到主启动类 #
报错如下,通过源不能下载,最后警告pip需升级版本 Requirement already satisfied: pip in c:\users\ychen\appdata\local\programs\python\python310\lib\site-packages (22.0.4) Coll
错误1:maven打包报错 错误还原:使用maven打包项目时报错如下 [ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources (default-resources)
错误1:服务调用时报错 服务消费者模块assess通过openFeign调用服务提供者模块hires 如下为服务提供者模块hires的控制层接口 @RestController @RequestMapping(&quot;/hires&quot;) public class FeignControl
错误1:运行项目后报如下错误 解决方案 报错2:Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.8.1:compile (default-compile) on project sb 解决方案:在pom.
参考 错误原因 过滤器或拦截器在生效时,redisTemplate还没有注入 解决方案:在注入容器时就生效 @Component //项目运行时就注入Spring容器 public class RedisBean { @Resource private RedisTemplate&lt;String
使用vite构建项目报错 C:\Users\ychen\work&gt;npm init @vitejs/app @vitejs/create-app is deprecated, use npm init vite instead C:\Users\ychen\AppData\Local\npm-