php - mysql(在一行中添加多个值)android 应用程序

标签 php android mysql sql-server

我正在尝试在我的 android 应用程序中创建一个连接到 mysql 的函数并执行以下操作:

我的数据库中有两个表:

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 ;

这个想法是用户类型=讲师将添加类(class),用户类型=学生将加入该类(class),许多学生将加入许多类(class),并且任何类(class)都会有很多学生,现在我的功能称为我的类(class),当学生点击它时,它会给他一个他加入的所有类(class)的列表,那么我如何在我的中做到这一点>php 脚本?

抱歉我的英语不好:)

提前致谢

最佳答案

正如 Mohamed 提到的,您的数据库中需要多对多关系。这意味着您需要一个中间表。我们将其称为 users_courses 表。

该表至少需要两个字段:

  1. uid - 它用作用户表的外键。
  2. course_id - 用作类(class)表的外键。

每当用户添加类(class)时,都会添加一条记录,分别包含用户 ID 和类(class) 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>

关于php - mysql(在一行中添加多个值)android 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26618547/

相关文章:

php - $var = null 和 unset($var) 的区别

php - HYDRATE_SINGLE_SCALAR 在未找到结果时导致 getOneOrNullResult 异常

android - Google Sceneform SDK 到底是什么?

mysql - Fun with MySQL - 如何使用 IN 编写删除语句

javascript - Sequelize 填充关系查询任一表

php - PHP-用于刷新和访问 token 的Exchange授权代码(无cURL)

android - 如何使用 Glide 库将图像和文本直接共享到 Android-java 中的 Whatsapp

android - 应用应用程序范围的主题时,AlertDialog 中的文本颜色不会改变

php - 选择查询的准备语句存在问题

php - MYSQL删除语句删除太多行