Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何获取保存在数据库中的变量值?_Php_Codeigniter - Fatal编程技术网

Php 如何获取保存在数据库中的变量值?

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-&

我将数据保存在mysql数据库中,并在一列中创建模板html标记。现在我想用php显示模板数据,但它不起作用

MYSQL数据库图像单击“听到”以显示数据库

控制器

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>