Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы по PHP » Как сделать чтобы при отсутствии информации в блоке, блок скрывался?

Как сделать чтобы при отсутствии информации в блоке, блок скрывался?


     28.07.2019    Все вопросы » Общие вопросы по PHP    451

вопрос
Имеется модуль подарки. Хотелось бы сделать так чтобы когда у пользователя нет подарков, данный блок в профиле был скрытым, как только кто то подарит подарок, блок появляется.

Хотелось бы чтобы через теги было


[gift]
		<div class="gifts_left gifts">
			<div class="gift_but">{gifts_cont} [declination={gifts_cont}]Подар|ок|ка|ков[/declination]</div>
			{gifts}
		</div>
[/gift]



Данный код расположен в profile.php


	include(ROOT_DIR."/engine/data/gifts_config.php"); 
        if($sets['status_module'] == "on") 
        { 
            if($sets['show_by_another_user'] !== "on") 
            {  
                if ($member_id['name'] == $row['name'] OR $member_id['user_group'] == $sets['vip_group']) 
                    {
                    $is_echo_profile = TRUE; 
                    } else {
                    $closed_module = "";
                    $tpl->set( '{gifts_money}', $closed_module);  
                    $tpl->set( '{gifts}', $closed_module);
                    }
            } else { 
			
                $is_echo_profile = TRUE;
				
            }  
        
            if($is_echo_profile == TRUE) {
				
                $user_id = $row['user_id']; 
                $user_name = $row['name']; 
                $url = $config['http_home_url'];
                $url .= "gifts@$user_name"; 
                $send_gift = "<a onclick=\"location.href='$url'\">Отправить подарок</a>";
				$tpl->set( '{send_gift}', $send_gift );

                $member_name = $row['name'];
                $user_money = $db->super_query('SELECT money FROM '  . PREFIX  .  '_users WHERE `name` = \''.$member_name.'\' '); 
                $user_money = $user_money[money];

                $total_podarok_user = "Всего монет: <b>$user_money</b> <br> Всего подарков: ";
                $row_all_user = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_money WHERE user_id = '$user_id'" );
                $total_podarok_user .= "<b>".$row_all_user['count']."</b>";  
                                
                        $check_gifts = $db -> query('SELECT id_gift, user_name, descript FROM '  . PREFIX  .  '_money WHERE user_id = '.$user_id.' '); 
                        $gifts_all = $db->num_rows($check_gifts);  
                            $gifts_out .= "<li>";
                            while ( $row_p = $db->get_row($check_gifts) ) 
                                {  
                                    $id_gift = $row_p['id_gift'];  
                                    $seller = $row_p['user_name']; 
                                    $descript = $row_p['descript'];

                                    $gifts_out .= "<div class=\"gift\"><img src=\"{THEME}/images/gifts/$id_gift.png\"></div>";
									$gifts_out1 .= "<div class=\"gift_all\" style=\"background-image:url({THEME}/images/gifts/$id_gift.png);width:96px;height:96px\" title=\"$descript\"> </div>";
                                }  
                            $gifts_out .= "</li>";
                $tpl->set( '{gifts_money}', $total_podarok_user);
                $tpl->set( '{gifts}', $gifts_out); 
                $tpl->set( '{gifts_alls}', $gifts_out1);

                $tpl->set( '{money}', $user_money); 
                $tpl->set( '{gifts_cont}', $row_all_user['count']); 
                
                } 
            } else {

                $closed_module = "";
                $tpl->set( '{gifts_money}', $closed_module);    
                $tpl->set( '{gifts}', $closed_module);
				
            }
		
	if( $row[''] ) {
		$tpl->set( '[gift]', "" );
		$tpl->set( '[/gift]', "" );
		$tpl->set( '{gift}', stripslashes( $row[''] ) );
		$tpl->set_block( "'\\[not-gift\\](.*?)\\[/not-gift\\]'si", "" );
	
	} else {
		$tpl->set_block( "'\\[gift\\](.*?)\\[/gift\\]'si", "" );
		$tpl->set( '{gift}', "" );
		$tpl->set( '[not-gift]', "" );
		$tpl->set( '[/not-gift]', "" );
	}

Ответа пока нет


5 комментариев

ТeraМoune
Юзер

ТeraМoune - 28 июля 2019 14:48 -

А чего ключ $row[''] пустой ? Инфа подарков в каком таблице содержится ? допишите в скобках имя таблицы если оно хранит цифры то ничего в условии менять не нужно, если при отсутствии подарков в базе пользователя содержится текст говорящий, что подарков нету то надо сравнивать $row['table'] != 'чему-то там'

