session_start();
require "../cdn/security.php";
require("../pass/db-pass.php");
// 変数の初期化
$sql = null;
$res = null;
$dbh = null;
require "../cdn/paging.php";
$kensaku = htmlspecialchars($_GET['Search'], ENT_QUOTES);
$Genre = htmlspecialchars($_GET['Genre'], ENT_QUOTES);
$thread = htmlspecialchars($_GET['Genre_thread'], ENT_QUOTES);
?>
スレッド一覧画面
try{
$dbh = new PDO($dsn, $user, $password);
// SQL作成
$dbh->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, true);
if($kensaku=="" && $Genre=="" && $sql='SELECT * FROM `thread`'){
$stmt = $dbh->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
}
elseif($kensaku!="" && $Genre!="" && $sql='SELECT * FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id where `genre`="'.htmlspecialchars($Genre, ENT_QUOTES).'" and `title`REGEXP"'.htmlspecialchars($kensaku, ENT_QUOTES).'"'){
$stmt = $dbh->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
}
elseif($kensaku!="" && $Genre=="" && $sql='SELECT * FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id where `title`REGEXP"'.htmlspecialchars($kensaku, ENT_QUOTES).'"'){
$stmt = $dbh->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
}
elseif($Genre!="" && $sql='SELECT * FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id where `genre`="'.htmlspecialchars($Genre, ENT_QUOTES).'"'){
$stmt = $dbh->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
}
if($stmt = $dbh->query($sql)){
if($count > 0){
if($kensaku=="" && $Genre=="" && $sql='SELECT * FROM `thread`'){
$stmt = $dbh->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
print(" 該当するスレッドは ".htmlspecialchars($count, ENT_QUOTES)."件
");
}
elseif($kensaku!="" && $Genre!="" && $sql='SELECT * FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id where `genre`="'.htmlspecialchars($Genre, ENT_QUOTES).'" and `title`REGEXP"'.htmlspecialchars($kensaku, ENT_QUOTES).'"'){
$stmt = $dbh->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
print(" 該当するスレッドは ".htmlspecialchars($count, ENT_QUOTES)."件
");
}
elseif($kensaku!="" && $Genre=="" && $sql='SELECT * FROM `thread` where `title`REGEXP"'.htmlspecialchars($kensaku, ENT_QUOTES).'"'){
$stmt = $dbh->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
print(" 該当するスレッドは ".htmlspecialchars($count, ENT_QUOTES)."件
");
}
elseif($Genre!="" && $sql='SELECT * FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id where `genre`="'.htmlspecialchars($Genre, ENT_QUOTES).'"'){
$stmt = $dbh->query($sql);
$stmt->execute();
$count=$stmt->rowCount();
print(" 該当するスレッドは ".htmlspecialchars($count, ENT_QUOTES)."件
");
}
}
elseif($count < 1){
print " 該当するスレッドはありませんでした。
";
}
}
if($kensaku=="" && $Genre==""){
$sql = 'SELECT COUNT(*) FROM `thread` order by `id` desc LIMIT 0, 100 ';
$page_sql = 'SELECT * FROM `thread`';
}
if($Genre!="" && $kensaku==""){
$sql = 'SELECT COUNT(*) FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id WHERE `genre`="'.htmlspecialchars($Genre, ENT_QUOTES).'" order by `id` desc LIMIT 0, 30 ';
$page_sql = 'SELECT * FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id WHERE `genre`="'.htmlspecialchars($Genre, ENT_QUOTES).'"';
}
if($kensaku!="" && $Genre!=""){
$sql = 'SELECT COUNT(*) FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id WHERE `title` REGEXP "'.htmlspecialchars($kensaku, ENT_QUOTES).'" and `genre`="'.htmlspecialchars($Genre, ENT_QUOTES).'" order by `id` desc LIMIT 0, 30 ';
$page_sql = 'SELECT * FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id WHERE `title` REGEXP "'.htmlspecialchars($kensaku, ENT_QUOTES).'" and `genre`="'.htmlspecialchars($Genre, ENT_QUOTES).'"';
}
if($kensaku!=""&& $Genre==""){
$sql = 'SELECT COUNT(*) FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id WHERE `title` REGEXP "'.htmlspecialchars($kensaku, ENT_QUOTES).'" order by `id` desc LIMIT 0, 30 ';
$page_sql = 'SELECT * FROM `thread` LEFT OUTER JOIN genre ON thread.id = genre.genre_id WHERE `title` REGEXP "'.htmlspecialchars($kensaku, ENT_QUOTES).'"';
}
// SQL実行
$res = $dbh->query($sql);
//ページ毎の件数を設定
$row_count = 30;
//テーブル全体の件数を取得
$sql = $sql;
$stmt = $dbh -> query($sql);
$count = $stmt -> fetch(PDO::FETCH_COLUMN);
//現在のページを取得 存在しない場合は1とする
$page = 1;
if(isset($_GET['page']) && is_numeric($_GET['page'])){
$page = (int)$_GET['page'];
}
if(!$page){
$page = 1;
}
//$pageの数から件数分を表示するSQLクエリを生成 配列で取得s
$sql = $page_sql;
$sql .= ' ORDER BY id desc LIMIT '.(($page - 1) * $row_count).', '.$row_count;
$stmt = $dbh -> query($sql);
$aryPref = $stmt -> fetchAll(PDO::FETCH_ASSOC);
//Pagingクラスを生成し、ページングのHTMLを生成
$pageing = new Paging();
$pageing -> count = $row_count;
$pageing -> setHtml($count);
// 取得したデータを出力
foreach( $aryPref as $value ) {
$id = htmlspecialchars($value['id'], ENT_QUOTES);
$title = htmlspecialchars($value['title'], ENT_QUOTES);
echo "";
echo "
$value[name]";
$datetime = htmlspecialchars($value['datetime'], ENT_QUOTES);
echo date(" Y年m月d日H時i分",strtotime($datetime))."
\n";
}
//$dbh->query('SET NAMES utf8');
}catch (PDOException $e){
print('Error:'.$e->getMessage());
die();
}
// 接続を閉じる
$dbh = null;
//header ('pdo insert.php');
//exit;
?>
Warning: Undefined variable $pageing in /home/c3441036/public_html/tantena.com/tantenakeijiban/thread-list.php on line 178
Warning: Attempt to read property "html" on null in /home/c3441036/public_html/tantena.com/tantenakeijiban/thread-list.php on line 178