> > > >

php timestamp

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
212
Рейтинг
71
#1
В csbans время начала и окончания привилегия записано в timestamp(вроде бы), я вывел в нормальный вид типа 10.10.2010, и это круто.
Когда привилегии кончаются, в бд timestamp показывает 0, хочу сделать чтоб при 0 писался текст. Или что бы строка вовсе не показывалась, тогда будет камельфо

PHP:
<tbody>
    <tr class="test">
    <td class="gamelist-id"></td>
    <td class="vName"><font color=#247dd9><?php echo $vips['nickname'];?></font></td>
    <td class="vStart"><?php $ts = $vips['created']; $date = new DateTime("@$ts"); echo $date->format('d.m.Y');?></td>
    <td class="vEnd"><?php $ts = $vips['expired']; $date = new DateTime("@$ts"); echo $date->format('d.m.Y');?></td>
    </tr>
</tbody>
пробую так, не получается
PHP:
<tbody>
    <tr class="test">
    <td class="gamelist-id"></td>
    <td class="vName"><font color=#247dd9><?php echo $vips['nickname'];?></font></td>
    <td class="vStart"><?php $ts = $vips['created']; $date = new DateTime("@$ts"); echo $date->format('d.m.Y');?>
    </td>
    <td class="vEnd"><?php if($vips['expired'] = 0){echo 'привилегий нет';} if $vips['expired'] >= 1{$ts = $vips['expired']; $date = new DateTime("@$ts"); echo $date->format('d.m.Y');}?>
    </td>
    </tr>
</tbody>
 
В этой теме было размещено решение! Перейти к решению.
 
Сообщения
1.946
Рейтинг
1755
#2
expired = 0 ??? Не могу утверждать, но сравнение разве так делается?
 
 
Сообщения
1.946
Рейтинг
1755
#4
expired = 0 ??? Не могу утверждать, но сравнение разве так делается?
alabamaster1337, http://www.php.su/learnphp/operators/?compar

У тебя должно получиться типо такого: (условия сам грамотно подберёшь)
Код:
<tbody>
    <tr class="test">
    <td class="gamelist-id"></td>
    <td class="vName"><font color=#247dd9><?php echo $vips['nickname'];?></font></td>
    <td class="vStart"><?php $ts = $vips['created']; $date = new DateTime("@$ts"); echo $date->format('d.m.Y');?>
    </td>
-    <td class="vEnd"><?php if($vips['expired'] = 0){echo 'привилегий нет';} if $vips['expired'] >= 1{$ts = $vips['expired']; $date = new DateTime("@$ts"); echo $date->format('d.m.Y');}?>
+    <td class="vEnd"><?php if($vips['expired'] == 0){echo 'привилегий нет';} if($vips['expired'] > 0){$ts = $vips['expired']; $date = new DateTime("@$ts"); echo $date->format('d.m.Y');}?>
    </td>
    </tr>
</tbody>
 
Последнее редактирование:
1  
Сообщения
212
Рейтинг
71
#6
fantom, а так нормально?
PHP:
$epoch = $vips['expired'];
echo gmdate('d.m.Y', $epoch);
7 Июл 2018
wopox1337, спасибо, в этом уже разобрался
Не знаю как сделать чтоб вместо текста "привилегий нет", строка в таблице вовсе не появлялась. Без понятия что нужно гуглить
 
 
Сообщения
232
Рейтинг
235
#7
alabamaster1337, а весь код покажешь?
если там форик, то просто проверяй значение $vips['expired'] перед формированием строки в таблице.
и continue в помощь
 
 
Сообщения
212
Рейтинг
71
#8
neygomon,
PHP:
<!DOCTYPE html>
<html>
<head>
    <title>тайтл</title>
    <meta charset="utf-8"/>
    <meta name="keywords" content="что то"/>
    <meta name="description" content="дескрипшн"/>

    <link rel="stylesheet" type="text/css" href="template/style.css">
    <link rel="stylesheet" type="text/css" href="template/style2.css">
    <link rel="stylesheet" type="text/css" href="template/mstyle.css">

    <script type="text/javascript" src="template/css1337.js"></script>
    <script type="text/javascript" src="template/css1337_2.js"></script>
</head>

