#php
#php
Вопрос:
У меня проблема с заказом элемента на моей странице. Я хочу, чтобы элемент упорядочивался случайным образом, но менялся каждый день. Я использую код ORDER by rand() и в () я хочу, чтобы отображалась сегодняшняя дата. пример, если сегодня 10.12.2020, я хочу, чтобы в моем коде был ПОРЯДОК по rand(10). Это мой код
include("pagination/function.php");
$page = (int) (!isset($_GET["page"]) ? 1 : $_GET["page"]);
$limit = 12; //if you want to dispaly 10 records per page then you have to change here
$startpoint = ($page * $limit) - $limit;
$statement = "product ORDER by rand()"; //you have to pass your query over here
$res=mysqli_query($link,"select * from product {$statement} LIMIT {$startpoint} , {$limit}");
while ($row=mysqli_fetch_array($res))
{
Ответ №1:
Вы заявляете, что хотите сдать 10
экзамен на сегодня, но тогда случайный порядок будет одинаковым каждый 10-й день каждого месяца каждого года. Если вы хотите, чтобы это было случайным образом каждый отдельный день, тогда используйте временную метку UNIX:
$seed = time();
$statement = "product ORDER by rand($seed)";
Если вам действительно нужен день месяца, тогда получите номер дня:
$seed = date("j");
$statement = "product ORDER by rand($seed)";
Возможно, вы сможете использовать функцию даты и времени MySQL, но я никогда не пробовал их RAND()
использовать.
Комментарии:
1. Я использовал $seed = date(«jh»); так что день и час. каждый день каждый час будет упорядочивать их по-разному. спасибо, что показали мне, как это сделать.
2. Это нормально, если вы этого хотите, но тогда в следующем месяце на 10-й день в этот час он будет иметь тот же случайный порядок, что и сегодня в этот час.
3. да, я знаю, что это не проблема, потому что я добавляю новые элементы каждую неделю, поэтому до следующего месяца список будет меняться.