|
|
|
| Напишите пожалуйста, как создать ассоциативный массив на РНР - массив предъявленных вопросов для тестирующей системы. Я новичок, а делать ещё очень много... | |
|
|
|
|
|
|
|
для: do_cool
(23.11.2006 в 13:49)
| | ответ "руками" вас устроит?
если нет, тогда конкретнее описывайте задачу. | |
|
|
|
|
|
|
|
для: Loki
(23.11.2006 в 13:50)
| | >ответ "руками" вас устроит?
>если нет, тогда конкретнее описывайте задачу.
Вообще говоря, нужна функция формирования потенциального списка вопросов.Входные параметры – ID теста и массив УЖЕ предъявленных вопросов. Выходной – массив возможных вопросов.
Как я понимаю, нужны два ассоциативных массива, но я не знаю синтаксиса написания | |
|
|
|
|
|
|
|
для: do_cool
(23.11.2006 в 14:26)
| | Может так?
$a = array( 'quest' => 'one', 'quest1' => 'two', 'quest3' => 'three' );
$b = array( 'quest4' => 'four', 'quest5' => five', 'quest6' => 'six' );
$c = array('first_blok' => $a, 'second_block' =>$b);
|
| |
|
|
|
|
|
|
|
для: do_cool
(23.11.2006 в 14:26)
| | А где храняться вопросы? | |
|
|
|
|
|
|
|
для: Loki
(23.11.2006 в 15:07)
| | Приведу ниже начатый скрипт:
//Процедура отбора вопросов для предъявления
//
function otbor()
// функция должна выводить список потенциальных вопросов для предъявления. Входные параметры - ID-теста("id_tests") и ID студента("id_user")
// по входным параметрам получаю массив номеров заданных ранее вопросов $q1
// делается запрос,SQl в котором искомые вопросы не входят в полученный массив, опереляется число полученных новых вопросов
// если число новых вопросов недостаточно для формирования полного теста, то делается запрос в котором нет условия-ограничения и ищутся вопросы дополняющие набор до нужного количества баллов
// Выходным параметром является массив сформированных вопросов
{
$arr= array()
// ***не знаю что писать здесь***
}
//вывод списка вопросов с ответами из базы
$sql="select unique_code,n_vopr,formul from voprosnik";
$result=mysql_query($sql);
while ($row=mysql_fetch_array($result))
{
echo "<b><br>".$row['n_vopr']." ".$row['formul']."</b><br>";
$sql1="select formulirovka from Answer_store where unique_code=".@$row['unique_code'];
$result1=mysql_query($sql1);
while ($row1=mysql_fetch_array($result1))
{
echo '<input name="box[]" type="checkbox">'.$row1['formulirovka']."<br>";
}
}
?>
|
База находится на mySQL...но это дела не меняет... :))) | |
|
|
|
|
|
|
|
для: do_cool
(23.11.2006 в 15:28)
| | >База находится на mySQL...но это дела не меняет... :)))
меняет, так как нам неизвестна структура БД...
где учитываются заданные вопросы? | |
|
|
|
|
|
|
|
для: Loki
(23.11.2006 в 15:34)
| | В прикрепленном файле находятся концептуальная и физическая модели базы | |
|
|
|
|
|
|
|
для: Loki
(23.11.2006 в 15:34)
| | Здесь находится сформированный в PowerDesigner скрипт создания базы для mySQL | |
|
|
|
|
|
|
|
для: Loki
(23.11.2006 в 15:34)
| | А вопросы должны учитываться в таблице "History" по соответствующим полям: ID_user, ID_test и n_vopr | |
|
|
|
|
|
|
|
для: do_cool
(23.11.2006 в 15:51)
| | Сколько всего сразу:)
Я бы делал примерно так:
если вопросы должны выпадать случайным образом, то:
<?
//выбираем только те вопросы из данного теста, на которые пользователь не отвечал.
$sql="SELECT unique_code, n_vopr, formul
FROM voprosnik
WHERE n_test=$id_tests //как я понял, это идентификатор теста
AND n_vopr NOT IN(SELECT n_vopr FROM History WHERE id_tests=$id_tests AND ID_user=$id_user)
ORDR BY RAND() //перемешиваем полученыне вопросы
LIMIT 5"; // и берем только 5 вопросов
$result=mysql_query($sql);
while($voprosy=mysql_fetch_array($result))
{
/*тут мы запрашиваем и выдаем пользователю варианты ответов на вопросы*/
}
if (mysql_num_rows($result)<5) //если не задававшихся вопросов меньше 5, то добираем из уже заданных
{
$limit=5-mysql_num_rows($result);
$sql="SELECT unique_code, n_vopr, formul
FROM voprosnik
WHERE n_test=$id_tests
AND n_vopr IN(SELECT n_vopr FROM History WHERE id_tests=$id_tests AND ID_user=$id_user)
ORDR BY RAND()
LIMIT $limit"; // добираем недостающие вопросы
$result=mysql_query($sql);
while($voprosy=mysql_fetch_array($result))
{
/*тут мы запрашиваем и выдаем пользователю варианты ответов на вопросы*/
}
}
|
Вот. Так что какой тут нужен массив я не очень понял | |
|
|
|
|
|
|
|
для: Loki
(23.11.2006 в 16:45)
| | Огромное спасибо, Loki, очень признателен Вам!
Я, честно говоря, тоже не совсем понимаю зачем здесь нужен массив...просто руководитель сказал "НАДО!"...ну ничего, перетопчется... :)))
Вы не против, если в случае других вопросов я обращусь снова попозжее? | |
|
|
|