お世話になります。
#####やりたいこと
下記のfunction_category.phpをtest.phpで読み込み、動作させたい。
カテゴリを数字でmariaDBへ登録し、呼び出し時に数字を日本語に変換して表示させています。
カテゴリが現在は4つですが、今後10以上に増えるので書き換えが容易になるよう外部ファイルにしたいです。
function_category.php
php
1<?php 2function categoryDisplay_function(){ 3 if ($row['category'] === '1') $tmp = "いちばん"; 4 if ($row['category'] === '2') $tmp = "にばん"; 5 if ($row['category'] === '3') $tmp = "さんばん"; 6 if ($row['category'] === '4') $tmp = "よんばん"; 7 8echo "関数テスト表示"; 9}
test.php
php
1<!DOCTYPE html> 2<html lang="ja"> 3<head> 4<meta charset="UTF-8"> 5<title>試験web</title> 6</head> 7<body> 8<h3>試験web</h3> 9 10<?php 11require_once 'db_config.php'; 12require_once 'function_category.php'; 13 14try { 15 $dbh = new PDO("mysql:host=localhost;dbname=$databasename;charset=utf8", $user, $pass); 16 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 17 $sql = "SELECT * FROM $dbtablename 18 WHERE hizuke >= DATE_ADD(NOW(), INTERVAL -3 MONTH) 19 ORDER BY hizuke"; 20 $stmt = $dbh->query($sql); 21 $result = $stmt->fetchAll(PDO::FETCH_ASSOC); 22 echo "<table width=100% border=1 cellspacing=1> \n"; 23 echo "<tr>\n"; 24 echo "<th>日付</th><th>内容</th><th>カテゴリ</th>\n"; 25 echo "</tr>\n"; 26 foreach ($result as $row) { 27 echo "<tr>\n"; 28 echo "<td>" . htmlspecialchars($row['hizuke'],ENT_QUOTES,'UTF-8') . "</td>\n"; 29 echo "<td width=50%>" . nl2br(htmlspecialchars($row['naiyou'],ENT_QUOTES,'UTF-8')) . "</td>\n"; 30 31 32 categoryDisplay_function(); 33 34/* 関数で以下を読み込み 35 if ($row['category'] === '1') $tmp = "いちばん"; 36 if ($row['category'] === '2') $tmp = "にばん"; 37 if ($row['category'] === '3') $tmp = "さんばん"; 38 if ($row['category'] === '4') $tmp = "よんばん"; 39*/ 40 41 echo "<td>" . htmlspecialchars($tmp ,ENT_QUOTES,'UTF-8') . "</td>\n"; 42 43 echo "</tr>\n"; 44 } 45 echo "</table>\n"; 46 $dbh = null; 47} catch (PDOException $e) { 48 echo "エラー発生: " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "<br>"; 49 die(); 50} 51 52?> 53 54 55</body> 56</html>
1.function_category.php内の「echo "関数テスト表示";」の「関数テスト表示」は
表示されるのでファイルは読み込まれています。
2.test.php内の「/* 関数で以下を読み込み」の「/」「/」を外すとcategoryは日本語で表示され、動作します。
3.category以外の動作に支障はありません。
4.エラー表示は出ていません。function_category.phpを読み込み、データベースに登録している数字を日本語に変換したいのですが、カテゴリだけが空白となります。function_category.phpの記述方法が悪いのか他に原因があるのかを知りたいと思っています。
ご教示お願いします。
回答1件
あなたの回答
tips
プレビュー