gpt4 book ai didi

php - 如何访问从 codeigniter 中的查询传递的数据

转载 作者:行者123 更新时间:2023-11-28 23:31:33 25 4
gpt4 key购买 nike

如何获取应该从此查询传回的数据。这是在我的模型中。我不知道我是否做对了,因为我还没有得到任何输出。我已经在 phpmyadmin 中测试了查询并且它有效。我需要能够将数据从 function get_reg2() 成功传递到我的 Controller 。

不知道return做的对不对

return $this->db->query($query, $data); 

Joins_model extends CI_Model....
function get_reg2($data){
$query = ('

SELECT DISTINCT
cm_valuacion.mano_obra,
cm_nomina.nomina,
cm_empleado.nombre,
cm_proveedor.nombre,
cm_valuacion.hojalateria,
cm_valuacion.pintura,
cm_valuacion.mecanica,
cm_valuacion.refaccion,
cm_valuacion.tipo,
cm_valuacion.shojalateria,
cm_valuacion.spintura,
cm_valuacion.smecanica,
cm_valuacion.costoHojalateria,
cm_valuacion.costoPintura,
cm_valuacion.costoMecanica,
cm_valuacion.pv_hojalateria,
cm_valuacion.pv_pintura,
cm_valuacion.pv_mecanica,
cm_valuacion.pc_hojalateria,
cm_valuacion.pc_pintura,
cm_valuacion.pc_mecanica,
cm_compras.precio,
cm_compras.status
FROM cm_valuacionr,
cm_nomina
INNER JOIN cm_empleado
ON cm_nomina.id_empleado = cm_empleado.id
INNER JOIN cm_valuacion
ON cm_valuacion.id_siniestro = cm_nomina.id_siniestro
INNER JOIN cm_compras
ON cm_compras.id_siniestro = cm_valuacion.id_siniestro
INNER JOIN cm_proveedor
ON cm_compras.id_proveedor = cm_proveedor.id
WHERE cm_valuacion.id_siniestro = ?
AND cm_valuacion.id_complemento = 0
GROUP BY mano_obra
');
return $this->db->query($query, $data);

}

}

我也不知道我这里接收对不对

 $registros = $this->joins_model->get_reg2($id);

我的 Controller 中有:

$registros = $this->joins_model->get_reg2($id);
$this->load->library('table');
$this->table->set_empty(" ");
$this->table->set_heading(
$this->st_cell('D'),
$this->st_cell('CANT.'),
$this->st_cell('PROVEEDOR'),
$this->st_cell('NOTA'),
$this->st_cell('DESCRIPCION'),
$this->st_cell('COSTO'),
$this->st_cell('VENTA'),
$this->st_cell('EMPLEADO'),
$this->st_cell('NOMINA'),
$this->st_cell('TOTAL')
);

foreach ($registros->result() as $registro){
//this is where I want to be able to specify what parameter I want
//to access from the query that was returned. How do I do this?
//for example theres *nombre* up there and it's there twice. Once
//for *empleado* and the other for *proveedor*
}

并在这里正确使用它;

$registros->result() as $registro

最佳答案

假设

  1. In Model get_reg2($id) I assumed data is receiving.
  2. Your SQL code is working fine.

变化

  1. Model code Modified, with returning objective array.
  2. Controller Function changed.
  3. Table heading modified.
  4. foreach loop pointed with data to present.

冷藏箱

  1. HTML Table Class in Codeigniter

试试这个

在模型中

function get_reg2($id)
{
$query = ('
SELECT DISTINCT
cm_valuacion.mano_obra,
cm_nomina.nomina,
cm_empleado.nombre,
cm_proveedor.nombre,
cm_valuacion.hojalateria,
cm_valuacion.pintura,
cm_valuacion.mecanica,
cm_valuacion.refaccion,
cm_valuacion.tipo,
cm_valuacion.shojalateria,
cm_valuacion.spintura,
cm_valuacion.smecanica,
cm_valuacion.costoHojalateria,
cm_valuacion.costoPintura,
cm_valuacion.costoMecanica,
cm_valuacion.pv_hojalateria,
cm_valuacion.pv_pintura,
cm_valuacion.pv_mecanica,
cm_valuacion.pc_hojalateria,
cm_valuacion.pc_pintura,
cm_valuacion.pc_mecanica,
cm_compras.precio,
cm_compras.status
FROM cm_valuacionr,
cm_nomina
INNER JOIN cm_empleado
ON cm_nomina.id_empleado = cm_empleado.id
INNER JOIN cm_valuacion
ON cm_valuacion.id_siniestro = cm_nomina.id_siniestro
INNER JOIN cm_compras
ON cm_compras.id_siniestro = cm_valuacion.id_siniestro
INNER JOIN cm_proveedor
ON cm_compras.id_proveedor = cm_proveedor.id
WHERE cm_valuacion.id_siniestro = ?
AND cm_valuacion.id_complemento = 0
GROUP BY mano_obra
');
$query = $this->db->query($query, $id); # Changed
$result = $query->result_array(); # Added
return $result; # Added
}
}

在 Controller 中

$registros = $this->joins_model->get_reg3($id);
//var_dump($registros);
//print_r($registros);
if (empty($registros))
{
echo "No data recived from Database";
}else{

?>
<table border="2px">
<tr>
<th>D</th>
<th>Cant</th>
</tr>
<?php
foreach ($registros as $registro)
{
?>
<tr>
<td><?php echo $registro['mano_obra'] ?></td>
<td><?php echo $registro['nomina'] ?></td>
</tr>
<?php
}
?>
</table>

<?php
}

关于php - 如何访问从 codeigniter 中的查询传递的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37160421/

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