А так не работает потому как ключа просто нету, предположу что там будет $row['gift'] или тип того.

249893
Юзер

249893 - 28 июля 2019 15:12 -

if( $row[''] ) {
$tpl->set( '[gift]', "" );
$tpl->set( '[/gift]', "" );
$tpl->set( '{gift}', stripslashes( $row[''] ) );
$tpl->set_block( "'\\[not-gift\\](.*?)\\[/not-gift\\]'si", "" );

} else {
$tpl->set_block( "'\\[gift\\](.*?)\\[/gift\\]'si", "" );
$tpl->set( '{gift}', "" );
$tpl->set( '[not-gift]', "" );
$tpl->set( '[/not-gift]', "" );
}


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

ТeraМoune
Юзер

ТeraМoune - 28 июля 2019 15:43 -

А надо не разное, а конкретно определённое название поля из таблицы _users, посмотреть наличие полей можно в средстве просмотра базы данных. И найти поле которое относиться к подаркам, после его использовать, чтобы условие и теги работали.

249893
Юзер

249893 - 28 июля 2019 16:14 -

сделал, маленько не так работает

Pringles
Юзер

Pringles - 31 июля 2019 12:02 -

<?php

include ROOT_DIR."/engine/data/gifts_config.php"; 

if($sets['status_module'] == "on") {
    if($sets['show_by_another_user'] !== "on") {  
        if ($member_id['name'] == $row['name'] OR $member_id['user_group'] == $sets['vip_group']) {
             $is_echo_profile = TRUE; 
        } else {
            $tpl->set( '{gifts_money}', '' );  
            $tpl->set( '{gifts}', '' );
        }
    } else {
    	$is_echo_profile = TRUE;
    }

    $gifts_out = [];

    if($is_echo_profile == TRUE) {
    	$user_id = $row['user_id'];
    	$user_name = $row['name'];

    	$url = $config['http_home_url'] . "gifts@$user_name";
		$tpl->set( '{send_gift}', "<a href=\"{$url}\">Отправить подарок</a>" );

        $member_name = $row['name'];
        $user_money = $db->super_query("SELECT money FROM "  . PREFIX  .  "_users WHERE `name` = '{$member_name}' LIMIT 1");

        $total_podarok_user = "Всего монет: <b>{$user_money['money']}</b> <br> Всего подарков: ";

        $row_all_user = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_money WHERE user_id = '$user_id'" );
        $total_podarok_user .= "<b>".$row_all_user['count']."</b>";  
                                
        $check_gifts = $db->query("SELECT id_gift, user_name, descript FROM "  . PREFIX  .  "_money WHERE user_id = '{$user_id}' LIMIT 1"); 
        $gifts_all = $db->num_rows($check_gifts);

        
        while ( $row_p = $db->get_row($check_gifts) ) {
        	$gifts_out .= "<div class=\"gift\"><img src=\"{THEME}/images/gifts/{$row_p['id_gift']}.png\" title=\"От: {$row_p['user_name']}\"></div>";
			
			$gifts_out1 .= "<div class=\"gift_all\" style=\"background-image:url({THEME}/images/gifts/{$row_p['id_gift']}.png);width:96px;height:96px\" title=\"{$row_p['descript']}\"> </div>";
        }

        $tpl->set( '{gifts_money}', $total_podarok_user);
        $tpl->set( '{gifts}', "<li>" . join($gifts_out) . "</li>"); 
        $tpl->set( '{gifts_alls}', $gifts_out1);
        $tpl->set( '{money}', $user_money); 
        $tpl->set( '{gifts_cont}', $row_all_user['count']);      
    } 

    if( count($gifts_out) > 0) {
		$tpl->set( '[gift]', "" );
		$tpl->set( '[/gift]', "" );
		$tpl->set( '{gift}', stripslashes( $row[''] ) );
		$tpl->set_block( "'\\[not-gift\\](.*?)\\[/not-gift\\]'si", "" );
	
	} else {
		$tpl->set_block( "'\\[gift\\](.*?)\\[/gift\\]'si", "" );
		$tpl->set( '{gift}', "" );
		$tpl->set( '[not-gift]', "" );
		$tpl->set( '[/not-gift]', "" );
	}
} else {
    $tpl->set_block( "'\\[gift\\](.*?)\\[/gift\\]'si", "" );
	$tpl->set( '{gift}', "" );
	$tpl->set( '[not-gift]', "" );
	$tpl->set( '[/not-gift]', "" );
	$tpl->set( '{gifts_money}', '');    
    $tpl->set( '{gifts}', '');
 }
		
	

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх