書籍検索用のテンプレートを完成させました。
書籍検索用のテンプレートを完成させました。 書籍検索画面はこちら
これはテンプレート用のソースプログラムです。
[php]
<?php
/**
* Template Name: page-books
* 2014/08/17作成
*/
?>
<?php get_header(); ?>
<div id="container">
<div id="content">
<?php
// 初期設定
$parent = fnc_parent_title_guid(); // 親ページのタイトルとGuidの取得
session_start();
$_SESSION["slug"]=$post->post_name;
$_SESSION["parent_title"]=$parent->title; // 親ページのタイトル
$_SESSION["parent_guid"]=$parent->guid; // 親ページのGuid
$disp_keyword="";
$keyword="";
$keyword_fg="2";
$sort_fg="5";
$sort_type="2";
$sort="ukeirebi desc";
//
if(isset($_POST[‘cmdClear’])){
$keyword=”;
$disp_keyword=”;
$sort_fg=’5′;
$sort_type=’2′;
}elseif(isset($_POST[‘keyword’]) or isset($_GET[‘keyword’]) or isset($_POST[‘sort_fg’]) or isset($_GET[‘sort_fg’])){
if(isset($_POST[‘keyword’])){
$tmp_keyword=str_replace(" "," ",$_POST[‘keyword’]);
$disp_keyword=$_POST[‘keyword’];
$keyword_fg=$_POST[‘keyword_fg’];
}elseif(isset($_GET[‘keyword’])){
$tmp_keyword=str_replace(" "," ",$_GET[‘keyword’]);
$disp_keyword=$_GET[‘keyword’];
$keyword_fg=$_GET[‘keyword_fg’];
}
if(isset($_POST[‘sort_fg’])){
$sort_fg=$_POST[‘sort_fg’];
$sort_type=$_POST[‘sort_type’];
}else{
$sort_fg=$_GET[‘sort_fg’];
$sort_type=$_GET[‘sort_type’];
}
$arr_keyword=explode(" ",$tmp_keyword);
if($keyword_fg==1){
for($i=0;$i<count($arr_keyword);$i++){
$tmp_keyword=mb_convert_encoding($arr_keyword[$i],"utf-8");
if($keyword==""){
$keyword="(bunrui LIKE ‘%$tmp_keyword%’)";
}else{
$keyword=$keyword." and (bunrui LIKE ‘%$tmp_keyword%’)";
}
}
}elseif($keyword_fg==2){
for($i=0;$i<count($arr_keyword);$i++){
$tmp_keyword=mb_convert_encoding($arr_keyword[$i],"utf-8");
if($keyword==""){
$keyword="(shomei LIKE ‘%$tmp_keyword%’)";
}else{
$keyword=$keyword." and (shomei LIKE ‘%$tmp_keyword%’)";
}
}
}elseif($keyword_fg==3){
for($i=0;$i<count($arr_keyword);$i++){
$tmp_keyword=mb_convert_encoding($arr_keyword[$i],"utf-8");
if($keyword==""){
$keyword="(chosha LIKE ‘%$tmp_keyword%’)";
}else{
$keyword=$keyword." and (chosha LIKE ‘%$tmp_keyword%’)";
}
}
}elseif($keyword_fg==4){
for($i=0;$i<count($arr_keyword);$i++){
$tmp_keyword=mb_convert_encoding($arr_keyword[$i],"utf-8");
if($keyword==""){
$keyword="(shuppansha LIKE ‘%$tmp_keyword%’)";
}else{
$keyword=$keyword." and (shuppansha LIKE ‘%$tmp_keyword%’)";
}
}
}elseif($keyword_fg==5){
for($i=0;$i<count($arr_keyword);$i++){
$tmp_keyword=mb_convert_encoding($arr_keyword[$i],"utf-8");
if($keyword==""){
$keyword="(shuppannen LIKE ‘%$tmp_keyword%’)";
}else{
$keyword=$keyword." and (shuppannen LIKE ‘%$tmp_keyword%’)";
}
}
}
if($sort_fg==1){
$sort="shomei_kana";
if($sort_type==2){$sort=$sort . " desc";}
}elseif($sort_fg==2){
$sort="choshamei_kana";
if($sort_type==2){$sort=$sort . " desc";}
}elseif($sort_fg==3){
$sort="haikabasho";
if($sort_type==2){$sort=$sort . " desc";}
}elseif($sort_fg==4){
$sort="shuppannen";
if($sort_type==2){$sort=$sort . " desc";}
}elseif($sort_fg==5){
$sort="ukeirebi";
if($sort_type==2){$sort=$sort . " desc";}
}
}
$_SESSION["keyword"]=$keyword; // keywordの保持
if($sort_fg==”){
$sort="";
}else{
$sort="order by " . $sort;
}
$_SESSION["sort"]=$sort; // sortの保持
?>
<form method="post" action="●●">
<table border="0">
<tr>
<td>
<input type="radio" name="keyword_fg" value="1" <?php if($keyword_fg==’1′){ echo ‘checked’;} ?>><font color="#00f">分類名</font>
<input type="radio" name="keyword_fg" value="2" <?php if($keyword_fg==’2′){ echo ‘checked’;} ?>><font color="#f00">書名</font>
<input type="radio" name="keyword_fg" value="3" <?php if($keyword_fg==’3′){ echo ‘checked’;} ?>>著者名
<input type="radio" name="keyword_fg" value="4" <?php if($keyword_fg==’4′){ echo ‘checked’;} ?>>出版社
<input type="radio" name="keyword_fg" value="5" <?php if($keyword_fg==’5′){ echo ‘checked’;} ?>>出版年
<input type="text" name="keyword" size="25" value="<?php echo $disp_keyword; ?>">
<input type="submit" name="cmdSearch" value="検索">
<input type="submit" name="cmdClear" value="クリア">
</td>
</tr>
<tr>
<td>
<input type="radio" name="sort_type" value="1" <?php if($sort_type==’1′){ echo ‘checked’;} ?>>昇順
<input type="radio" name="sort_type" value="2" <?php if($sort_type==’2′){ echo ‘checked’;} ?>>降順
<input type="submit" name="cmdSearch" value="ソート"> <font size="+2">(</font>
<input type="radio" name="sort_fg" value="1" <?php if($sort_fg==’1′){ echo ‘checked’;} ?>>書名
<input type="radio" name="sort_fg" value="2" <?php if($sort_fg==’2′){ echo ‘checked’;} ?>>著者名
<input type="radio" name="sort_fg" value="3" <?php if($sort_fg==’3′){ echo ‘checked’;} ?>>配架場所
<input type="radio" name="sort_fg" value="4" <?php if($sort_fg==’4′){ echo ‘checked’;} ?>>出版年
<input type="radio" name="sort_fg" value="5" <?php if($sort_fg==’5′){ echo ‘checked’;} ?>>受入日<font size="+2"> )</font>
</td>
</tr>
</table>
</form>
<?php /* データ処理 */
if($keyword != ”):
// データ数のカウント
$sql = "SELECT count(*) FROM wp_books WHERE $keyword $sort";
$count = $wpdb->get_var($sql);
echo "抽出件数:".$count."<br />";
// データの抽出
$sql = "SELECT * FROM wp_books WHERE $keyword $sort";
$posts = $wpdb->get_results($sql);
echo "SQL:"."SELECT * FROM wp_books WHERE ".$keyword . " ".$sort;
$no="1";
?>
<div id="book_info" class="clearfix">
<div class="inner clearfix">
<ul>
<?php foreach($posts as $post): setup_postdata($post); ?>
<?php $_SESSION["book_id"]=$no; ?>
<?php get_template_part(‘content-book’); ?>
<?php $no++; ?>
<?php endforeach; ?>
</ul>
</div><!– end .inner clearfix –>
</div><!– end .book_info –>
<?php else: ?>
<div class="sectionBlock1">
<検索の方法><br />
(1)キーワードを入れて、検索ボタンをクリックしてください。<br />
(注1)分類名、書名、著者名、出版社、出版年で検索できます。<br />
(注2)スペースを使ってand検索ができます。例:数学 物理<br />
(2)書名、著者名、配架場所、出版年、受入日をキーにしてソートできます。
</div>
<?php endif; ?>
<?php get_template_part(‘page_top_link’); ?>
</div><!– end #content –>
<?php get_sidebar(page); ?>
</div><!– end #container –>
<?php get_footer(); ?>
[/php]