gpt4 book ai didi

php - 如何使用数组和条件获取表值

转载 作者:行者123 更新时间:2023-11-29 14:15:47 25 4
gpt4 key购买 nike

我正在学习并决定制作一个具有后端和前端的 CodeIgniter 应用程序用于学习目的,我遇到了以下疑问。你想从数据库中的表中获取所有数据并放入一个数组中,然后当第1列的值等于我确定的值时,我想在第2列中显示数据。

为了更好地说明我将给出的示例,请查看下表。

ID      Option              Value
1 site_name Test
2 site_description Example of description site.
3 site_url http://www.example.com
4 site_author John Doe
5 site_lang en

现在假设我想在标签内的页面上显示此数据,例如我将使用“site_name”,对于网站的描述将是“site_description”等等。最好的方法是什么?

PS:我正在使用 ORM Datamapper 这个应用程序,有什么方法可以简化使用它的操作吗?

最佳答案

你的问题非常不清楚 - 如果我解释正确的话,并且如果你使用 Datamapper ORM你会这样做:

您的 Controller - controllers/sites.php :

<?php
class Sites extends CI_Controller{
function __construct(){
parent::__construct();
}

function get($id){
$s = new Site($id);
$data['site'] = $s->to_array();
$this->load->view('sites', $data);
}
}

您的模型 - site.php:

<?php
class Site extends Datamapper{
function __construct($id){
parent::__construct($id);
}
}

默认情况下,Datamapper ORM 不支持 to_array()方法,您必须启用它。进入config/datamapper.php并修改最后一个'extensions'数组元素为:$config['extensions'] = array('array');

最后,在您看来 - views/sites.php :

<table>
<thead>
<tr>
<th>ID</th>
<th>Option</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<? foreach($sites as $sK => $sV):?>
<tr>
<td><?= $sV['id'];?></td>
<td><?= $sV['option'];?></td>
<td><?= $sV['value']?></td>
</tr>
<? endforeach;?>
</tbody>
</table>

然后输入http://localhost/yourapp/sites/get/<id>进入您的浏览器,其中 <id>实际上是数据库中某个合适的 ID。

发表评论后进行编辑:

如果这些是站点范围的全局变量,我建议不要将它们存储在数据库中。调用数据库来获取这些信息是没有意义的。只需将其嵌入到您的 PHP 中即可。我这样做的方法是调用 define()在我的正面顶部index.php文件:

define('TITLE', "Some Title");
define('DEVELOPER', "Your Name");
define('DEVELOPER_EMAIL', 'youremail@example.com');

然后您就可以在应用程序中的任何位置使用这些内容。只需调用 <?= TITLE; ?>例如,将回显“Some Title”。

您还可以考虑使用config/constants.php .

关于php - 如何使用数组和条件获取表值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12715757/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com