Php 使用Codeigniter和mysql获取作为列名的行值

Php 使用Codeigniter和mysql获取作为列名的行值,php,mysql,codeigniter,Php,Mysql,Codeigniter,我使用codeigniter和mysql作为数据库。我知道mysql查询可能可以解决问题,但如果有人能用codeigniter查询解决问题,那就太棒了,否则普通的PHP mysql查询也可以工作 我有一个3列的表,它有很多字段,但我在这里展示了4个条目,我不想让一个表有很多列,但只有一行数据。所以我选择了这种风格的桌子,就像有人在这个网站上建议我的那样。 问题是我从来没有用过这种桌子 SettingsID SettingsKey SettingsV

我使用codeigniter和mysql作为数据库。我知道mysql查询可能可以解决问题,但如果有人能用codeigniter查询解决问题,那就太棒了,否则普通的PHP mysql查询也可以工作

我有一个3列的表,它有很多字段,但我在这里展示了4个条目,我不想让一个表有很多列,但只有一行数据。所以我选择了这种风格的桌子,就像有人在这个网站上建议我的那样。 问题是我从来没有用过这种桌子

       SettingsID           SettingsKey        SettingsValue
----------------------------------------------------------------------
          1            |     facebookLink     | facebook.com
          2            |     twitterLink      | twitter.com
          3            |     youtubeLink      | youtube.com
          4            |     googlePlusLink   | googleplus.com
现在,我想运行一个查询,将行返回到列。我在网上搜索并找到了一些解决方案,但我不擅长这种新的查询。 我想这家伙和我有同样的问题,但在他的例子中,他在列中重复了相同的值,其中我的
SettingsKey
的所有值都是唯一的。 下面是类似问题的链接:

我不能理解他的疑问,我不确定这个疑问是否对我有用

请任何人帮助我建立一个查询,以将
SettingsKey
的行值作为列返回。

这应该可以:

<?php
$db = new PDO('mysql:host=localhost;dbname=DBNAME;charset=utf8', USERNAME, PASSWORD);
$stmt = $db->query("SELECT SettingsKey, SettingsValue FROM Settings");
$links = array();
while($row = $stmt->fetch()) {
    $links[$row['SettingsKey']] = $row['SettingsValue'];
}
$db = null;
希望这有帮助

$sql = "
        SELECT SettingsKey, SettingsValue
        FROM Settings
       ";

$q = $this->db->query($sql);
return $q->result_array();
转到控制器

$data['settings'] = $this->model_selection->your_function();
$this->load->view('example', $data);
你的看法如何

<?php if(!empty($settings)): ?>

       <?php foreach($settings as $k => $v): ?>

        //print your staff in here mix with html and go crazy
       <?php endforeach; ?>

<?php endif ?>

//在这里打印您的工作人员与html混合,让您疯狂

那么您想获取每个设置的设置值吗?@Bluedayz Yes,这样我就可以将数据显示在表单中。@SizzlingCode您的预期输出是什么?是的。我可以在codeigniter中轻松地使用该查询,但我不知道如何解释这一点。如果我想在SettingsKey中使用facebookLink的值,并在表单中对其进行回显,该怎么办。像
echo$facebook链接我如何在您的查询中实现这一点?是的。我刚刚在我的项目中完成了设置,工作得非常出色。非常感谢。。。但是我没有使用PDO,所以做了一些更改。那么您使用mysqli吗?那当然是你的选择。我使用mysqli很长一段时间了,但我爱上了PDO:)不,我正在使用带有Smarty模板的CodeIgniter,CodeIgniter是一个PHP框架。我所需要的只是数据库方面的帮助,我不擅长数据库
{{foreach$data as$key=>$row}{{$sKey[$row->settingsKey]=$row->settingsValue}}{{/foreach}}
不,我正在将CodeIgniter与Smarty模板一起使用,CodeIgniter是一个PHP框架。我所需要的只是数据库方面的帮助,我不擅长数据库<代码>{{foreach$data as$key=>$row}{{$sKey[$row->settingsKey]=$row->settingsValue}{{/foreach}}
<?php if(!empty($settings)): ?>

       <?php foreach($settings as $k => $v): ?>

        //print your staff in here mix with html and go crazy
       <?php endforeach; ?>

<?php endif ?>