За последние 24 часа нас посетил 19771 программист и 1605 роботов. Сейчас ищут 960 программистов ...

не могу понять в чем проблема(вместо четырех сообщений - 6

Тема в разделе "PHP для новичков", создана пользователем Ondottr, 20 май 2018.

  1. Ondottr

    Ondottr Новичок

    С нами с:
    24 ноя 2017
    Сообщения:
    46
    Симпатии:
    5
    Вместо четырех строчек выводит 6, две последних почему то по два разаo_O
    [​IMG]
    PHP:
    1. $result = mysql_query("SELECT * FROM `reports` WHERE `login` LIKE '$login' ORDER BY `reports`.`datetime`", $link);
    2. $num = mysql_num_rows($result);
    3. for ($a = 0, $i = 1; $i <=$num; $i++, $a++) {              
    4.     $sql = mysql_query("SELECT * FROM `reports` WHERE `login` LIKE '$login' ORDER BY `reports`.`datetime` DESC LIMIT $a, $i", $link);
    5.         while ($results = mysql_fetch_array($sql)) {
    6.             echo '<img src="/themes/night/images/time.gif" alt="." title=".">';
    7.             $d = $results['datetime'];
    8.          
    9.     $d = new DateTime($d);
    10.     $date = new DateTime("now");
    11.     $interval = $d->diff($date);
    12.  
    13.     $res = " ";
    14.     $format = array();
    15.     if($interval->m !== 0) {
    16.         $res = ($interval->m. " м. ");
    17.     }
    18.     if($interval->d !== 0) {
    19.         $res .= ($interval->d. " д. ");
    20.     }
    21.     if($interval->h !== 0) {
    22.         if ($interval->m == 0) {
    23.             $res .= ($interval->h. " ч. ");
    24.         }
    25.     }
    26.     if($interval->i !== 0) {
    27.         if ($interval->d == 0) {
    28.             $res .= ($interval->i. " мин. ");
    29.         }
    30.     }
    31.     if($interval->s !== 0) {
    32.         if ($interval->h == 0) {
    33.             $res .= ($interval->s. " сек. ");
    34.         }
    35.         echo $res, $results['report'], '<div class="sep"></div>';
    36.     }    
     
  2. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.600
    Симпатии:
    1.764
    А что ты вообще пытаешься изобразить? Код какой-то странный
     
  3. yanuzay

    yanuzay Активный пользователь

    С нами с:
    28 мар 2018
    Сообщения:
    503
    Симпатии:
    58
    в переменной $num какое значение?
    зачем делаешь два одинаковых sql запроса. можно оставить один запрос и оставить 1 цикл while.

    почему дубли? цикл while у тебя делает две итерации за один проход цикла for.
    Код очень странный
     
    Ondottr нравится это.
  4. Ondottr

    Ondottr Новичок

    С нами с:
    24 ноя 2017
    Сообщения:
    46
    Симпатии:
    5
    Спасибо, разобрался, убрал цикл, оставил один запрос, не знал что так выйдет:oops:
     
    yanuzay нравится это.