Php 如何获取保存在数据库中的变量值?
我将数据保存在mysql数据库中,并在一列中创建模板html标记。现在我想用php显示模板数据,但它不起作用 MYSQL数据库图像单击“听到”以显示数据库 控制器Php 如何获取保存在数据库中的变量值?,php,codeigniter,Php,Codeigniter,我将数据保存在mysql数据库中,并在一列中创建模板html标记。现在我想用php显示模板数据,但它不起作用 MYSQL数据库图像单击“听到”以显示数据库 控制器 class Project extends CI_Controller{ function template(){ $query = $this-db->query("select * from templete where id='11' "); $result = $query-&
class Project extends CI_Controller{
function template(){
$query = $this-db->query("select * from templete where id='11' ");
$result = $query->result_array();
$data['result'] = $result[0];
$this->load->view('template_view',$data);
}
}
看法
我想要输出
HSPG.OL
Sparebankgården
Bjørkelangen
http://www.hsbank.no
模板数据动态
已经过去了
<p>{$ticker}</p><p>{$address1}</p><p>{$address2}</p><p>{$city}</p><p>{$phone}</p><p>{$website}</p>
{$ticker}{$address1}{$address2}{$city}{$phone}{$website}
或
{$ticker}{$address1}{$address2}{$city}
任何一个帮助,我都会用完整的编码第二次发布这个问题。虽然Codeigniter作为一个框架并不会阻止您或限制您停留在MVC边界内,但我们非常感谢您这样做,这是一个很好的实践 最佳实践 创建一个模型并将查询放入该模型中的函数中。呼叫 该函数在控制器中,获取数组/对象中的数据 然后将它发送到视图,这就是MVC应该是什么样子 在您的例子中,您使用php extract()函数从$result数组中获取数据,虽然它做得很好,但打印的不是正确的索引 对于php提取信息 因此,与其打印$template_数据,不如使用以下命令:
<html>
<head></head>
<body>
<?php
extract($result);
echo $ticker.'<br>';
echo $address1.'<br>';
echo $city.'<br>'; // and so on
?>
</body>
</html>
此代码有很多错误。您不应该从数据库中获取模板数据,数据库应该在视图中。您可能应该从表中删除template_数据列
class Project extends CI_Controller{
function template(){
$query = $this-db->query("select * from templete where id='11' ");
$data['result'] = $query->result_array();
$this->load->view('template_view',$data);
}
}
视图:
<html>
<head></head>
<body>
<?php echo $result['ticker']; ?>
<?php echo $result['address1'] . ' ' . $result['address2']; ?>
<?php echo $result['city']; ?>
<?php echo $result['phone']; ?>
<?php echo $result['website']; ?>
?>
</body>
</html>
?>
php extract函数正在执行它应该执行的操作。它显示了你在表格中的内容点击这里->数组([template_data]=>“{$ticker}{$address1}{$address2}{$city}{$phone}{$website}[date]=>2017-03-01[ticker]=>HSPG.OL[address1]=>Sparebankg.rden[address2]=>=>1940[国家]=>挪威[电话]=>[网站]=>[行业]=>货币中心银行[部门]=>金融[全职员工]=>[长期业务摘要]=>)转换为$template\u data$date$ticker等,将数据动态化,将其消失{$ticker}{$address1}{$address2}{$city}{$phone}{$website}或{$ticker}{$address1}{$address2}{$city}不确定如果你读了我的答案,你应该删除模板数据列,这是一个糟糕的做法。你需要的所有数据都在其他列中,你只需要创建一个能正确访问该数据的视图。模板数据动态性已经消失了{$ticker}{$address1}{$address2}{$city}{$phone}{$website}或{$ticker}{$address1}{$address2}{$city}虽然我看不出有什么理由让您的体系结构像这样,但您仍然可以从template_数据列中删除标记,只需将这些值以逗号分隔或空格保存,然后使用提取功能,在视图中使用段落或任何其他样式标记。这将解决您的问题
<html>
<head></head>
<body>
<?php
extract($result);
echo $ticker.'<br>';
echo $address1.'<br>';
echo $city.'<br>'; // and so on
?>
</body>
</html>
class Project extends CI_Controller{
function template(){
$query = $this-db->query("select * from templete where id='11' ");
$data['result'] = $query->result_array();
$this->load->view('template_view',$data);
}
}
<html>
<head></head>
<body>
<?php echo $result['ticker']; ?>
<?php echo $result['address1'] . ' ' . $result['address2']; ?>
<?php echo $result['city']; ?>
<?php echo $result['phone']; ?>
<?php echo $result['website']; ?>
?>
</body>
</html>