Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (20) 1 2 [3] 4 5 ... Последняя » ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> Простой тест на PHP
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5489
Пользователь №: 35718
На форуме: 4 года, 13 дней
Карма: 167




inpost, тебе надо подружить голову с глазами :D
вот так ТС хочет выбрать следующий вопрос
if(isset($_POST['plus'])){
$load_test =++ $_SESSION['count'];
}

я сказал что так нельзя, правда не сказал почему, хотя много намекал в теме


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Цитата (inpost @ 15.11.2015 - 20:19)
maruo
Цитата
Как мне это сделать через кнопку след 'вопрос'

Тебе надо подружить голову с руками (не обижайся, я не грублю). Допустим, у тебя в $_SESSION['count'] содержится номер вопроса, на который идёт ответ. Ты это понимаешь? Вроде да, а в коде написано:

$load_test = 1;

Почему работаешь с ТЕСТОМ 1 постоянно? Потому что руки написали это, хотя голова тебе в 100 раз намекает, что твой номер вопроса содержится в $_SESSION['count'];

Вот же:
$result = mysql_query("SELECT * FROM game WHERE id='$load_test'",$db) or die(mysql_error());

Ты выбираешь $load_test = 1;, то есть единицу постоянно...

это то я уже понял, сейчас другую задачу мне задали. Это нормализация бд по 3м нормалям.

И начал сам себе усложнять задачу.

Тест будет иметь :
Вопрос.
Сложность.
Правильный ответ.
Варианты ответов.(неверные)
Изображение(вопросы будут основываться на изображении)


как теперь это дело реализовать в 3х нормальных формах не понимаю.

Например вопросы будут различаться между собой, по сложности.
Сначала будут выводится легкие, потом нормальные. и в конце сложные.

Думаю создать 3 таблицы. С разными видами сложности.
Например в таблице easy будет:

id вопроса.
сам вопрос
верный ответ
изображение.
И неверные ответы

Но по законам 3NF это не подходит.

И тут еще не понимаю, мне нужно например выводить 3 неверных ответа и 1 верный.

Но иметь 3 неверных ответа в таблице будет не логично . Т.к проходя каждый раз тест можно методом перебора ответить.

Значит мне нужно иметь в неверных ответах не 3 ответа. А штук 10 хотя бы. и выводились они рандомно( с рандомным выводом проблемы нет)

Да и еще вывод рандомных вопросов. Не по порядку. А значит без разновидности таблиц по сложности не обойтись.

Вот и ступор.

Это сообщение отредактировал maruo - 15.11.2015 - 20:58
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5489
Пользователь №: 35718
На форуме: 4 года, 13 дней
Карма: 167




Цитата (maruo @ 15.11.2015 - 19:54)
Вот и ступор.


Цитата (maruo @ 15.11.2015 - 19:54)
И начал сам себе усложнять задачу.


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


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Чувствую Но чем были прохи эти таблицы раз вы задали мне 3NF

user posted imageuser posted image

Это сообщение отредактировал maruo - 15.11.2015 - 21:07
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




 $db = mysql_connect("localhost","testuser","12345");
mysql_select_db('gameshop');
$result = mysql_query("SELECT * FROM game WHERE id='1'",$db) or die(mysql_error());//выбираем 5й вопрос.
$myrow = mysql_fetch_array($result);
$result_valid = mysql_query("SELECT * FROM valid_answer WHERE id='5'",$db) or die(mysql_error());//выбираем ответ на 5й вопрос.
$myrowl = mysql_fetch_array($result_valid);

И выборка у меня была такая.
Где в $myrow я хранил id вопрос и 4 варианта ответа. Где 1 из них был верным
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5489
Пользователь №: 35718
На форуме: 4 года, 13 дней
Карма: 167




Цитата (maruo @ 15.11.2015 - 20:01)
Но чем были прохи эти таблицы

трудно выиграть 100 метровый забег отпилив себе ноги перед стартом...
так и с таблицами, неправильно организованная таблица влечёт за собой все остальные проблемы


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Цитата (Valick @ 15.11.2015 - 21:06)
Цитата (maruo @ 15.11.2015 - 20:01)
Но чем были прохи эти таблицы

трудно выиграть 100 метровый забег отпилив себе ноги перед стартом...
так и с таблицами, неправильно организованная таблица влечёт за собой все остальные проблемы

А чего там не верного?
по 1nf она подходила.Вроде)
Ну разве что можно было добавить еще 1 таблицу с неправильными ответами.
И тогда б она уже приближалась ко 2NF и более то для такой простой задачи и не надо,Я так вычитал)

