2014-09-30 3 views
0

У меня есть следующие базы данных:Как получить данные mysql с php?

id | user | grades 
    1 | 1 | 08-09-10; 07-06-08; 05-04-07 
    2 | 3 | 10-09-06; 05-04-03... 

Есть ли способ, чтобы получить это:

id | user | grade1 | grade2 | grade3 | 
1 | 1 | 08 | 09 | 10 | 
2 | 1 | 07 | 06 | 08 | 
3 | 1 | 05 | 04 | 07 | 
4 | 3 | 10 | 09 | 06 | 

для извлечения данных?

THX за помощь.

+0

Я бы сначала спросил, что такое класс, и будет ли когда-нибудь больше 3, также как они соотносятся? таким образом, мы можем предложить лучшую структуру, если это необходимо. – cmorrissey

+0

Да, может быть больше 3, я отправил только образец, есть класс класс тоже. – nmj77

+1

То, что вы желаете, не «нормализовано» –

ответ

0

С отсутствием всех ваших данных и структур таблиц трудно дать вам код для решения вашей проблемы. Также здесь, в SO, вам необходимо предоставить код, который вы попробовали, чтобы мы могли помочь вам исправить. При этом я разбил бы это на 3 таблицы, user_tbl, class_tbl, grade_tbl Это позволит максимально гибко двигаться вперед, а не просто помещать себя в другую ограничительную структуру таблицы.

Структура данных будет выглядеть примерно так, и вы должны использовать INNER JOIN, чтобы вытащить данные обратно вместе.

user_tbl 
    id 
    name 

class_tbl 
    id 
    name 

grade_tbl 
    id 
    user_id 
    class_id 
    grade 

Если пересмотреть свой вопрос с кодом вы пытались и вашей полной структурой данных я буду пересматривать свой ответ, чтобы помочь вам выполнить вашу задачу.

+0

Данные уже находятся в базе данных, таблица имеет следующие строки: Я бы; userid, name, class, signupdate, grades, i'm сделал другую таблицу с этими строками: id; userid, grade1, grade2, grade3, grade4, grade5, таким образом, я могу получить пользователя, который получает 2 или более оценок больше, чем 8 (например). – nmj77

Смежные вопросы