За последние 24 часа нас посетили 15792 программиста и 1546 роботов. Сейчас ищет 861 программист ...

сравнение даты и закрашиваем цветом

Тема в разделе "PHP для новичков", создана пользователем wolf777, 19 ноя 2014.

  1. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    Код (Text):
    1. $sql="SELECT * FROM `".prefix."shinfo`";
    2.  
    3. $query=mysql_query($sql);
    4. while($row=mysql_fetch_array($query)){
    5.  
    6.  
    7. while($row=mysql_fetch_array($b)){
    8.         $t=$row['icq'];
    9.         $to=$row['login'];
    10.         $ua=$row['pass'];
    11.         $dt=$row['data'];
    12.         $rd=$row['record_date'];
    13. echo "<tr>";
    14. echo "<td class='p'><center>".$to."</center></td>";
    15. echo "<td class='p'><center>".$t."</center></td>";
    16. echo "<td class='p'><center>".$ua."</center></td>";
    17. echo "<td class='p'><center>".$dt."</center></td>";
    18.  
    19.  
    20.  
    21. $record_date = mysql_query("DELETE FROM `".prefix."shinfo` WНЕRЕ `dаtаtimе` < NОW() - INTЕRVАL 30 МINUТЕ");
    22.  
    23. if($rd < 3){
    24. echo "<td class='p'><center>".$rd."</center></tr>";
    25. }else{
    26. $s=skin_tt('Ваш Номер ICQ -'.'<b>'.$t.'</b>'.' удалиться в течении 3-х дней поэтому распечатайте ваши номера');
    27. echo "<td class='tp'><center>".$rd."".$s."</center></td>";
    28. }
    29. }
    имеется скрипт

    $dt=$row['data']; - дата добавления
    $rd=$row['record_date']; - дата окончания

    как сделать если остается 3 дня до конца даты, чтоб выводилось то что ниже?

    $s=skin_tt('Ваш Номер ICQ -'.'<b>'.$t.'</b>'.' удалиться в течении 3-х дней поэтому распечатайте ваши номера');
    echo "<td class='tp'><center>".$rd."".$s."</center></td>";
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    можно менять класс всего <tr> для этой записи.
     
  3. wolf777

    wolf777 Новичок

    С нами с:
    26 авг 2014
    Сообщения:
    207
    Симпатии:
    0
    а причем тут класс? мне именно надо чтоб закрашивалось красным когда остается 3 дня до даты

    Добавлено спустя 1 минуту 45 секунд:
    или вы имели ввиду это?

    echo 'Класс DateTime</br>';
    $now = new DateTime('now');
    echo $now->diff(new DateTime($_POST['date']))->format('До выбранной вами даты осталось: %y лет %m месяцев %d дней %h часов</br></br>');

    Добавлено спустя 4 минуты 6 секунд:
    походу мне date тип не избежать(, чем он меня бесит что он дату выводит так 2014.11.19, а вот как вывести так 19.11.2014 кто нибудь знает?
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    нет, я подразумевал что если есть некоторый список в таблице то каждому элементу соответствует одна строка (tr) и следовательно можно для целой строки решить "менее трех дней", дать класс dom-элементу а на стороне css определить нужные стили оформления гниющей строки

    три дня до рекорд_дейты можно считать:
    * на стороне мускула с созданием некоторого поля при выборе всех записей или для фильтрации только подходящих. в скрипте есть интервал 30 минут - с днями та же хрень
    * на стороне пхп - один раз объявить переменную "через три дня" (time()+259200 то есть текущий таймстамп плюс секунд в трех сутках) и при итерации значений из бд сравнивать у кого рекорд_дейт менее чем "через три дня"
    * на стороне клиента. передать ему всё в чистом виде и дать джаваскрипту сделать ту же операцию что и в логике "на стороне пхп"

    то есть технически не сложно придумать "три дня". дальше уже реализация как эти "три дня" будут "рисоваться". я предложил классом. если познаний css еще мало то можно и не классом а каким-то более удобным методом по уровню знаний.