в таблице test4 бд russian есть полt id со значениями: n..n+50 (незнаем к примеру)
сначала нужно выбрать сколько значений нужно выбрать: 10-20-30.
и из всей этой таблицы, общим числом в x, нужно рандомно выбрать это количество полей:(10-20-30).
это тесты по русскому языку для иностранцев... приступили к тесту, выбрали сложность: 10-20-30 предложений.
и из всей бд выбираются любые предложения количеством 10-20-30...
работает все, кроме рандомной выборки предложений. выбираются только из первой 10-20-30-ки предложений, но отображаются в рандомном порядке, а остальные никогда не задействованы...
как сделать рандомную выборку значений?
могу прикрепить все файлы: php и sql.
p.s. писал все это на 2м курсе, 2,5 года назад... поэтому криво

Код: Выделить всё
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>TEST PAGE!!!</title>
<style type="text/css">
<!--
label {
position: relative;
left: 12px;
}
body {
padding: 12px 56px;
width: 650px;
margin: 0 auto;
background: #878787 url(background-drop-shadow.gif) 50% 0 repeat-y;
color: #000066;
}
.border_question{
border-width: thin;
border-style: solid;
border-color: #006633;
font-weight: bolder;
}
hr {
height: 15;
width: 100%;
text-align: center;
color: #FF0000;
}
.text{
border-style: none;
62.5%/1.5 Verdana, Arial, Helvetica, sans-serif;
font-style: regular;
font-size:1.1em;
text-align:justify;
}
.button_test {
width:248px;
height:30px;
text-align:center;
color: #FFFFFF;
background-color: #0066CC;
font-size: large;
cursor:pointer;
}
.answer{
color:#000099;
font-weight: normal;
}
-->
</style>
</head>
<body>
<h1 align="center" class="style1">Выберите правильный вариант, синонимичный выделенному слову:</h1>
<?php
$db = mysql_connect("127.0.0.1","trunghiep","12345");
mysql_query('SET NAMES utf8 ') or header('Location: Error');
mysql_select_db("RUSSIAN",$db);
$qua = $_POST['quantity'];
$level = '3';
$result = mysql_query("SELECT * FROM test4 where level=$level LIMIT $qua",$db);
$i=0;
$j=0;
$num_rows = mysql_num_rows($result);
// $num_rows2 = mysql_num_rows($result2);
while (($j < $qua) and ($j<$num_rows))
{
$myrow[$j] = mysql_fetch_array($result);
$j++;
}
$t=0;
$indexArray = Array();
while($t<$qua)
{
$randNum = round(rand(0,($qua-1)));
$exist = false;
$s=0;
for ($s=0; $s<sizeof($indexArray);$s++)
{
if (round($indexArray[$s]) == round($randNum))
{
$exist = true;
break;
}
}
if ($exist == false)
{
$indexArray[$t] = $randNum;
$t++;
}
}
$t = 0;
$textArray = Array();
while ($t<$qua)
{
$textArray[$t] = $myrow[$indexArray[$t]];
$t++;
}
$myrow = $textArray;
$part = 1;
$ex = 1;
$testNum = 1;
printf("<form id='form1' name='form1' method='post' action='result3.php'>");
while ( ($i < $qua) and ($i<$num_rows) )
{
$i = $i + 1;
printf("<p >");
printf(" <p class='border_question'>%s. %s </p>", $i,$myrow[$i-1]['question'] );
if ( $myrow[$i-1]['var1'] !='' )
{
printf(" <div class='answer'><label> <input type='radio' name='ans_$i' value='1' checked='checked' /> %s <br/></label>",$myrow[$i-1]['var1']);
}
if ( $myrow[$i-1]['var2'] !='' )
{
printf("<label> <input type='radio' name='ans_$i' value='2' /> %s <br/></label>",$myrow[$i-1]['var2']);
}
if ( $myrow[$i-1]['var3'] !='' )
{
printf("<label> <input type='radio' name='ans_$i' value='3' /> %s <br/></label>",$myrow[$i-1]['var3']);
}
if ( $myrow[$i-1]['var4'] !='' )
{
printf("<label> <input type='radio' name='ans_$i' value='4' /> %s <br/></label>",$myrow[$i-1]['var4']);
}
if ( $myrow[$i-1]['var5'] !='' )
{
printf("<label> <input type='radio' name='ans_$i' value='5' /> %s <br/></label>",$myrow[$i-1]['var5']);
}
printf("<input type='hidden' name='right_ans_$i' value='%s'/></div>",$myrow[$i-1]['answer']);
printf("</p>");
}
printf("<input type='hidden' name='quality_question' value='%s'/>",$i);
printf("<br /><div>
<input name='Submit' type='submit' class='button_test' value='Результат теста' />
</div> ");
echo("<br />");
$i = 0;
echo("<br />");
printf("<div>
<input name='Submit' type='submit' class='button_test' value='Результат теста с ответами' />
</div> ");
echo("<br />");
printf("</form>");
?>
</body>
</html>