从数据库生成页面

时间:2009-07-05 19:02:47

标签: database login friendly-url inventory

我正在寻找一些帮助,了解如何从数据库生成页面以创建项目目录,每个项目都有不同的URL。我似乎通过谷歌找到的所有产品都将为我做这个,或完整的电子商务解决方案。我不想要购物车!只是一个库存。

此外,也许有人可以推荐他们最喜欢的/最简单的登录解决方案。

非常感谢您的时间和任何帮助,建议,意见和解决方案。

2 个答案:

答案 0 :(得分:1)

我刚刚发布了一个与此问题密切相关的another question完整解决方案。为方便起见,我会在此重新发布:


我建议使用一些MVC(模型,视图,控制器)框架,如KohanaPHP。基本上就是这个。您正在严格的面向对象的环境中工作。 Kohana中的一个简单页面完全由一个类构建,如下所示:

class Home_Controller extends Controller
{
  public function index()
  {
    echo "Hello World";
  }
}

然后,您将通过访问您的网址,类名称和方法名称来访问该网页:

http://www.mysite.com/home/ index()可以在home /之后调用,但它是隐含的

当您开始想要引入数据库活动时,您将开始使用另一个名为Model的类。这将包含与数据库交互的方法,如下所示:

class Users_Model extends Model
{
  public function count_users()
  {
    return $this->db->count_records('users');
  }
}

请注意,我没有编写自己的查询。 Kohana带有直观的Query Builder

将从Controller内部调用该方法,这是我们在此解决方案开头提到的第一个类。这看起来像这样:

class Home_Controller extends Controller
{
  public function index()
  {
    $usersModel = new Users_Model;
    $userCount = $usersModel->count_users();

    echo "We have " . $userCount . " users!";
  }
}

最终,您需要更复杂的布局,这将涉及HTML / CSS / Javascript。此时,您将引入“Views”,它们只是表示层。您不会在Controller中调用echoprint,而是加载视图(基本上是HTML页面)并将其传递给某些变量:

class Home_Controller extends Controller
{
  public function index()
  {
    $myView = new View("index");
    $usersModel = new Users_Model;
    $userCount = $usersModel->count_users();

    $myView->userCount = $userCount;
    $myView->render(TRUE);
  }
}

哪会加载以下“查看”​​

<p>We have <?php print $userCount; ?> users!</p>

这应该足以让你入门。使用MVC风格非常干净,使用非常有趣。

答案 1 :(得分:0)

有很多工具可以围绕数据模型生成Web界面。我发现Django非常容易使用。基于它的受欢迎程度,我确信Ruby on Rails是另一个可行的选择。