| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Базы Данных > подсчет правильных и не правильных ответов в тесте |
| Автор: beginner1 10.5.2014, 14:25 | ||||||
Здравствуйте. Помогите пожалуйста. Я вывожу вопрос и ответы из БД. В данный момент я пытаюсь сделать подсчет правильных ответов, но к сожалению не получается помогите пожалуйста что не так? Пожалуйста помогите очень нужна помощь(((.
|
| Автор: igorold 12.5.2014, 09:23 |
| что не получается? какой результат работы скрипта? Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_537068caae2015437af21ddc_0 |
| Автор: beginner1 12.5.2014, 09:36 | ||
не получается подсчет правильных и не правильных ответов результат скрипта, выводит вопрос и ответы из БД, а правильные ответы не считает и не заносит в БД по нажатию кнопки "следующий вопрос".
|
| Автор: beginner1 12.5.2014, 09:44 |
| всегда ответ не верный и считает не по нажатию кнопки Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_53706db2ae2015cc05f21d22_0 |
| Автор: beginner1 12.5.2014, 12:10 |
| Помогите пожалуйста. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_5370901bae20152a1cf21d74_0 |
| Автор: beginner1 13.5.2014, 21:42 |
| да я знаю что логика скрипта хромает((( Aliance помогите пожалуйста исправить, чтобы правильно работало правильно ли ответил пользователь на вопрос или нет и подсчитывалось количество правильных ответов. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_5372679eae20153070f21d29_0 |
| Автор: Aliance 14.5.2014, 10:55 |
| А итак помогаю, пока не вижу вариантов исправленного вами кода с учетом замечаний, озвученных в данной теме. Писать-то за вас это никто не будет ;-) |
| Автор: beginner1 14.5.2014, 11:08 | ||
Aliance, заменила на switch/case.
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_53732497ae20157c76f21d6f_0 |
| Автор: beginner1 14.5.2014, 11:12 | ||||||
Aliance, заменила на switch/case.
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_53732559ae20157c76f21d8d_0 |
| Автор: beginner1 14.5.2014, 11:47 | ||
| "У вас в 88 строчке используется переменная data, а откуда она возьмется, если до этого выполниться условие if?" вот так надо было исправить?
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_53732dbaae2015547ef21d1c_0 |
| Автор: Aliance 14.5.2014, 11:59 | ||
| Нет, не так. У вас используется переменная $data, а задается они в блоке else условия. По логике не знаю, но по идеи этот блок может не выполнится - значит переменной не будет. Далее, у вас логика представления и бизнес-логика смешана в одном месте, это не есть гуд. Почитайте, что такое MVC. Это, скорее на заметку, т.к. сейчас будет, полагаю, весьма сложным. Основная проблема, что вижу я, в том, что вывод вопросов, запись ответов и подсчет результатов располагается в одном месте и выполняется без особых условий. Нужно построить логику примерно так:
|
| Автор: beginner1 14.5.2014, 12:38 | ||
Вот так вот? только вопрос и ответы правильно перестали выводиться
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_537339a6ae2015b609f21d00_0 |
| Автор: Aliance 14.5.2014, 13:55 |
| Нет, не так. Такое ощущение, что вы просто наугад заменяете строки. Тут на форуме могут помочь, если у вас есть способности самому что-то исправить. В исключительных случаях, если задача простая, могут написать за вас, потому что там проще. Но не стоит ожидать, что за вас полностью переделают более-менее большой скрипт, в котором нужно разбираться. Обычно такое делается в разделе работа, но уже не за бесплатно ;-) Я выше дал вам примерный алгоритм, у вашем же "исправлении" до сих пор осталась строчка "if(isset($_POST['submit'])){". И зачем вы выкладываете закомментированные строчки, если они не несут смысловой нагрузки? Так же пароли подключения к БД, это не нужно и занимает только лишнее место. Нужно не тупо копипастить код всего файла, а выкладывать только значимые куски, тогда возможно и желающих вам помочь будет больше, т.к. их не будет пугать большой размер исходников. Что касается кодстайла, я рекомендую вам выносить сами запросы в отдельные переменные, чтобы визуально улучшить читаемость (но это чисто мое субъективное мнение), так же у вас там есть уязвимости (sql injection). |
| Автор: beginner1 14.5.2014, 17:37 |
| Просто я недавно начала изучать php. и у меня буквально 2 недели осталось, чтобы написать программу и отчет по ней. ну точнее диплом написать. Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/подсчет-правильных-и-не-правильных-ответов-в-тесте-id536e0d07ae2015573c8b4567#findElement_E7045_53737fb1ae20154336f21d61_0 |