質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

Q&A

1回答

2828閲覧

[Codeigniter]URL/セグメントについて

yclin_tagaya

総合スコア27

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

CodeIgniter

CodeIgniterは、PHP向けオープンソースのWebアプリケーションフレームワークです。CodeIgniterは覚える構文が少なく、自由度も高いため、PHPを理解していれば構築が簡単です。

0グッド

0クリップ

投稿2015/07/17 08:46

編集2022/01/12 10:55

また質問させていただきました。
ページングについてですが、

xxx.com/admin/user_list
ページング機能で1ページにつき2人のユーザー情報が表示されるように。
それぞれリンクをつけ、クリックすると詳細ページに飛ばす
という機能を作ってみました。

xxx.com/admin/user_list にある詳細ページURLは
xxx.com/admin/user_detail/$ID となっております。

** $ID はデータベースのAUTO_INCREMENTです**

ただ次のページ、xxx.com/admin/user_list/2 にアクセスすると、
詳細ページURLが xxx.com/admin/user_list/user_detail/$ID になってしまいます。

全ページを xxx.com/admin/user_detail/$ID にしたいですので、
解決策をご教示頂ければ幸いです。
どうぞよろしくお願い致します。

lang

1[config/route.php] 2 3$route['admin/user_list/'] = "admin/user_list"; 4$route['admin/user_detail/(:any)'] = 'admin/user_detail/$1';

lang

1[controller/admin.php] 2 3<?php 4defined('BASEPATH') OR exit('No direct script access allowed'); 5 6class Admin extends CI_Controller { 7 8 public function __construct(){ 9 parent::__construct(); 10 $this->load->helper('url'); 11 $this->load->library('session'); 12 $this->load->database(); 13 $this->load->model('Abstruct'); 14 $this->load->helper('form'); 15 $this->load->library('pagination'); 16 $this->load->library('table'); 17 18 $base_url = base_url(); 19 } 20 21 ・・・ 22 23 public function user_list(){ 24 25 $base_url = base_url(); 26 $of = $this->uri->segment(3); 27 $lim = '2'; 28 $data['records']=$this->db->get('user',$lim,$of)->result_array(); 29 $config['base_url']= $base_url.'/admin/user_list'; 30 $config['total_rows']= $this->db->count_all_results('user'); 31 $config['per_page']= $lim; 32 $config['use_page_numbers'] = TRUE; 33 34 $this->pagination->initialize($config); 35 36 $this->load->view('admin/user_list',$data); 37 } 38 39 public function user_detail(){ 40 41 $id = $this->uri->segment(3); 42 $sql = "select * from user where id = ". $id; 43 $user_detail = $this->db->query($sql); 44 45 $data = array(); 46 $this->table->set_heading('ID', 'FB_NAME', 'TYPE', '直近診断時間'); 47 foreach($user_detail -> result() as $row){ 48 $this->table->add_row( 49 array ( 50 $row -> id, 51 $row -> name, 52 $row -> type, 53 $row -> create_date)); 54 } 55 $data = $this->table->generate(); 56 echo $data; 57 } 58}

lang

1[view/user_list.php] 2 3<!doctype html> 4<html lang="ja"> 5<head> 6<meta charset="UTF-8"> 7<title>hogehoge</title> 8</head> 9 10<body> 11 <table border="1"> 12 <tr><td>ユーザー一覧</td></tr> 13 <?php foreach ($records as $row): 14 $id = $row['id']; 15 $name = $row['name']; 16 ?> 17 <tr> 18 <td> <a href = user_detail/<?= $id ?> > <?=$name?> </a> 19 </td> 20 </tr> 21 <?php endforeach; ?> 22 23 </table> 24 <?php echo $this->pagination->create_links(); ?> 25 26</body> 27</html> 28 29

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

単純にリンクの貼り方の問題かと。
相対パスになっている部分を修正します。

<a href = user_detail/<?= $id ?> > <?=$name?> </a>

<a href = "/admin/user_detail/<?= $id ?>" > <?=$name?> </a>

投稿2017/09/06 03:13

yankee

総合スコア72

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問