您好,我的项目遇到了一个问题,我正在寻求帮助和解决方案。我希望你们中的某人可以帮助我实现这一目标。感谢您的帮助。
背景: 我正在研究PHP框架Codeigniter v3。 我在数据表上显示了来自MySQL DB的信息。
问题 我想在一个数据表上显示一个JOIN QUERY信息,但是显示的信息必须根据用户选择的选项而有所不同。
控制器1 (此控制器在一个数据表的系统中显示所有“公式”。 我想做的是,当用户单击第一个按钮时(onclick =“ mostrar('。”'“。$ ALIAS_MODEL-> id_formula。”'“。')”),该视图更改为将在其中显示的另一个视图单击带有“公式”内容的新数据表...) 我想说的是,第一个数据表没有任何问题。
function to fill the formulas's table
foreach ($list as $ALIAS_MODEL)
{
$row = array();
$row[] = $ALIAS_MODEL->id_formula;
$row[] = $ALIAS_MODEL->nombre_formula;
$row[] = '<a class="btn btn-round btn-info btn-icon btn-sm edit" href="contenidoFormula" onclick="mostrar('."'".$ALIAS_MODEL->id_formula."'".')"><i class="fas fa-search-plus"></i></a>
<a class="btn btn-round btn-warning btn-icon btn-sm edit" href="javascript:void(0)" onclick="edit_formula('."'".$ALIAS_MODEL->id_formula."'".')"><i class="far fa-edit"></i></a>
<a class="btn btn-round btn-danger btn-icon btn-sm remove" href="javascript:void(0)" onclick="delete_formula('."'".$FORMULA->id_formula."'".')"><i class="fas fa-times"></i></a>';
$data[] = $row;
}
some code for printing data...
}
控制器2
function to fill the content formulas's table
foreach ($list as $ALIAS_MODEL_TWO)
{
$no++;
$row = array();
//$row[] = $no;
$row[] = $ALIAS_MODEL_TWO->nombre_formula;
$row[] = $ALIAS_MODEL_TWO->descripcion_material;
$row[] = $ALIAS_MODEL_TWO->unidad_material;
$row[] = $ALIAS_MODEL_TWO->costo_material;
$row[] = '
<a class="btn btn-round btn-danger btn-icon btn-sm remove" href="javascript:void(0)" onclick="llenarContenido()"><i class="fas fa-times"></i></a>';
$data[] = $row;
}
some code for printing data...
}
型号 调用该模型的功能来填充数据表
private function _get_content($id_formula)
{
$this->db->select('nombre_formula,descripcion_material,unidad_material,costo_material,porcentaje_formula,tiempo_proceso,porcentaje_agua_bomba,gramos_por_aplicacion,observaciones_detalle_formula');
$this->db->from('formulas');
$this->db->join('detalle_formula', 'formulas.id_formula = detalle_formula.id_formula');
$this->db->join('materiales', 'detalle_formula.id_material = materiales.id_material');
$this->db->where(array('formulas.id_formula' => $id_formula));
some extra code here to print data...
}
我希望变量$ id_formula可以根据用户单击的选择选项来更改其值
JS脚本
function mostrar(id_formula)
{
//alert(id_formula);
return id_formula;
}
$(document).ready(function()
{
table = $('#tableName').DataTable({
"processing": true,
"serverSide": true,
//Carga la informacion desde el archivo AJAX
"ajax": {
"url": base_url + "CONTROLLER/FUNCTION/"+id_formula,
"type": "POST"
},
});
});
查看
...html code
<table id="tableName" class="table table-striped table-bordered" cellspacing="0" width="100%">
<thead>
<tr>
columns...
</tr>
</thead>
<tfoot>
<tr>
columns...
</tr>
</tfoot>
<tbody>
</tbody>
</table>
html code...