我想遍历查询的结果,然后将每个结果与输入字段进行比较,如果重复该值,则如果结果不是true,则必须返回false,我知道我可以在数据库中使用唯一索引来避免重复的值,然后捕获错误,但是在这种情况下,重复的值是可能的,但是它们不能同时处于“活动”状态,因此存在一个名为“状态”的列,其中包含两个值A或I(活动和非活动),因此“分类”值仅当一个处于活动状态而另一个处于非活动状态时才可以重复。 控制器:
$show_lang = $db_conx -> query("SHOW COLUMNS FROM words");
while ($col = $show_lang -> fetch_assoc()) {
$field = $col['Field'];
$sel_lan = $db_conx -> query("SELECT * FROM words WHERE $field = '' ");
$word_count = mysqli_num_rows($sel_lan);
echo "the field ".$field." is empty at:";
if ($word_count != 0) {
while($fetch = $sel_lan -> fetch_array()){
echo "<br>id = ".$fetch['id']; //hope you have the field id...
}
}
}
型号:
function agregar()
{
$this->load->helper('date');
date_default_timezone_set('America/Mexico_City');
$now = date('Y-m-d H:i:s');
$Interno = $this->input->post('intern');
$clabe = $this->input->post('clabe2') . $this->input->post('control2');
$cve_banco = $this->input->post('cve_banco');
$Banco = $this->input->post('Banco2');
$Observaciones = $this->input->post('Observaciones');
$data = array(
'Interno' => $Interno,
'clabe' => $clabe,
'cve_banco' => $cve_banco,
'Banco' => $Banco,
'Observaciones' => $Observaciones,
'Fecha_alta' => $now,
);
if($this->consultas_M->insert($data) == true){
//redirect('Inicio/busqueda', 'refresh');
} else{
echo "Hubo un problema al insertar";
}
}
答案 0 :(得分:0)
为什么要有可能重复的索引?如果出于某种原因要使用共同的“索引”来拥有不同的行,则可以创建一个名为index或诸如此类的列,然后在该索引的WHERE子句中添加。 PS:在模型中的foreach循环的if条件中使用:
if ($clabe == $row){...
代替
$i = $row
if ($clabe = $i){...
答案 1 :(得分:0)
我解决了自己的问题,我在发帖以防万一,这比我想象的要容易。
function insert($data, $clabe)
{
$Status = 'A';
$clabe = $this->input->post('clabe2') . $this->input->post('control2');
$this->db->select('Clabe');
$this->db->where('Status =', $Status);
$this->db->where('Clabe =', $clabe);
$q= $this->db ->get('cuentas');
if($q -> num_rows() > 0){
return false;
}else{
$this-> db -> insert('cuentas', $data);
return true;
}
这是控制器:
if($this->consultas_M->insert($data, $clabe) == true){
redirect('Inicio/busqueda', 'refresh');
} else{
echo "There was a problem";
$this->load->view('errors/error');
}
我唯一不需要做的就是选择我想要的“衣橱”,然后将其与用户编写“衣橱”的输入进行比较。然后是一个简单的if-else语句。
答案 2 :(得分:-1)
Notification buildNotification = mBuilder.build();
NotificationManager mNotifyMgr = (NotificationManager) context.getSystemService(NOTIFICATION_SERVICE);
mNotifyMgr.notify(001, buildNotification);
您的代码会将其添加到其他else阻止广告返回中。相反,它应该首先检查所有行以决定。