[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обновление части страницы при действии
DesignerMix
Привет, я пишу по диплому систему тестирования, сделал форму для добавления новых вопросов в БД, и вывод textarea для редактирования...
вот часть кода
PHP
...
<?
php
if (isset($_GET[sql_query_array]) and isset($_GET[tid]) and $_GET[sql_query_array]!=0)
{
echo 
"<br><br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;В выбранном тесте имеются следующие вопросы:</b>";
$vopros=mysql_query("SELECT vopros,otvet,otvet_1,otvet_2,otvet_3,otvet_4 FROM Vopros WHERE vid=$_GET[sql_query_array] ORDER BY id");
$vopros_array=mysql_fetch_array($vopros);
do {
$n++; if($n%2==0){$gray="bgcolor=\"#DCDCDC\"";} printf ("
<table $gray><td><h3>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Вопрос $n:</h3>
<form action=\"index3.php\" method=\"post\" name=\"edit_vopros\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Вопрос:<br></b>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name=\"editvopros\" type=\"text\" onfocus=\"if(this.value=='$vopros_array[0]')this.value='';\" onblur=\"if(!this.value) this.value='$vopros_array[0]';\" value=\"$vopros_array[0]\" size=\"40\" maxlength=\"300\"><br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b>Номер правильного ответа:<br></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name=\"editotvet\" type=\"text\" onfocus=\"if(this.value=='$vopros_array[1]')this.value='';\" onblur=\"if(!this.value) this.value='$vopros_array[1]';\" value=\"$vopros_array[1]\" size=\"40\" maxlength=\"300\"><br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b>Первый ответ на вопрос:<br></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name=\"editotvet1\" type=\"text\" onfocus=\"if(this.value=='$vopros_array[2]')this.value='';\" onblur=\"if(!this.value) this.value='$vopros_array[2]';\" value=\"$vopros_array[2]\" size=\"40\" maxlength=\"300\"><br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b>Второй ответ на вопрос:<br></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name=\"editotvet2\" type=\"text\" onfocus=\"if(this.value=='$vopros_array[3]')this.value='';\" onblur=\"if(!this.value) this.value='$vopros_array[3]';\" value=\"$vopros_array[3]\" size=\"40\" maxlength=\"300\"><br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b>Третий ответ на вопрос:<br></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input name=\"editotvet3\" type=\"text\" onfocus=\"if(this.value=='$vopros_array[4]')this.value='';\" onblur=\"if(!this.value) this.value='$vopros_array[4]';\" value=\"$vopros_array[4]\" size=\"40\" maxlength=\"300\"><br>
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<b>Четвертый ответ на вопрос:<br>
</b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input name=\"editotvet4\" type=\"text\" onfocus=\"if(this.value=='$vopros_array[5]')this.value='';\" onblur=\"if(!this.value) this.value='$vopros_array[5]';\" value=\"$vopros_array[5]\" size=\"40\" maxlength=\"300\">
<input name=\"tid\" type=\"text\" value=$_GET[tid] style=\"visibility:hidden; and display:none;\">
<br><input name=\"sql_query_array\" type=\"text\" value=$_GET[sql_query_array] style=\"visibility:hidden; and display:none;\"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<input type=\"submit\" value=\"Изменить\">
</form><br></td></table>"
);}
while (
$vopros_array=mysql_fetch_array($vopros));
}



Вот как примерно выглядит страница до редактирования необходимого вопроса:
user posted image

Вот как я хочу сделать, чтобы выглядела после:
user posted image

Подскажите как можно это сделать...
Я тут вроде что-то слышал про jQuery, но не работал с ней, может кто примерчик кинет по моему случаю. Спасибо!

Жду ответов.



Спустя 26 минут, 4 секунды (30.05.2009 - 14:33) Kuliev написал(а):
DesignerMix
Сам в том году сдавал диплом на этуже тему, делал систему тестирования.

Ваш быдло код очень очень похож на код ПОПОВА Е.

Во вторых у Вас линейная постоновка вопросов, т.е. одни вопрос 4 варианта ответа, а вы не думали что может быть и больше или меньше вопросов?

Советую поискать в инете, там есть довольно не плохая статья про тестирование, виды, подсчет балов, история и все такое.

А по поводу поста скажу так:

Раздели программу на несколько частей ( пользователя, администратора), сделай функцию редактирования, удаления, добавления тестов, вопросов и т.д.


Какие проблемы с редактированием?

Спустя 9 минут, 4 секунды (30.05.2009 - 14:42) DesignerMix написал(а):
Цитата
Ваш быдло код очень очень похож на код ПОПОВА Е.

Я эту тему по диплому получил неожиданно для себя, я не учусь на программиста, так что я взял первый попавшийся самоучитель, не знаю Попова или еще чей... Мне важно уложиться в сроки, а не оптимизировать. Может быть в дальнейшем и займусь оптимизацией, а сейчас я просто очень спешу.

Цитата
Во вторых у Вас линейная постоновка вопросов, т.е. одни вопрос 4 варианта ответа, а вы не думали что может быть и больше или меньше вопросов?

Это я как пример сделал, а так есть кнопочка, добавляющая варианты ответов.

Цитата
Раздели программу на несколько частей ( пользователя, администратора), сделай функцию редактирования, удаления, добавления тестов, вопросов и т.д.

Если правильно понял, то я уже это сделал, у меня есть регистрация, и администратор, который может раздавать права. Т.е. если права на редактирование нет, то нельзя редактировать.

Цитата
Какие проблемы с редактированием?

Никаких!

Я вроде как задал вопрос о том как можно сделать так, чтобы при нажатии на кнопку изменить, происходило добавление в БД (это я уже сделал), и страница не обновлялась полностью, а лишь тот вопрос где были изменения (смотри рисунок).

Спустя 6 минут, 58 секунд (30.05.2009 - 14:49) Kuliev написал(а):
DesignerMix
Ну тогда посмотрите в торону Ajax как вы уже подметили ( jQuery) wink.gif

Спустя 1 минута, 40 секунд (30.05.2009 - 14:51) twin написал(а):
Эт чё за обфускатор? Не надо тебе ни каких кверей, баловство это всё.

Вот тут почитай про аякс, что не понятно - спрашивай
Если хочешь разобраться.
А если тебе оно не надо, то так и скажи. Тогда четче ставь задачу, попробую помочь.

Спустя 30 минут, 24 секунды (30.05.2009 - 15:21) DesignerMix написал(а):
twin

Отличная информация, спасибо. Похоже это то что мне нужно, но вопрос есть:

function Refresh()
{
//Здесь смотрим, в каком состоянии ответ.
//Нас интересует 4, потому что это значит - ответ получен и загружен.
var a = req.readyState;
// А сюда пишем, что нам за гостинцы прислал сервер.
var b = req.responseText;
//Если ответ загружен (4) рисуем его в див
if( a == 4 )
document.getElementById('ajax').innerHTML = b;
}


Почему именно 4? Это такая особенность? И что будет если я например другую цифру поставлю.


Спустя 1 час, 19 минут, 56 секунд (30.05.2009 - 16:41) twin написал(а):
Поставь, поди не взорвется biggrin.gif Вообще это проверка состояния. 4 означает - ответ сервера получен и загружен. То что нам нужно.

Спустя 1 день, 3 часа, 36 минут, 50 секунд (1.06.2009 - 20:18) DesignerMix написал(а):
Если кому интересно решил проблему используя TreeView, вот ссылка на тему по которой я это сделал http://www.linkexchanger.su/2008/49.html .

Вот как стало выглядеть:
user posted image



Вот только возникла еще одна сложность, препод потребовал, чтобы в варианты ответов можно было вставлять картинки.

Ни у кого нету кода на Php или на JavaScript который должен просто загрузить картинку в определенную папку и сформировать ссылку. На подобии форма.

Я думаю что такой код уже есть. Может у кого завалялся. Поделитесь плиз!

Спустя 2 часа, 11 минут, 35 секунд (1.06.2009 - 22:30) DesignerMix написал(а):
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.