2016-09-28 62 views
0

我有5種類型的用戶,其中一些用戶可以訪問比其他功能更多的功能。 在我的數據庫中,我有一張user_type的表格和一張users的表格。在user表中,我有一列rion,其中只有一個用戶類型具有值。我只需要在PHP中使用選擇組件的情況下只獲取沒有空或空值或0值數據的現有值。PHP - 如何回顯SQL列的一部分只具有價值?

我目前使用的查詢是:

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

我沒有在您的sql語句中找到任何where子句。使用它或者提供詳細信息 – Chintan7027

回答

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

親愛的@不要恐慌謝謝你的回答,我編輯它並在SQL中添加WHERE,但我需要一個簡單的PHP代碼來獲得這個,因爲我現在的代碼像'<?php echo $ agent- > rion;?>'不能這樣做。 – aann

相關問題