Вот что получилось
Про это вы твердили?
Цитата (maruo @ 15.11.2015 - 23:31) |
А вот как в phpmyadmin это сделать будет идентично? |
Цитата (maruo @ 15.11.2015 - 23:31) |
Надо будет question_id соединить с id_qiestion с первой таблицы? что мне это даст? |
Цитата (Valick @ 16.11.2015 - 08:06) | ||||
Командная строка для администраторов, phpmyadmin для программистов.
Это даст то, что таблицы будут связаны, без этого невозможно работать с данными на уровне СУРБД. Правильность ответа на вопрос можно будет проверить всего одним SQL запросом к базе данных. И более того, правильность любого количества ответов можно проверить всего одним (этим же) SQL запросом. Вы просто пока не понимаете, что по части обработки данных РНР (скриптовый, но по сути императивный язык) и рядом не стоит с MySQL (декларативный язык). |
Цитата (maruo @ 16.11.2015 - 10:01) |
Ну я так понял командную строку все равно придется изучать. |
Цитата (maruo @ 16.11.2015 - 11:34) |
Да и потом решил я вывести все данные из таблицы ответов где q_id который якобы связал по 1 идентификатору |
Цитата (maruo @ 16.11.2015 - 11:34) |
Или я плохо ищу |
Цитата (Valick @ 16.11.2015 - 14:28) | ||||
Для начала можно отказаться от INNODB в пользу MyISAM где поняте внешнего ключа условное и БД ничего не делает за вас.
подкрепляйте вопрос запросом, лучше один раз увидеть запрос, чем сто раз его описывать словами :) По поводу цикла, при работе с БД возмите за правило, что циклов нет в природе. Как только у вас появляется желание сделать ту или иную выборку с помощь. цикла, у вас как у собаки павлова должна загораться лампочка в голове, и вы должны вспомнить мои слова и понять что вы на ложном пути.
Вы просто еще не знаете точно что нужно искать, и это нормально. Начинать всегда тяжело. |
$result = mysql_query("SELECT * FROM question WHERE q_id='1'",$db) or die(mysql_error());
$myrow = mysql_fetch_array($result);
$result_ans = mysql_query("SELECT * FROM answer WHERE q_id='1'",$db) or die(mysql_error());
$myrow_ans = mysql_fetch_array($result_ans);
Цитата (maruo @ 16.11.2015 - 13:55) |
Вот и проблема вся, не получается вывести выводится только 1 строка |
Цитата (Valick @ 16.11.2015 - 16:34) | ||
вы получаете только первую строку из результирующего набора mysql_fetch_array() должен быть в цикле |
$result_ans = mysql_query("SELECT * FROM answer WHERE q_id='1'",$db) or die(mysql_error());
if($result_ans){
if(mysql_num_rows($result_ans)>0){
while($myrow_ans = mysql_fetch_array($result_ans){
echo '<pre>';
print_r($myrow_ans);
echo '</pre>';
}
}
}
while($myrow_ans = mysql_fetch_array($result_ans)){
Цитата (Valick @ 15.11.2015 - 23:37) |
одна сущность - одна таблица |
Цитата (Razzwan @ 16.11.2015 - 17:07) |
в моем сознании правильный ответ и неправильный вариант - это разные сущности |
Цитата (Razzwan @ 16.11.2015 - 17:07) |
Например, у правильного ответа может быть еще столбец с объяснением, почему этот ответ правильный. |
Цитата (Razzwan @ 16.11.2015 - 17:07) |
Есть еще одно преимущество: в момент формирования вопросов мы никак не можем узнать, какой ответ правильный - потому как указатель на правильный вариант хранится в отдельной таблице. |
Цитата (maruo @ 16.11.2015 - 14:55) |
Допустим. ищу не могу найти информацию по внешнему ключу. Везде описываю где применяют их как создать связь.А о том как вывести из таблицы ни слова ни строки кода. |
Цитата (Valick @ 16.11.2015 - 18:18) |
> Цитата (Razzwan @ 16.11.2015 - 17:07) > Например, у правильного ответа может быть еще столбец с объяснением, почему этот ответ правильный. а у неправильных ответов этот же столбец может объяснять почему этот ответ не правильный |
Цитата (Valick @ 16.11.2015 - 18:18) |
> Цитата (Razzwan @ 16.11.2015 - 17:07) > Есть еще одно преимущество: в момент формирования вопросов мы никак не можем узнать, > какой ответ правильный - потому как указатель на правильный вариант хранится в отдельной таблице. а этот перл я оставлю без комментария |