如何获取应该从此查询传回的数据。这是在我的模型中。我不知道我是否做对了,因为我还没有得到任何输出。我已经在 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
最佳答案
假设
- In Model
get_reg2($id)
I assumed data is receiving.- Your SQL code is working fine.
变化
- Model code Modified, with returning objective array.
- Controller Function changed.
- Table heading modified.
foreach
loop pointed with data to present.
冷藏箱
试试这个
在模型中
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/