2017-02-17 77 views
0

我有一個用戶表,其中用戶當前登錄並沒有上傳照片(在用戶表中的圖像列是空的)顯示的圖像是Default.png。並且如果用戶已經上傳圖片,則圖像被顯示。如何顯示默認圖像時場圖像表是空

我的代碼有什麼問題?

這是我的表'user'對我的數據庫(我很抱歉,我不能在這裏寫數據庫結構)。

| id | gb_user | = | 1 | me.jpg |

此視圖(headers.php):

<?php $user_log = info_user_login();?> 
       <?php if(!empty($user_log->gb_user) == NULL):?> 
        <img class="img-circle" src="../assets/img/default.png" width="70" style="margin:20px 0 0 10px;"> 
       <?php else:?> 
        <img class="img-circle" src="../assets/img/<?php echo $user_log('gb_user');?>" width="70" style="margin:20px 0 0 10px;"> 
        <?php endif;?> 

這個輔助:

function info_user_login(){ 
$CI = & get_instance(); 
$CI->load->model('admin/setting_adm'); 
$get_data_login = $CI->setting_adm->get_data_log_user(); 
return $get_data_login; 

}

和該模型:

function get_data_log_user(){ 
    $id_login = $this->session->userdata('id'); 
    $this->db->where('id', $id_login); 
    $this->db->from('user'); 
    $q = $this->db->get(); 
    return $q->result(); 
} 

其中id = session_id_login

+0

你的代碼的實際行爲是什麼?在這種情況下,它不起作用:當用戶**有**照片,或者當他**沒有**或**都在**時?非工作情況下的輸出是什麼? – Sasha

回答

0
<?php if(!empty($user_log->gb_user) == NULL):?> 

這種情況是沒有意義的,空的()將返回一個布爾值。

嘗試以下方法之一:

<?php if(empty($user_log->gb_user)):?> 
<?php if($user_log->gb_user == NULL):?> 
0

嘗試像這樣...

使用ternary operator(:?)檢查是否有圖像或沒有。

查看:

<?php $user_log = info_user_login(); 
    $image = isset($user_log->gb_user)?"../assets/img/$user_log->gb_user":"../assets/img/default.png";//sets your image 
    ?> 
     <img class="img-circle" src="<?php echo $image;?>" width="70" style="margin:20px 0 0 10px;"> 
0

只需使用empty()功能檢查圖像的存在與否。如果gb_user字段中沒有值,該函數將返回true

<?php if(empty($user_log->gb_user)): ?> 
    <img class="img-circle" src="../assets/img/default.png" width="70" style="margin:20px 0 0 10px;" /> 
<?php else: ?> 
    <img class="img-circle" src="../assets/img/<?php echo $user_log('gb_user');?>" width="70" style="margin:20px 0 0 10px;" /> 
<?php endif;?> 
0

您可以使用JS/HTML的方式喜歡這裏HTML if image is not found

<img id="currentPhoto" src="SomeImage.jpg" onerror="this.src='Default.jpg'" width="100" height="120"> 

但是,而不是在開始時設置的默認圖像,創建另一個隱藏的圖像

<img src="<?=$myImage?>" onerror="getElementById("default-img").src" /> 

即使$myImage是空,PHP呈現爲空字符串,DOM看起來這個錯誤和事件「onError」將觸發

+0

對不起,你所有的答案不匹配 –

+0

腳本仍然導致默認圖像。但已經在數據庫中填充了gb_user列 –

相關問題