Это немного сложно объяснить, особенно в названии - так вот она:Logic Ошибка PHP Looped Массив
Я делаю PHP массив с 12 индексов, по одному для каждого месяца - каждый месяц будет показывать количество просмотров страниц, которые были записаны в месяце, чтобы получить месяц, я использую текущее время UNIX и убираю 2629743 секунды (месяц), каждый раз, когда цикл перемещается, добавляется 2629743 секунды. Это должно затем создайте массив, такой как (1, 4, 5, 9) 1 вид в январе, 4 просмотра в феврале и т. д.
Если нет представлений, мне нужно, чтобы это было как (null, null, 9) поэтому нет просмотров в январе, ни одного в феврале 9 марта - но индексы полностью испорчены, и взгляды идут в wro ng порядок.
Код для цикла:
$Month = 1; // Start with January
$MonthTimestamp = 2629743; // Start with the time of ONE month from current time
$ArrayTimeStamp = array();
while ($Month <= 12): // Go from January to February
$Value1 = $now - $MonthTimestamp;
$ViewsThisMonth = mysqli_fetch_object(mysqli_query($db, "SELECT SUM(Views) AS NumberFinalViews FROM BlogViews WHERE TimeRecord >= '$Value1' AND TimeRecord < '$now'"));
$ArrayTimeStamp[] = $ViewsThisMonth->NumberFinalViews;
$MonthTimestamp = $MonthTimestamp + 2629743;
$Month++;
endwhile;
Повторим, массив нужно хранить каждый месяц просмотров страниц, которые хранятся в базе данных, все виды страницы сохраняются с отметкой времени, эти отметки времени должны быть разделены на 12 месяцев, а затем помещаться в массив.
4 взгляда в феврале должны быть во втором индексе, а метка времени будет больше, чем метка в январе, но меньше, чем в марте.
Вся помощь приветствуется !!
Редактировать: $ now Текущее время UNIX в секундах.
Откуда $ теперь исходит? – rahul
Любая причина, по которой вы используете тайную 'endwhile' вместо просто' while (...) {...} '? – tadman
** ПРЕДУПРЕЖДЕНИЕ **: при использовании 'mysqli' вы должны использовать [параметризованные запросы] (http://php.net/manual/en/mysqli.quickstart.prepared-statements.php) и [' bind_param'] (http://php.net/manual/en/mysqli-stmt.bind-param.php), чтобы добавить данные пользователя в ваш запрос. ** НЕ используйте ** интерполирование строк или конкатенацию для выполнения этого, потому что вы создали серьезную [SQL-инъекцию] (http://bobby-tables.com/). – tadman