Когда я беру рандомные значения из БД, они часто повторяются. Чтобы это не происходило, я попытался заново брать значение, но это не помогает.
<?php
$connection = mysqli_connect('127.0.0.1', 'root','','engtest');
$result = array( $result_transfer1,$result_transfer2, $result_transfer3, $result_transfer4);
$result_word;
$transfer = array( $transfer1 , $transfer2,$transfer3, $transfer4);
$result[0] = mysqli_query($connection, "SELECT * FROM words ORDER BY RAND()");
$transfer[0] = (mysqli_fetch_assoc($result[0]));
switch ($_REQUEST['action']) {
case 'button1':
if($transfer[0] == $transfer[1] or $transfer[0] == $transfer[3] or $transfer[0] == $transfer[2]){
unset( $result[0]);
$result[0] = mysqli_query($connection, "SELECT * FROM words ORDER BY RAND()");
$transfer[0] = (mysqli_fetch_assoc($result[0]));
echo "($('.answer1').html('" . $transfer[0]['transfer'] ."');";}
else{ echo "$('.answer1').html('" . $transfer[0]['transfer'] ."');";};
break;}
Использовать запрос с параметром DISTINCT:
SELECT DISTINCT * FROM `words` ORDER BY RAND()
Можно так же сгруппировать по конкретному столбцу:
SELECT `word` FROM `words` GROUP BY `word` ORDER BY RAND()
Попробуйте поиграться с GROUP BY
$result[0] = mysqli_query($connection, "SELECT * FROM `words` GROUP BY `id` ORDER BY RAND()");
Первым делом убедитесь, что в вашей таблице не повторяются сами записи, если надо чтобы уникальным было какое-то конкретное поле, попробуйте GROUP BY field_that_must_be_once
и желательно я думаю ограничить выбор через LIMIT
или какие-то критерии HAVING
, а то вы похоже всю таблицу достаёте.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Недавно перешел на PHP7, в целом миграция прошла хорошо, за исключением того, что PHP не хочет видеть класс-родитель у потомков (ООП)
Здравствуйте! Скажу сразу, это проблемная для меня темаВ ветви HKEY_CURRENT_USER нужно изменить значение ColorizationGlassReflectionIntensity, находящееся в Software\\Microsoft\\Windows\\DWM
Можно ли как-то изменить степень размытия фона эффекта AeroGlass через DWM API?