如何从类似wp_options的表中获取数据

时间:2018-11-28 13:02:21

标签: php mysql sql

我网站的参数保存在数据库中的“ jmc_options ”表中,这受到了Wordpress表“ wp_options ”的组织的启发。 我没有使用任何CMS!

option_id   option_name             option_value
1           siteurl                 http://localhost/jalertemacommune
2           home                    http://localhost/jalertemacommune
3           sitename                J'alerte ma Commune
4           sitedescription         La première communauté d'entraide entre habitants.
5           users_can_register      1
6           sitelogo                logo.png
7           maintenance_mode        0
8           maintenance_reason      Aucune information.
9           users_can_login         1
10          users_can_contact       1
11          users_can_submit        1
12          inactive_logout_time    900
13          zone_restriction        0
14          note                    Aucune information actuellement.

但是我面临一个问题,如何利用这些数据将其显示在我的网站上?因此,我试图从“ jmc_options ”中获取数据,并将其另存为常量。

目前,我将此代码用于“ jmc_options ”表中的每个条目。

$q = $db->query("SELECT option_value AS 'sitename' FROM jmc_options WHERE option_name = 'sitename';");
while ($data = $q->fetch())
{
    define('WEBSITE_NAME', $data['sitename']);
}
$q->closeCursor();

(我知道这段代码不一定正确)。 我认为绝对有一种更清洁的方法可以执行此操作,但是我不知道该怎么做...是否可以有一个示例来简化此过程?我想从该表中检索所有数据,并避免进行大量查询。

1 个答案:

答案 0 :(得分:0)

使用option_name列作为常量的名称,使用option_value列作为常量的值。

$q = $db->query("SELECT * FROM jmc_options;");
while ($data = $q->fetch())
{
    define(strtoupper($data['option_name']), $data['option_value']);
}
$q->closeCursor();

这还将使您能够向表中添加另一个变量,并立即在代码中开始使用它。