2013-05-13 2 views
1

Я использую select * query из таблицы.Удаление нулевых столбцов в SQL-запросе

$query = $this->db->get($table_name); 

, что я хочу, чтобы для того, чтобы отменить все записи, в которых значение столбца пусто, так, например

Array 
{ 
    Topic_1 -> 
    Topic_2 -> Cats 
} 

Это отбросит ключ TOPIC_1 и пару значений полностью. Я также использую CodeIgniter активной записи, так что я пытался делать

$query = $this->db->get_where($value, array(test_id != 'NULL')); 

Но я не могу указать каждый столбец, я просто хочу test_id быть все столбцы в таблице? Есть ли кто-то, я могу это сделать или могу ли я запустить цикл после того, как запрос будет возвращен там, где он отбрасывает пары несогласных ключей?

ответ

3

Во-первых, вы делаете NULL неправильно. Вы должны идти, как это:

$query = $this->db->where('test_id !=', NULL)->get($value)->result_array(); 

Этот запрос будет работать, если поле NULL, но в вашем случае это не NULL, то пусто. Для того чтобы поле было NULL, вы должны указывать его по умолчанию при создании таблицы. запросов для Вашего случая будет:

$query = $this->db->where('test_id !=', '')->get($value)->result_array(); 

Для всех полей, я думаю, вам нужно будет идти с петлей Еогеасп:

$data = array(); 
$field = array('field1', 'field2', ...); 
foreach($field as $f) : 
$query = $this->db->where($f, '')->get('table')->result_array(); 
$data = $data + $query; 
endforeach; 

Таким образом, в $ данных вы получите все поле пустое.

+0

У меня на самом деле нет test_id Я просто хотел, чтобы он просто проверял каждый столбец, который он возвращает для пустого поля. Как я могу это достичь? – Undermine2k

+0

Ваш вопрос немного запутан. Надеюсь, отредактированная версия - это то, что вам нужно. – Sasha

Смежные вопросы