我正在挠头。
我有一个带有复选框的表单,该表单写入mssql数据库列treated
。这很完美,您可以在下面看到它的图像:
最初我将此作为数据类型bit
,但现在已将其更改为char
以尝试修复我的问题。
所以我的问题是这样的,当我查询foreach循环中的行并回显treated
列的内容时,它对每行回显'on'而不是0,on,0,on
按照图像。
如果我回显bundles
列,则确实正确回显4,5,7,10
有关该问题的任何想法都记得该字段是由复选框填充的吗?它是一个复选框问题,数据类型还是?
任何帮助一如既往的赞赏,似乎是一个简单的问题,但我不能正确。
干杯,
更新
使用codeigniter检索数据:
所以我的模特是:
function get_load_lines($ordernumber)
{
$q = $this->db->query("
SELECT [CustomerOrderID]
[treated]
FROM [hammerhead].[dbo].[Customer_Order_Lines]
join [hammerhead].[dbo].[ProductList]
on [hammerhead].[dbo].[Customer_Order_Lines].product=[hammerhead].[dbo].[ProductList].[ProductCode]
where [CustomerOrderID]='$ordernumber' and linestatus='current' and product>'0'
");
if($q->num_rows() > 0)
{
return $q->result_array();
}
}
我的COntroller是:
function edit_order_lines()
{
$postinfo = array();
$data = array(
'loadlines' => $this->sales_model->get_load_lines($this->input->post('ordernumber'))
);
$this->load->view('sales/edit_order_lines',$data);
}
我的观点是:
<?php
$i=1;
foreach ($loadlines as $row)
{
//rest of code
$i++;
echo $row['treated'];
}
?>
谢谢,
答案 0 :(得分:2)
谢谢陈,我怎么得到一个复选框来写1和0而不是当前正在发生?
将您的treated
更改为以下内容:
ALTER table yourtable MODIFY column treated tinyint(1);
现在选中时会显示1
,如果未选中则会显示0
现在您可以执行以下操作:
<?php
foreach ($loadlines as $row)
{
//rest of code
echo $row['treated'];
}
?>
它将给出1或0