Прежде всего, позвольте мне сказать вам, что я довольно новичок в PHP и MySQL и пытаюсь учиться. Поэтому я создал веб-приложение, в котором случайный номер квартиры должен отображаться против имени человека, упорядоченного по старшинству членского номера. Номер квартиры и ФИО лиц берутся из отдельных таблиц. Мне удалось получить случайное имя, выполнив такой запрос:
SELECT bd, rank, name FROM person ORDER BY RAND() DESC LIMIT 1
Но что мне нужно, так это то, что когда я отправлю форму, она покажет имя самого старшего человека и случайный номер квартиры против него, когда я снова нажму, чтобы отправить форму, затем следующего старшего человека и случайный номер квартиры и так далее. В таком случае каким должен быть мой запрос? Мой код выглядит так:
if (isset($_POST['submit'])) {
$query = "SELECT house_no FROM houses ORDER BY RAND() LIMIT 1";
$result = mysqli_query($link, $query);
while ($row = mysqli_fetch_array($result))
{
global $won;
$won = $row['house_no'];
echo $won;
}
$query2 = "SELECT bd, rank, name FROM person ORDER BY RAND() DESC LIMIT 1";
$result2 = mysqli_query($link, $query2);
while ($row2 = mysqli_fetch_array($result2))
{
$winner_rank = $row2['rank'];
$winner = $row2['name'];
$winner_bd = $row2['bd'];
global $winner, $winner_bd, $winner_rank;
echo $row2['rank']. " ";
echo $row2['name']. ", ";
echo "Member No/".$row2['bd'];
} }