<body>
    <div id="mainpage">
        <div id="menu">
            <ul><br/>
                <li><a href="#" class="current">Главная</a></li>
                <li><a href="#">пункт</a></li>
                <li><a href="#">пункт</a></li>                               
            </ul>
        </div>

        <div id="wrapper">
            <div id="conten">
                <!-- рандомные картинки / mt_rand(1,2) - кол-во картинок от 1 до 2 -->
                <pre><img src="images/img<?php echo(mt_rand(1,2)); ?>.png"></pre>
            </div>

            <div id="navmenu">
                <a href="#" class="button"><img src="template/cookie.png"> что-то</a>
                <a href="#" class="button"><img src="template/cookie.png"> что-то</a>
            </div>

            <center>
            <div id="partners">
                кнопка поделиться <br/>
                <h2>какой-то текст</h2>
                геимтрекер
                <br/><br/>
                <!-- таблица випов -->
                <!-- скрипт выделения строки при наведении -->
                <script type="text/javascript">
                    window.addEvent('domready', function() {
                        var zTables = new ZebraTables('gamelist');
                    });
                </script>
                <!-- скрипт выделения строки при наведении -->
                <table class="gamelist">
                    <colgroup>
                        <col class="gamelist-id" />
                        <col class="empty" />
                        <col class="empty" />
                        <col class="empty" />
                    </colgroup>
                    <thead>           
                        <tr>
                        <th></th>
                        <th>Вип игроки</th>
                        <th class="iStart">Начало</th>
                        <th class="iEnd">Окончание</th>
                        </tr>
                    </thead>

                    <!-- подключение к БД и вывод игроков -->
                    <?php include "inc/db_connect.php";
                    while( ($vips = mysqli_fetch_assoc($result)) ) // получение результата
                    {?> <!-- типа блок кода -->
                    <tbody>
                        <tr class="test">
                        <td class="gamelist-id"><?php
                                                    if($vips['access'] == 'bimnopqrtz') // флаги доступа випа без иммунитета
                                                        {?> <span class="lolinfoicon2">
                                                            <img src="template/kakashka.png">
                                                            <span>Игрок без иммунитета :(</span>
                                                            </span> <?php }
                                                    if($vips['access'] == 'bimnopqrstz') // флаги доступа випа-девушки без иммунитета
                                                        {?> <span class="lolinfoicon2">
                                                            <img src="template/kakashka.png"> <img src="template/woomen.png">
                                                            <span>Девушка без иммунитета :(</span> <?php }
                                                    if($vips['access'] == 'abimnopqrstz') // флаги доступа випа-девушкa
                                                        {?> <span class="lolinfoicon2">
                                                            <img src="template/woomen.png">
                                                            <span>Девушка ^_^</span> <?php }
                                                    if($vips['access'] == 'abcdefijmnopqrtu') // флаги доступа админ
                                                        {?> <span class="lolinfoicon2">
                                                            <img src="template/admin.png">
                                                            <span>Админ!</span> <?php }
                                                    if($vips['access'] == 'abcdefijmnopqrstu') // флаги доступа админ-девушка
                                                        {?> <span class="lolinfoicon2">
                                                            <img src="template/admin.png"> <img src="template/woomen.png">
                                                            <span>Девушка-админ!</span> <?php }
                                                ?> </td>
                        <td class="vName"><font color=#247dd9><?php echo $vips['nickname'];?></font></td>
                        <td class="vStart"><?php
                                                /*$ts = $vips['created'];
                                                $date = new DateTime("@$ts");
                                                echo $date->format('d.m.Y');*/
                                                $epoch = $vips['created'];
                                                echo gmdate('d.m.Y', $epoch);
                                            ?>
                        </td>
                        <td class="vEnd"><?php /*
                                            if($vips['expired'] < 1)
                                                {
                                                    echo 'привилегий нет';
                                                }
                                            if ($vips['expired'] > 1)
                                                {
                                                    $ts = $vips['expired'];
                                                    $date = new DateTime("@$ts");
                                                    echo $date->format('d.m.Y');
                                                }*/
                                            if($vips['expired'] == 0)
                                                {
                                                    echo 'привилегий нет';
                                                }
                                            if($vips['expired'] > 0)
                                                {/*
                                                    $ts = $vips['expired'];
                                                    $date = new DateTime("@$ts");
                                                    echo $date->format('d.m.Y');*/
                                                    // unix -> d.m.Y // http://php.net/manual/ru/function.gmdate.php
                                                    $epoch = $vips['expired'];
                                                    echo gmdate('d.m.Y', $epoch);
                                                }
                                        ?>
                        </td>
                        </tr>
                    </tbody>
                    <?php } ?> <!-- закрытие блока кода -->
                </table>
                <!-- таблица випов -->
            </div>
            </center>
        <!-- push - выравнивает последнюю строчку в таблице випов -->
        <div id="push"></div>
        </div>
    </div>
    <div id="footer">
        <img src="template/footer2.png">
    </div>
</body>
</html>
 
 
Сообщения
232
Рейтинг
235
#9
alabamaster1337,
Код:
<?php include "inc/db_connect.php";
                    while( ($vips = mysqli_fetch_assoc($result)) ) // получение результата
                    {?>
->
Код:
<?php include "inc/db_connect.php";
                    while( ($vips = mysqli_fetch_assoc($result)) ) // получение результата
                    { if($vips['expired'] < 1) continue; ?>
пробни
 
1  
Сообщения
212
Рейтинг
71
#10
neygomon, работает, но не так как надо
у меня csbans стоит. в строке expired стоит 0 если права навсегда, и типа он скрывает их, хочу сделать чтоб скрывало у кого кончились права.
я думаю примерно так, узнать дату когда кончаются права и сравнить с текущей датой, если текущая дата больше - не показывать в таблице
 

Вложения

  • 53,6 KB 20
 
Сообщения
232
Рейтинг
235
#13
alabamaster1337, а ты какое условие использовал?
я просто пост редачил

условие выше должно делать именно то, что ты хочешь
 
 
Сообщения
212
Рейтинг
71
#14
neygomon, так и вставил, сверху
7 Июл 2018
так тоже не хочет
PHP:
<td class="vEnd"><?php
                                            if($vips['expired'] > 0 AND time() > $vips['expired']) continue;
                                            if($vips['expired'] > 0)
                                                {
                                                    // unix -> d.m.Y // http://php.net/manual/ru/function.gmdate.php
                                                    $epoch = $vips['expired'];
                                                    echo gmdate('d.m.Y', $epoch);
                                                }
                                        ?>
                        </td>
 

Вложения

  • 120,6 KB 19
 
Сообщения
232
Рейтинг
235
#15
alabamaster1337, эм...
ну должно работать как надо.
по крайней мере - логика говорит об этом:
если expired больше нуля и текущее UNIX время больше чем expired, то строку пропускаем
 
 
Сообщения
212
Рейтинг
71
#17
Может есть еще какие то идеи, как не выводить в таблицу?
9 Июл 2018
Может быть соединение не там закрываю
PHP:
<?php

$connection = mysqli_connect('', '', '', 'csbans');

if ($connection == false)
{
    echo "error<br/>";
    echo mysqli_connect_error();
    exit();
}

$result = mysqli_query ($connection, "SELECT nickname, created, expired, access FROM amx_amxadmins");
?>

<?php
    mysqli_close($connection);
?>
 
 
Сообщения
232
Рейтинг
235
#18
alabamaster1337, если в ЛС дашь фтп и доступ к базе - потыкаю.
лень все это поднимать у себя
 
 
Сообщения
16
Рейтинг
39
#19
alabamaster1337, это условие ставь сразу после
PHP:
                    while( ($vips = mysqli_fetch_assoc($result)) ) // получение результата
                    {
А лучше вообще time() записать в переменную, чтобы в цикле по 100 раз не вызывать ее
PHP:
                    <!-- подключение к БД и вывод игроков -->
                    <?php include "inc/db_connect.php";
                    $time = time();
                    while( ($vips = mysqli_fetch_assoc($result)) ) // получение результата
                    {
                        if($vips['expired'] > 0 AND $time > $vips['expired']) continue; ?> <!-- типа блок кода -->
И зачем тебе дата по гринвичу? Используйте date вместо gmdate
 
1  
Сообщения
232
Рейтинг
235
#20
BaHeK, ясно. я и не заметил куда он запихал условие... -_-
 
 
Статус
В этой теме нельзя размещать новые ответы.
> > > >