###やりたいこと
データベースから取得した数字を文字列に置き換えて表示させたい。
1.コード1だと例えば数字の2が表示されるが、コード2のように東北支店と表示せたい。
2.コード2は下記のエラー表示。
Notice: Undefined variable: tmp in /var/www/html/yobou/kensa/shousai.php on line 50
コード2でエラーなく表示せたい。ご教示お願いします。
ソースコード全文
php
1<?php 2// エラーを出力する 3ini_set('display_errors', "On"); 4 5require_once ( __DIR__ .'/config_ken/db_kensaconfig.php'); 6try { 7 if (empty($_GET['id'])) throw new Exception('Error'); 8 $id = (int) $_GET['id']; 9 $dbh = new PDO("mysql:host=localhost;dbname=$databasename;charset=utf8", $user, $pass); 10 $dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); 11 $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 12 $sql = "SELECT * FROM $dbtablename AS t1 13 JOIN table_shokuin AS t2 14 ON t1.shokuinbangou1 = t2.bangou 15 WHERE id_kensa = ?"; 16 17 18 $stmt = $dbh->prepare($sql); 19 $stmt->bindValue(1, $id, PDO::PARAM_INT); 20 $stmt->execute(); 21 $result = $stmt->fetch(PDO::FETCH_ASSOC); 22 $dbh = null; 23} catch (Exception $e) { 24 echo "エラー発生: " . htmlspecialchars($e->getMessage(), ENT_QUOTES, 'UTF-8') . "<br>"; 25 die(); 26} 27?> 28 29 30<!DOCTYPE html> 31<html lang="ja"> 32<head> 33<meta charset="UTF-8"> 34</head> 35<body> 36 37<?php 38/***コード1ここから 39 例えば数字の2がデータベースにあれば2と表示される。 40***/ 41 echo htmlspecialchars($result['kankatsu'],ENT_QUOTES,'UTF-8'); 42/***コード1ここまで***/ 43 44/***コード2ここから***/ 45function kankatsuDisplay_2_function($result){ 46 if ($result['kankatsu'] === '1') $tmp = "本店"; 47 if ($result['kankatsu'] === '2') $tmp = "東北支店"; 48 if ($result['kankatsu'] === '3') $tmp = "関西支店"; 49 if ($result['kankatsu'] === '4') $tmp = "九州支店"; 50return $tmp; 51} 52 $tmp = kankatsuDisplay_2_function($result); 53 54 echo htmlspecialchars($tmp,ENT_QUOTES,'UTF-8'); 55/***コード2ここまで***/ 56 57 58?> 59 60</body> 61</html> 62
ソースコード該当箇所を抜き出したもの。
php
1/***コード1ここから 2 例えば数字の2がデータベースにあれば2と表示される。 3***/ 4 echo htmlspecialchars($result['kankatsu'],ENT_QUOTES,'UTF-8'); 5/***コード1ここまで***/ 6 7/***コード2ここから***/ 8function kankatsuDisplay_2_function($result){ 9 if ($result['kankatsu'] === '1') $tmp = "本店"; 10 if ($result['kankatsu'] === '2') $tmp = "東北支店"; 11 if ($result['kankatsu'] === '3') $tmp = "関西支店"; 12 if ($result['kankatsu'] === '4') $tmp = "九州支店"; 13return $tmp; 14} 15 $tmp = kankatsuDisplay_2_function($result); 16 17 echo htmlspecialchars($tmp,ENT_QUOTES,'UTF-8'); 18/***コード2ここまで***/
回答1件
あなたの回答
tips
プレビュー