Это сообщение отредактировал maruo - 15.11.2015 - 21:11
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 720
Пользователь №: 37872
На форуме: 3 года, 4 месяца, 7 дней
Карма: 21




Как мне кажется, хотя я могу ошибаться но в Вашем случае подходит больше следующий вариант таблицы :
1 id - id вопроса
2 question - сам вопрос
3 valid_a - правильный ответ
4 not_valid_1 - вариант ответа 1
5 not_valid_2 - вариант ответа 2
5 not_valid_3 - вариант ответа 3
Создавать таблицу с неправильными ответами не имеет смысла, так как в ней должны отсутствовать правильные ответы на все Ваши вопросы а если вопросов 1000 что тогда ?. А если там будут правильные варианты ответов, то есть шанс, что при рандомном выводе у Вас будет 2 правильных ответа. Вот как то так!


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Цитата (arbuzmaster @ 15.11.2015 - 22:45)
Как мне кажется, хотя я могу ошибаться но в Вашем случае подходит больше следующий вариант таблицы :
1 id - id вопроса
2 question - сам вопрос
3 valid_a - правильный ответ
4 not_valid_1 - вариант ответа 1
5 not_valid_2 - вариант ответа 2
5 not_valid_3 - вариант ответа 3
Создавать таблицу с не правильными ответами не имеет смысла, так как в ней должны отсутствовать правильные ответы на все Ваши вопросы а если вопросов 1000 что тогда ?. А если там будут правильные варианты ответов, то есть шанс, что при рандомном выводе у Вас будет 2 правильных ответа. Вот как то так!

поэтой форме ты не проходишь по 1NF в том и проблема)

В правиле 1NF нельзя создавать одинаковые столбы.
Т.е not_valid_1,2,3,4,5,6,7,8,

Это сообщение отредактировал maruo - 15.11.2015 - 22:48
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
arbuzmaster  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 720
Пользователь №: 37872
На форуме: 3 года, 4 месяца, 7 дней
Карма: 21




Если соблюдать 1NF то тогда Вам нужно
Создать три таблицы:
Первые две у Вас уже есть а третья будет со всеми вариантами ответов и тогда при выводе неправильных ответов Вы просто будете отсекать правильный, вот и все. Это конечно если у Вас условие что все таблицы должны быть ПНФ. То есть делать
выборку из БД ответов с условиeм WHERE not_valid не равно valid_a


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Цитата (arbuzmaster @ 15.11.2015 - 22:57)
Если соблюдать 1NF то тогда Вам нужно
Создать три таблицы:
Первые две у Вас уже есть а третья будет со всеми вариантами ответов и тогда при выводе неправильных ответов Вы просто будете отсекать правильный, вот и все. Это конечно если у Вас условие что все таблицы должны быть ПНФ. То есть делать
выборку из БД ответов с условиeм WHERE not_valid не равно valid_a

ВОт на 3й таблице у меня сейчас бошка уже не соображает, как ее создать и с какими полями.
Ну будут там варианты ответов неверные.
Но какие будут другие поля?
И по сути дела дожны быть внешние еще ключи я так понял.
А с этим у меня вообще большие проблемы, про внешние ключи я только сегодня часа 2 назад узнал)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5489
Пользователь №: 35718
На форуме: 4 года, 13 дней
Карма: 167




arbuzmaster, ошибаешься. Всего надо две таблицы.



--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 324
Пользователь №: 37433
На форуме: 3 года, 6 месяцев, 19 дней
Карма: 1




Цитата (Valick @ 15.11.2015 - 23:16)
arbuzmaster, ошибаешься. Всего надо две таблицы.

Не ну если верный ответ можно занести в таблицу с вопросом.
А неверные ответы в отдельную таблицу.
но их как то связать же надо?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Kusss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1355
Пользователь №: 28976
На форуме: 5 лет, 4 месяца, 4 дня
Карма: 77




Valick
по твоему ТЗ
Цитата
Для вопроса который храниться в БД, может быть неограниченное количество ответов. Количество правильных ответов так же не ограничено.
Получается 3 таблицы
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Valick  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 5489
Пользователь №: 35718
На форуме: 4 года, 13 дней
Карма: 167




maruo, таблица arbuzmaster соответствует 1нф. Но не соответсвует 2 нф.


--------------------
wmr - R281553014107
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (20) 1 2 [3] 4 5 ... Последняя » Ответ в темуСоздание новой темыСоздание опроса