按 ID 获取数据详细信息 - CODEIGNITER

Posted

技术标签:

【中文标题】按 ID 获取数据详细信息 - CODEIGNITER【英文标题】:Get Data Detail By ID - CODEIGNITER 【发布时间】:2018-07-31 14:28:44 【问题描述】:

当我通过 id 获取数据时,只显示表中的第一行

这是我的控制器

public function getDetail($id=true)


    $data['detail'] = $this->vendor_model->getDetail($id);
    $this->load->view('vendor/detailvendor',$data);


这是我的模特

 public function getDetail($id)


    $this->db->where('no_spk',$id);
    $query = $this->db->query("select a.no_spk, a.nama_pekerjaan, a.alamat, a.latitude, a.longitude, b.nama_vendor, c.progress, c.keterangan, c.gambar, c.gambar2, c.gambar3, d.namapekerja from vendor as b inner join pekerjaan as a on b.id_vendor = a.id_vendor inner join progress as c on c.no_spk = a.no_spk inner join pekerja as d on d.id_pekerja=c.id_pekerja");
    return $query->result();

这是我的观点

<?php echo form_open_multipart('homevendor/getDetail'.$this->uri->segment(4)); ?>
<?php echo $detail[0]->no_spk?><br>
<?php echo $detail[0]->nama_pekerjaan?><br>
<?php echo $detail[0]->progress?><br>
<?php echo form_close();?>

结果是view on website content of table, there are 2 data but only show first data

请帮帮我

【问题讨论】:

您想要获取单行。对吧? 编辑您的问题添加 codeigniter 标签,以便您获得更好的帮助。 是的,没错 如果您仍然需要帮助,请查看答案。 【参考方案1】:

1.要获取和显示所有记录,只需更改view文件代码如下:-

 <?php echo form_open_multipart('homevendor/getDetail'.$this->uri->segment(4)); ?>
  <?php foreach($detail as $deta)?>
    <?php echo $deta->no_spk?><br>
    <?php echo $deta->nama_pekerjaan?><br>
    <?php echo $deta->progress?><br>
  <?php ?>
<?php echo form_close();?>

2.为了获取和显示单个记录,请在查询中使用LIMI 1 并更改视图代码,如下所示:-

模式代码:-

public function getDetail($id)
   $this->db->where('no_spk',$id);
   $query = $this->db->query("select a.no_spk, a.nama_pekerjaan, a.alamat, a.latitude, a.longitude, b.nama_vendor, c.progress, c.keterangan, c.gambar, c.gambar2, c.gambar3, d.namapekerja from vendor as b inner join pekerjaan as a on b.id_vendor = a.id_vendor inner join progress as c on c.no_spk = a.no_spk inner join pekerja as d on d.id_pekerja=c.id_pekerja LIMIT 1");
   return $query->result();

然后查看:-

<?php echo form_open_multipart('homevendor/getDetail'.$this->uri->segment(4)); ?>
  <?php foreach($detail as $deta)?>
    <?php echo $deta->no_spk?><br>
    <?php echo $deta->nama_pekerjaan?><br>
    <?php echo $deta->progress?><br>
  <?php ?>
<?php echo form_close();?>

【讨论】:

给我一分钟试试 顺便谢谢你,因为你帮助了我,我出错了,因为我在按钮“DETAIL”上的错字错了 :))) 但是谢谢你非常帮助我下次编码【参考方案2】:
    public function getDetail($id)


    //$this->db->where('no_spk',$id);
    $query = $this->db->query("select a.no_spk, a.nama_pekerjaan, a.alamat, a.latitude, a.longitude, b.nama_vendor, c.progress, c.keterangan, c.gambar, c.gambar2, c.gambar3, d.namapekerja from vendor as b inner join pekerjaan as a on b.id_vendor = a.id_vendor inner join progress as c on c.no_spk = a.no_spk inner join pekerja as d on d.id_pekerja=c.id_pekerja WHERE c.no_spk=".$id);
    return $query->row();

查看

<?php echo form_open_multipart('homevendor/getDetail'.$this->uri->segment(4)); ?>
<?php echo $detail->no_spk?><br>
<?php echo $detail->nama_pekerjaan?><br>
<?php echo $detail->progress?><br>
<?php echo form_close();?>

说明

您正在寻找获取单行。使用行函数而不是结果。 Codeigniter 数据库类行函数返回一个对象。所以你将能够使用 -> 来访问对象数据。

【讨论】:

我会试试的,给我一分钟 我更新了我的答案,只是复制模型函数并再次粘贴。 顺便谢谢你,因为你帮助了我,我出错了,因为我在按钮“DETAIL”上的错字错了 :))) 但是谢谢你非常帮助我下次编码 顺便帮我上传多张图片,我发布了我的问题,但我仍然很困惑@Adnanhaider 我不知道你的确切问题。但在发布任何问题之前请检查此链接。 ***.com/questions/24895170/…

以上是关于按 ID 获取数据详细信息 - CODEIGNITER的主要内容,如果未能解决你的问题,请参考以下文章

Azure PHP SDK:按资产名称获取资产

Shopify - 通过多个变体 ID 检索多个变体详细信息

如何通过身份池/用户池 ID(子)获取用户池详细信息

Mac Automator 在 iTunes 中“获取信息”,然后按下一步直到最后一首歌曲

按名称获取路线详细信息

使用 C 编程按学生电子邮件 ID 搜索 CSV 文件并显示该学生的完整详细信息 [关闭]