Как выбрать одно значение и сравнить с другим значением из моей базы данных - PullRequest
0 голосов
/ 18 сентября 2018

Я использую codeigniter и храню свои данные как 123,234 .

Имя моей таблицы schedule и имя столбца batch.

$batch = 123;
$lot =1; 
$dataTest = $this->db->query("select q_set from schedule where lot='$lot' 
and batch='$batch'")->row();

см. Мое изображение ниже

enter image description here

Я пытаюсь выбрать одно значение и сопоставить его с отправленным значением.## как сопоставить оба значения ##

Ответы [ 5 ]

0 голосов
/ 18 сентября 2018

Вы можете использовать IN Operator,

$result = $this->db->select('*')->from($table);
$result = $this->db->where('lot =',$lot);
$result = $this->db->where_in('batch',$batch);
$result = $this->db->order_by('id','desc');
$result = $this->db->get();

Оператор where_in () проверяет, существует ли значение в указанном столбце

0 голосов
/ 18 сентября 2018

вы также можете использовать find_in_set.but он в основном используется для поиска значений через запятую.

$this->db->select('q_set');
$this->db->from("schedule");
$this->db->where("FIND_IN_SET('$lot', lot)");
$this->db->where("FIND_IN_SET('$batch', batch)");

-------------- ИЛИ ---------------

Вы можете попробовать это ..

  $this->db->select('q_set');
   $this->db->from('schedule as S1');
   $this->db->where('S1.lot',$lot);
   $this->db->where('S1.batch',$batch);
   $query = $this->db->get();
   return $query->row();
0 голосов
/ 18 сентября 2018

Попробуйте это

$batch = "123,321";
$lot =1; 

    $dataTest = $this->db->query("select q_set from schedule where lot=".$lot." 
    and batch='".$batch."')->row();

или используйте

$batch = "123";
$lot =1; 
$dataTest = $this->db->query("select q_set from schedule where lot=".$lot." 
and batch like '%".$batch."')->row();
0 голосов
/ 18 сентября 2018

Использование построителя запросов.Обратите внимание, что если партия - это строка, она должна быть $batch = "123,234", плюс у вас не должно быть запятых с целыми числами.

$this->db->select('q_set');
$this->db->where('lot', $lot);
$this->db->where('batch', $batch);
$q = $this->db->get('schedule');
if ($q->num_rows() > 0}
    print_r($q->row());
} else {
    echo 'no rows';
}
0 голосов
/ 18 сентября 2018

значение столбца пакета в базе данных равно 123,321, а переменная $ batch равна 123, они не равны, поэтому вы не можете выбрать его.Вы должны отправить данные, равные данным в вашей базе данных.

try

$lot=1;
$batch = 123321;  //or $batch='123,321'  i'm not sure the date type of variable $batch
$dataTest = $this->db->query("select q_set from schedule where lot='$lot' and batch='$batch'")->row();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...