Вместо четырех строчек выводит 6, две последних почему то по два раза PHP: $result = mysql_query("SELECT * FROM `reports` WHERE `login` LIKE '$login' ORDER BY `reports`.`datetime`", $link); $num = mysql_num_rows($result); for ($a = 0, $i = 1; $i <=$num; $i++, $a++) { $sql = mysql_query("SELECT * FROM `reports` WHERE `login` LIKE '$login' ORDER BY `reports`.`datetime` DESC LIMIT $a, $i", $link); while ($results = mysql_fetch_array($sql)) { echo '<img src="/themes/night/images/time.gif" alt="." title=".">'; $d = $results['datetime']; $d = new DateTime($d); $date = new DateTime("now"); $interval = $d->diff($date); $res = " "; $format = array(); if($interval->m !== 0) { $res = ($interval->m. " м. "); } if($interval->d !== 0) { $res .= ($interval->d. " д. "); } if($interval->h !== 0) { if ($interval->m == 0) { $res .= ($interval->h. " ч. "); } } if($interval->i !== 0) { if ($interval->d == 0) { $res .= ($interval->i. " мин. "); } } if($interval->s !== 0) { if ($interval->h == 0) { $res .= ($interval->s. " сек. "); } echo $res, $results['report'], '<div class="sep"></div>'; }
в переменной $num какое значение? зачем делаешь два одинаковых sql запроса. можно оставить один запрос и оставить 1 цикл while. почему дубли? цикл while у тебя делает две итерации за один проход цикла for. Код очень странный