Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: При сравненни с 2 таблиц показывает разные результаты
 
 автор: mr-vans   (02.03.2012 в 17:19)   письмо автору
37 Кб
 
 

У меня система тестов.
При сравнении правильного ответа и ответа пользователя, данные не сходятся.
в чем грабли, не могу понять.

  Ответить  
 
 автор: Valick   (02.03.2012 в 17:22)   письмо автору
 
   для: mr-vans   (02.03.2012 в 17:19)
 

а что пользователь вводит ответ печатными буквами?
обычно в тестах выбирают из списка предложенных

  Ответить  
 
 автор: mr-vans   (02.03.2012 в 17:28)   письмо автору
 
   для: Valick   (02.03.2012 в 17:22)
 

Пользователь путем "Клика составляет предложение из предложенных слов"

  Ответить  
 
 автор: Valick   (02.03.2012 в 17:31)   письмо автору
 
   для: mr-vans   (02.03.2012 в 17:28)
 

даже в этом случае лучше не работать с текстом, а завязать на id этих слов
вы скрипт сами писали или это приобретённое?

  Ответить  
 
 автор: mr-vans   (02.03.2012 в 17:34)   письмо автору
 
   для: Valick   (02.03.2012 в 17:31)
 

Я сам пишу
В текстовое поле формата TEXTAREA readonly попадают слова на которые кликают.
Данные же идентичны. 1 в 1.

Если я еще придумаю массив слов то клиент мой повесится)
сейчас и так много этапов
Тест -> Часть -> Группа вопросов -> Вопросы -> Варианты ответов

  Ответить  
 
 автор: Valick   (02.03.2012 в 17:53)   письмо автору
 
   для: mr-vans   (02.03.2012 в 17:34)
 

ну и зря :)
при подходе с id можно использовать не только текст, но и картинки (и даже звуки :) )

  Ответить  
 
 автор: mr-vans   (02.03.2012 в 18:28)   письмо автору
 
   для: Valick   (02.03.2012 в 17:53)
 

У меня эти возможности тоже есть)

  Ответить  
 
 автор: cheops   (02.03.2012 в 17:23)   письмо автору
 
   для: mr-vans   (02.03.2012 в 17:19)
 

У кого-то лишниий пробельный символ в конце, попробуйте ответ пользователя пропустить через trim(), перед сравнением.

  Ответить  
 
 автор: mr-vans   (02.03.2012 в 17:27)   письмо автору
 
   для: cheops   (02.03.2012 в 17:23)
 

Пробовал TRIM
и через mysql, и через PHP
Не помогает

  Ответить  
 
 автор: cheops   (02.03.2012 в 17:36)   письмо автору
 
   для: mr-vans   (02.03.2012 в 17:27)
 

Попробуйте обе строки через MySQL-вариант TRIM() прогнать... если в одном 60 символов, а в другом 61 - нужно искать этот лишний символ.

  Ответить  
 
 автор: Valick   (02.03.2012 в 17:44)   письмо автору
 
   для: cheops   (02.03.2012 в 17:36)
 

а если там не пробел, а какой либо другой служебный символ?

  Ответить  
 
 автор: cheops   (02.03.2012 в 17:49)   письмо автору
 
   для: Valick   (02.03.2012 в 17:44)
 

TRIM() по умолчанию должен любой пробельный символ резать, но если не выходит, размеры, конечно, лучше проверить и после применения TRIM(). Главное, понятно, куда копать, в конце концов строки можно и посимвольно просеять в поисках несоответствия.

  Ответить  
 
 автор: mr-vans   (02.03.2012 в 20:18)   письмо автору
37.6 Кб
 
   для: cheops   (02.03.2012 в 17:36)
 

Пробовал непомогло

  Ответить  
 
 автор: cheops   (02.03.2012 в 20:41)   письмо автору
 
   для: mr-vans   (02.03.2012 в 20:18)
 

Попробуйте заменить вот этот фрагмент
trim(a.check_answer)
на
trim(TRAILING '\r' FROM a.check_answer)
ситуация не меняется?

PS В качестве крайнего способа можно взять, то вариант, который введен пользователем и заменить им строку в базе данных. Вы базу данных как заполняли (участвовала ли в этом PHP-функция file())?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования