2014-10-28 71 views
0

我试图在我的Android应用程序的功能,连接到MySQL并执行以下操作:MySQL的(在一行中添加多个值)Android应用

我在我的DB两个表:

CREATE TABLE IF NOT EXISTS `courses` (
`course_id` int(11) NOT NULL, 
    `course_name` varchar(20) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; 

和:

CREATE TABLE IF NOT EXISTS `users` (
    `uid` int(11) NOT NULL, 
    `unique_id` varchar(23) NOT NULL, 
    `firstname` varchar(50) NOT NULL, 
    `lastname` varchar(50) NOT NULL, 
    `dept` varchar(20) NOT NULL, 
    `email` varchar(100) NOT NULL, 
    `encrypted_password` varchar(80) NOT NULL, 
    `salt` varchar(10) NOT NULL, 
    `created_at` datetime DEFAULT NULL, 
    `type` varchar(20) NOT NULL 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=18 ; 

的想法是user type = instructor将增加一门课程和T他user type = student将参加课程,许多学生将参加很多课程,任何课程都会有很多学生,现在我的功能被称为my courses是,当学生点击它时,它会给他一个他加入的所有课程的列表,所以我如何在php脚本中做到这一点?

对不起我的英语不好:)

在此先感谢

回答

1

正如Mohamed所说,您需要在数据库中建立多对多的关系。这意味着你需要一个中间表。我们称之为users_courses表。

至少,此表将需要两个字段:

  1. UID - 这将作为一个外键的用户表。
  2. course_id - 这是课程表的外键。

每当用户添加一个课程时,记录将分别与用户和课程id一起添加。访问数据

一种方式是通过连接语句:

SELECT <fields you need> 
FROM users 
INNER JOIN users_courses 
ON users.uid = users_courses.course_id 
INNER JOIN courses 
ON users_courses.course_id = courses.course_id 
WHERE <your conditions> 
+0

非常感谢,真的帮助了我 – 2014-10-28 21:46:51

0

多对多的关系

并使用内部连接在您的SQL查询。

+0

非常感谢为快速响应但你可以更具体 ? – 2014-10-28 21:27:26