Как эхо часть столбца SQL просто имеет значение?

У меня есть 5 типов пользователей, и некоторые из них имеют доступ к большему количеству функций, чем другие.
В моей базе данных у меня есть таблица для user_type и стол для users, в user таблица у меня есть столбец rion для которого только один из пользовательских типов имеет значения. Мне нужно получить только существующие значения без пустых или нулевых или 0-значных данных с PHP для использования в компоненте выбора.

Запрос, который я сейчас использую:

SELECT COUNT(*) AS `Rows`, `rion` FROM `rdb_users` GROUP BY `rion` ORDER BY `rion`

и мой код PHP выглядит так:

<div class="col-sm-4 col-lg-5 controls">

<?php $CI=g et_instance(); $CI->load->model('show/show_model'); $agents = $CI->show_model->get_users_by_range('all','','rion');?>

<select name="created_by" class="form-control input-sm">

<?php $v=( set_value( 'created_by')!='' ) ? set_value( 'created_by') : $CI->session->userdata('user_id'); ?>

<?php foreach ($agents->result() as $agent) { $sel = ($agent->id== $v)?'selected="selected"':'';?>

<option value="<?php echo $agent->rion; ?>" <?php echo $sel;?>>

<?php echo $agent->rion;?>

</option>

<?php } ?>

</select>

</div>

Но этот код дает все данные из столбца, включая пустые, нулевые или пустые поля, и показывает их в меню выбора. Как я могу отредактировать этот код, чтобы скрыть или удалить пустые значения из других типов пользователей? Мне нужны только данные от пользователей типа «агент».

0

Решение

Вы можете добавить WHERE пункт к вашему запросу.

SELECT COUNT(*) AS Rows, rion FROM rdb_users
WHERE rion
GROUP BY rion ORDER BY rion

Если вы просто используете WHERE rion вместо того, чтобы сравнивать его с конкретным значением, оно будет оцениваться как логическое значение, поэтому оно должно исключать все null, '', а также 0 ценности.

Или, если вы хотите отображать данные только одного типа использования, укажите этот тип в WHERE пункт.

SELECT COUNT(*) AS Rows, rion FROM rdb_users
WHERE user_type = 'agent'
GROUP BY rion ORDER BY rion

Или, если вы хотите только этот тип, но некоторые пользователи с этим типом не имеют значения для rionВы можете использовать оба критерия.

SELECT COUNT(*) AS Rows, rion FROM rdb_users
WHERE rion AND user_type = 'agent'
GROUP BY rion ORDER BY rion
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]