Как получить json массив

Статус
В этой теме нельзя размещать новые ответы.

Dimaz

Новичок
Приветствую всех. В базе данных есть поле "answers", содержащее строку: Zlaty Bazant, Baltika 3.
Используя функцию json_encode получаю вот такой json:
{"answers": "Zlaty Bazant, Baltika 3"}
Но мне нужно вставить в браузер элементы input type="radio". Примерно вот так:
PHP:
<input type="radio" name="drink" value="1"> Zlaty Bazant<Br>
   <input type="radio" name="drink" value="2"> Baltika 3<Br>
Как это сделать если объект "answers" содержит обычную строку, а мне нужен вот такой массив json:
{"answers": [{"beer1": "Zlaty Bazant", "beer2": "Baltika 3"}]}
Как это можно сделать?
 

WMix

герр M:)ller
Партнер клуба
а мне нужен вот такой массив json:
{"answers": [{"beer1": "Zlaty Bazant", "beer2": "Baltika 3"}]}
Как это можно сделать?
PHP:
echo json_encode( array(
    'answers'=>array( 
        array("beer1"=> "Zlaty Bazant", "beer2"=>"Baltika 3")
    )
));
 

Фанат

oncle terrible
Команда форума
Это значит, что в базе у тебя данные лежат неправильно.
они должны лежать не в одной строке, Zlaty Bazant, Baltika 3, а в двух разных. В отдельной таблице
 

Dimaz

Новичок
Это значит, что в базе у тебя данные лежат неправильно.
они должны лежать не в одной строке, Zlaty Bazant, Baltika 3, а в двух разных. В отдельной таблице
Так это варианты ответов. Я думаю не очень разумно для каждого варианта ответа создавать отдельную строку. В одной строке у меня должно быть 3 поля. Первое поле содержит id теста, второе содержит список вопросов, а третье список ответов.
Для каждого теста создавать отдельную таблицу как-то не очень.)
 

WMix

герр M:)ller
Партнер клуба
возможно так и не разумно, а для каждого ответа строку разумно!
Для каждого теста создавать отдельную таблицу как-то не очень.)
так никто и не предлагает
 

Фанат

oncle terrible
Команда форума
Для каждого теста создавать таблицу и не надо.
Таблица нужна для ответов.

Для опросов нужно три таблицы
Таблица опросов.
Таблица вопросов (так же в ней хранится айди привального ответа)
Таблица ответов.
 

Dimaz

Новичок
Кажется я придумал. Раз json объект "answers" содержит обычную строку, можно воспользоваться JS методом split, для преобразования строки в массив. То есть сделать так:
var y = data.answers.split(',');
Этот метод принимает разделитель, по которому нужно разбить строку. Так как в строке марки пива перечислены через запятую, ставим ее в качестве разделителя. Теперь у нас есть массив, содержащий марки пива:)
 

Фанат

oncle terrible
Команда форума
охохох.
я не знаю, как ты понял, но в таблице ответов каждый ответ должен быть на своей строчке.
еще на этой строчке должен быть идентификатор опроса и идентификатор вопроса.
 

WMix

герр M:)ller
Партнер клуба
- Доктор, у меня член кривой. Что мне делать?!
- (хотя я придумал, мне надо) Искать женщину с загибом матки.
 

craz

Нестандартное звание
- Доктор, у меня член кривой. Что мне делать?!
- (хотя я придумал, мне надо) Искать женщину с загибом матки.
- Доктор понимаете у меня такое ощущение, что у меня не растет член...
-Так вы же женщина у вас не должно быть члена!
-КАК Я ЕЩЕ И ЖЕНЩИНА!?
 

WMix

герр M:)ller
Партнер клуба
craz
тихо, это live конференция... а вдруг поймет?
 

WMix

герр M:)ller
Партнер клуба
не хочется чтоб поудаляли фсе... фанат старался....
 

Dimaz

Новичок
Я не понимаю вашей реакции. Какая разница сделаю я этот массив на сервере или на клиенте? Вместо того чтобы стебаться тут, ответили бы лучше по существу. Если конечно есть что ответить.
Зачем делать кучу таблиц и строк если все тесты можно хранить в одной таблице. Таблица с названием "Tests", в ней поля id_test(идентификатор теста), questions(список вопросов), answers(список ответов). В каждой строке содержится по одному тесту. На клиенте загружаем нужный тест по его id и создаем массив из строк.
А теперь объясните мне дураку, чем же так плох мой метод. Обоснуйте пожалуйста.
 

craz

Нестандартное звание
не хочется чтоб поудаляли фсе... фанат старался....
Так Фанат не трожь! Он жеж и есть пхпклаб по сути(я не ерничаю и не шучу)! Надо удалит) Мне не дали модера - я не адекват. Они адекваты не спорь! - Блин я реально без сарказма... просто часто так пишу с сарказмом что могу и не понять же...
 

craz

Нестандартное звание
Я не понимаю вашей реакции. Какая разница сделаю я этот массив на сервере или на клиенте? Вместо того чтобы стебаться тут, ответили бы лучше по существу. Если конечно есть что ответить.
Зачем делать кучу таблиц и строк если все тесты можно хранить в одной таблице. Таблица с названием "Tests", в ней поля id_test(идентификатор теста), questions(список вопросов), answers(список ответов). В каждой строке содержится по одному тесту. На клиенте загружаем нужный тест по его id и создаем массив из строк.
А теперь объясните мне дураку, чем же так плох мой метод. Обоснуйте пожалуйста.
Так нельзя делать - ... тут не понятного? Тебе сказали как сделать, не вступай в полемику садись и делай.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху