Случайни 3 реда от таблица на последните 10 реда

sMILyTHEone

Registered
Значи имам записи в базата данни въпроса ми е как да изкарам rand() 3 записа на последните 10 записа в таблицата тоест при рефреш да се въртят тези последни 10 записа само че да изкарва само 3 . Някой да си има идея как ще стане този фокус ?
 
Току-що направих този скрипт :)


Код:
<?php
$sql = "SELECT  something from table LIMIT 0, 10";
$rezult = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($rezult);

$a = rand(0, 9);
$b = rand(0, 9);
$c = rand(0, 9);


// НАЧАЛО Предотвратява повтарящи се стойности

if ($a == $b || $a == $c) {
    if ($a <= 9 && $a > 0) {
        --$a;
        if ($a == $b || $a == $c) {
             if ($a == 0) {
                $a = $a +2 ;
            }
            else {
                --$a;
            }
        }

    }
    elseif ($a == 0) {
        ++$a;
        if ($a == $b || $a == $c) {
            ++$a;
        }

    }
}
if ($b == $c) {
    if ($b <= 9 && $b > 0) {
        --$b;
        if ($b == $a || $b == $c) {
            if ($b == 0) {
                $b = $b + 2; 
            }
            if ($b > 0) {
                --$b;
            }
        }
    }
    if ($b == 0) {
        ++$b;
        if ($b == $a || $b == $c) {
            ++$b;
        }
    }
}

// Край

echo $row[$a];
echo $row[$b];
echo $row[$c];
?>
:)
 
PHP:
<?php
$sql = "SELECT  something from table LIMIT 3 ORDER BY RAND()";
$rezult = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($rezult)) {
echo $row['name']."------".$row['neshto_dr'];
}

?>
}
 
Styl3rbg каза:

Лека поправка:
PHP:
<?php
$sql = "SELECT  something from table LIMIT 10 ORDER BY RAND(3)";
$rezult = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($rezult)) {
echo $row['name']."------".$row['neshto_dr'];
}

?>
}

:)
 
PHP:
$zapisi = db("SELECT * FROM table ORDER BY id DESC LIMIT 10");

Да предположим, че $zapisi са 10-те записа.

PHP:
$keys = array_rand($zapisi, 3);

$newzapis = array();
if(is_array($keys)) {
foreach($keys AS $key) {
$newzapis[] = $keys[$key];
}
} else {
$newzapis[] = $keys[$keys];
}
 
ами не нестава :| искам да е само с 1 Mysql заявка както са написали styler и rombeca $sql = "SELECT something from table LIMIT 10 ORDER BY RAND(3)"; само че неработи това изважда ми грешка SELECT * FROM `тбале` LIMIT 10 ORDER BY RAND(3) е така ми е на мен и нестава..
 

Back
Горе