我需要使用SELECT * FROM查询打印具有特定ID的数据,我的查询有问题
例如,我有一个名为 tb_pasien 的表,它有8列:
kode_pasien(作为ID),nama_pasien,email_pasien,alamat_pasien,tanggal_lahir,umur,jenis_kelamin和no_telp。
因此,当我想打印某人数据时,只显示她/他的数据而不是我桌子上的所有数据。
这是我的代码:
的模型
public function view_kartu()
{
$query = $this->db->query("SELECT * FROM tb_pasien where kode_pasien='$kode_pasien' LIMIT 1");
return $query;
}
控制器
public function cetakkartu() {
// Load all views as normal
$data['pasien'] = $this->a_model->view_kartu();
$this->load->view('cetak-kartu', $data);
// Get output html
$html = $this->output->get_output();
// Load library
$this->load->library('dompdf_gen');
// Convert to PDF
$this->dompdf->load_html($html);
$this->dompdf->render();
$this->dompdf->stream("cetak-kartu" . ".pdf", array ('Attachment' => 0));
}
查看
<table border="1" width="100%">
<tr>
<th>Kode Pasien</th>
<th>Nama Pasien</th>
<th>Email Pasien</th>
<th>Alamat Pasien</th>
<th>Tanggal Lahir</th>
<th>Umur</th>
<th>JK</th>
<th>No. Telp</th>
</tr>
<?php
if( ! empty($pasien)){
foreach($pasien as $data){
echo "<tr>";
echo "<td>".$data->kode_pasien."</td>";
echo "<td>".$data->nama_pasien."</td>";
echo "<td>".$data->email_pasien."</td>";
echo "<td>".$data->alamat_pasien."</td>";
echo "<td>".$data->tanggal_lahir."</td>";
echo "<td>".$data->umur."</td>";
echo "<td>".$data->kode_jk."</td>";
echo "<td>".$data->no_telp."</td>";
echo "</tr>";
}
}
?>
</table>
但是当我尝试打印它时,它会显示空的结果。有人能帮我吗?三江源。
答案 0 :(得分:0)
尝试更改模型功能,如下所示 -
public function view_kartu($kode_paisen)
{
$query = $this->db->query("SELECT * FROM tb_pasien where kode_pasien='$kode_pasien' LIMIT 1");
return $query;
}
然后从您的控制器中将其称为 -
public function cetakkartu() {
//set a value for $kode_paisen
$kode_paisen = "XXX"; //set here whatever you like.
// Load all views as normal . See here we passing the variabke in the function.
$data['pasien'] = $this->a_model->view_kartu($kode_paisen);
// Rest of your function ...
}
作为一个例子,我有一张表&#34;货币&#34;在我的网站中,这就是我如何获取Code Igniter模型中映射到特定公司的所有货币。
function getCurrencyList($companyId)
{
$sql = "select currency_id from company_currency where company_id = $companyId";
$retVal = $this->db->query($sql);
if($this->db->affected_rows() == 0)
{
return null;
}
if($retVal && $this->db->affected_rows() > -1)
{
if($retVal->result_array())
{
foreach($retVal->result_array() as $row)
{
$arrCurrencyId[] = $row['currency_id'];
}
}
return $arrCurrencyId;
}
else
{
log_message('error', mysql_error()." ******* at function getActionList Role Model *********");
return null;
}
}
我希望这会对你有所帮助
答案 1 :(得分:0)
需要返回结果数组或行但不需要查询(根据您从数组或数组对象中获取数据的要求)
喜欢这个
return $ query-&gt; result_array(); 或
返回$ query-&gt; row();
答案 2 :(得分:0)
尝试此查询:
$this->db->select('kode_pasien as ID, nama_pasien, email_pasien, alamat_pasien, tanggal_lahir, umur, jenis_kelamin, no_telp');
$this->db->from('tb_pasien');
$data= $this->db->get()->result_array();
echo "<pre>"; print_r($data);die;