动态显示结果

时间:2017-03-21 18:24:43

标签: php sql codeigniter

我有桌子'产品'。列是' id'和' product_name'现在,如何使用codeigniter设置这样的URL?

本地主机/产品/信息/苹果iphone-7-50064584

现在,产品名称为Apple Iphone 7,ID为50064584.如何组合它们并动态显示结果?

3 个答案:

答案 0 :(得分:1)

本指南假设您使用的是Apache Web服务器。

第1步:删除index.php

打开/application/config/config.php

改变这个......

$config['index_page'] = 'index.php';

对此...

$config['index_page'] = '';

保存文件。

第2步:添加.htaccess文件

使用以下内容在与主index.php文件相同的目录中创建.htaccess文件...

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

保存文件。

第3步:配置Apache

找到您的Apache配置文件(httpd.conf)。对我来说,它位于/etc/httpd/conf/httpd.conf

确保在加载mod_rewrite的指令之前没有注释。

例如,如果你看到这个......

#LoadModule rewrite_module modules/mod_rewrite.so

将其更改为此...

LoadModule rewrite_module modules/mod_rewrite.so 

保存文件。

重启apache以使更改生效。

第4步:创建控制器

在/ application / controllers /目录中创建一个新的PHP文件,并将其命名为Products.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Products extends CI_Controller
{

    public function detail($id)
    {

        // Retrieve The Product From The Database
        $this->db->from('products');
        $this->db->where('id', $id);
        $query = $this->db->get();

        // Product Found
        if($query->num_rows() == 1)
        {

            $product = $query->row();

            // Pass The Product Details To The Product Details View Page And Display The Page
            $this->load->view('product-details', $product);

        // Product Not Found
        } else {

            // Display 404 Page
            show_404();

        }

    }

}

保存文件。

第6步:创建您的查看文件

在/ application / views /目录中创建一个新的PHP文件,并将其命名为product-details.php

<?php defined('BASEPATH') OR exit('No direct script access allowed'); ?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title><?php echo $product_name; ?></title>
</head>
<body>

    <h1><?php echo $product_name; ?></h1>

    <!-- Add the rest of your HTML here -->

</body>
</html>

保存文件。

第7步:设置您的路线。

将您要使用的网址映射到“产品”控制器的“详细信息”方法。

打开/application/config/routes.php

添加以下行...

$route['product/details/(:any)-(:num)']  = 'products/detail/$2';

保存文件。

在浏览器中输入以下网址:http://localhost/product/details/apple-iphone-7-50064584

瞧!

答案 1 :(得分:0)

本地主机/产品/信息/苹果iphone-7-50064584

域/应用程序的名字/控制器/方法/参数

class Details {

  function show($name, $id) {
       $this->load->view('hello);
  }
}

会生成一个类似&#34; localhost / product / details / $ product / $ id&#34;如果您删除了&#39; index.php&#39;您的配置文件。

答案 2 :(得分:0)

对不起伙伴。看起来你的问题有点“宽泛”。

为了正确回答,我会写一个完整的教程。

你在哪里遇到问题?查询,活动记录,URI段?...