小编Web*_*ice的帖子

学校管理系统的数据库规范化

我正在为学校管理系统创建系统,并提出附加的数据库模式.

数据库图http://oi40.tinypic.com/15x21ig.jpg

以下是系统的工作原理:

  1. 一所学校有很多学生和老师.它还教授了许多课程(科目).年级可以分配许多课程.这些课程将分配给该特定年级的学生.
  2. 学生的水平分为等级和部分.学生可以达到五年级,但如果五年级学生数量巨大,他们会分成几个部分.例如:5年级A部分,5年级B部分.
  3. 学生被安置在独特的教室里.整个教室将是独一无二的.2010年的5年级A级课堂将与2011年5年级A级的课堂不同.
  4. 学生被分配到父母.家长可以在学校拥有一名以上的学生.
  5. 可以将一个或多个教室分配给教师.
  6. 学生每天都会参加学生的考试
  7. 会有很多类型的考试.为每个科目(课程)存储考试结果.

我是数据库规范化的初学者,如果有人能给我一些提示,如果数据库看起来不错,我会很高兴.

编辑:

此外,只有一个登录点.在上述情况下,在登录期间,用户必须从下拉列表中选择用户类型.该下拉选择将用于查询相应的表以登录系统.另一种方法是使用一个公用user表,它将存储user_id, email, password, last_login_date, last_login_ip但会将其他细节存储在各自的表中,例如student, parent, teacher.那么,实现它的首选/正确方法是什么?

mysql database-design relational-database database-schema database-normalization

15
推荐指数
1
解决办法
5万
查看次数

Laravel从私有方法重定向

我有一个控制器,有一个方法.代码在方法中太长了,所以我把一些代码放在其他私有方法中,这样方法就变得可以理解,而不会弄乱它.

现在,当我从URL访问公共方法时,根据参数,它将调用特定的私有方法来处理作业.处理作业后,我想重定向到URL,但重定向不起作用.

我的代码示例如下:

class SomeClass extends BaseController{
    public function getMethodName()
        {
            //check the params and choose a private method to call
            $this->processJob();
        }
    private function processJob()
    {
         //process the job and redirect at the end
         return Redirect::to('some/url');
    }
}
Run Code Online (Sandbox Code Playgroud)

问题是,上面的重定向不起作用.这是为什么?在Codeigniter中,当你使用redirect它时,它可以在调用它的地方工作.

如果上面的代码示例不是正确的方法,那么如果有人能告诉我如何完成它,我将不胜感激.谢谢.

php laravel laravel-4

8
推荐指数
1
解决办法
3431
查看次数

Laravel雄辩和复杂的关系

Laravel看起来像一个非常好的PHP框架,捆绑了一个很好的ORM(Eloquent).然而,laravel文档是缺乏的东西.文档中只提供基本内容.

无论如何,当涉及到超过2个模型的Eloquent和模型关系时,我遇到了问题.

例如,我有以下场景.

我有四个数据库表,即:users,locations,users_locations,packages.模型/表格之间的关系如下:

用户可以属于许多位置,反之亦然.一个位置可以有很多包.

我相应的模型关系如下:

//User Model:
public function locations(){
    return $this->belongsToMany('Location', 'users_locations', 'user_id', 'location_id');
}

//Location Model:
public function users(){
    return $this->belongsToMany('User', 'users_locations', 'location_id', 'user_id');
}
public function packages(){
    return $this->hasMany('Package', 'location_id');
}

//Package Model:
public function location(){
    return $this->belongsTo('Location', 'location_id');
}
Run Code Online (Sandbox Code Playgroud)

我想做什么?:我想让所有的软件包都属于用户.用户属于位置,而包也属于位置.因此,从属于用户的所有位置,我想要检索属于用户的那些位置的包.我还希望对结果集进行分页.

我尝试过以下方法:

//get the logged in user ID
$userId = Auth::user()->id
//first get all the locations of the user
$locations= User::with('locations')->find($userId)->locations;
//declare an empty array to store …
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent laravel-4

8
推荐指数
1
解决办法
3456
查看次数

在Ion Auth - Codeigniter中检索用户的组ID

我正在使用Ion Auth作为我的codeigniter应用程序,除了一件事,一切似乎都很好.

我需要显示一个用户列表以及他们所在的组.如何在不创建自己的模型和查询的情况下检索特定用户的组ID.

$this->ion_auth->user($id)->row(); 不检索组ID.

php codeigniter codeigniter-2 ion-auth

6
推荐指数
1
解决办法
1万
查看次数

PHP组织上传的照片

我正在构建一个允许用户上传照片的PHP应用程序.为了使其易于管理,文件夹最多应有5000张照片.每张上传的照片都将在数据库中分配一个ID,照片将重命名为ID.

如何检查某个文件夹是否有5000张照片?我应该检查照片表中最后一行的ID吗?

文件夹应逐步命名.例如.folder_1,folder_2等等.

我建议的步骤:

  1. 检索照片表的最后一个插入ID
  2. (Last_insert_ID + 1)%5000 = Some_number(应保存的文件夹编号)
  3. 将照片保存到folder_some_number.如果文件夹不存在,请创建新文件夹.

或者有更好的方法吗?

php upload file-organization image

5
推荐指数
2
解决办法
1159
查看次数

PHP/MySQL 将总和存储在单独的表中或每次计算

我需要为用户存储积分。每个点都将存储在带有日期的单独行中。现在,当用户打开他的页面时,它将显示他的总积分。

现在要计算总分,我可以想到以下选项:

  1. 每次用户打开他的页面时,计算他在该一张 mysql 表中的所有积分的总和并将其显示给他

  2. 为总点数创建另一个表,每当添加一个点时,计算总和,并将以前的总和值替换为新的总和值。当用户打开他的页面时,它仅访问该总和表中的一行并向他显示该值

  3. 创建一个每天晚上运行的 CRON 作业来计算用户的总积分并将其存储在 (2) 中创建的单独表中

对我来说,选项 2 看起来很有效,但只是想知道这样的事情通常是如何完成的?

php mysql sum

5
推荐指数
1
解决办法
619
查看次数

将变量传递给PHP中的函数

我有以下PHP函数:

 function func_name($name = 'John', $country = 'USA')
  {
  do something;
  }
Run Code Online (Sandbox Code Playgroud)

现在,我尝试将变量传递给函数,如下所示:

func_name($name = 'Jack', $country = 'Brazil');

我知道,我们可以很容易地通过它, func_name('jack', 'Brazil');但是上面的功能只是一个例子。实际的函数大约有20个参数,并且都具有默认值,有些根本没有传递给函数

所以我想知道是否适合作为参数传递参数 func_name($name = 'Jack', $country = 'Brazil');

php arguments function

1
推荐指数
2
解决办法
4301
查看次数

PHP提取文本以句点分隔

我有以下格式的文本:

123232.23

43438282.00

我想将它们提取并存储为两个变量$ dollar和$ cent.

第一个文本的预期结果如下:

$dollar = '123232'

$cent = '23'

如何在PHP 中使用正则表达式实现这一点.

php split

0
推荐指数
1
解决办法
1825
查看次数