gpt4 book ai didi

php - 使用 CodeIgniter 更新 MySQL 表中的行

转载 作者:可可西里 更新时间:2023-11-01 08:21:17 26 4
gpt4 key购买 nike

所以我对 PHP 和 MySQL 以及 MVC 应用程序都不熟悉。如果这个问题已经得到解答,请原谅我,我找不到任何非常清晰的内容来展示完整的 MVC 流程。

所以我有一个 HTML 表格,其中充满了由 a 中的数据填充的输入,我为每一行生成一个表单作为一个单独的表格,并为每一行生成一个提交按钮。我希望更新按钮仅更新与生成的表单关联的行。

如果从模型中删除 this->db->where('id', $id);,它会使用相同的信息更新表中的所有行,而不会更新任何内容。

任何帮助或实现此目的的替代方法将不胜感激。我认为 Controller 功能也不错。

谢谢。

查看

<?php foreach($log->result() as $row): ?>
<?=form_open('hq/update_entry');?>
<table class="editLog">
<tr>
<td><?php
$data = array(
'name' => 'no',
'value' => $row->no
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'date',
'value' => $row->date
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'artist',
'value' => $row->artist
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'title',
'value' => $row->title
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'long',
'value' => $row->long
);
echo form_input($data);
?></td>
<td><?php
$data = array(
'name' => 'lat',
'value' => $row->lat
);
echo form_input($data);
?></td>
<td>
<?php
echo form_hidden('id', $row->id);
$data = array(
'class' => 'updateSubmit',
'value' => '✚'
);
echo form_submit($data);
?></td>
</tr>
</table>
<?=form_close();?>

Controller

function update_entry()
{
$this->load->model('update_entry_model');

if($query = $this->update_entry_model->update())
{
$this->index();
}
else
{
redirect('hq');
}
}

模型

<?php
class Update_entry_model extends CI_Model {
function update()
{
$data = array(
'no' => $this->input->post('no'),
'date' => $this->input->post('date'),
'artist' => $this->input->post('artist'),
'title' => $this->input->post('title'),
'long' => $this->input->post('long'),
'lat' => $this->input->post('lat')
);
$this->db->where('id', $id);
$this->db->update('entries', $data);
}
}

最佳答案

没有做进一步调查,我发现在模型函数 update() 中,您丢失了

$id = $this->input->post('id');

之所以添加 this->db->where('id', $id); 没有更新任何东西,是因为 $id 当前没有设置任何值。

关于php - 使用 CodeIgniter 更新 MySQL 表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8158300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com