30){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"*",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"/",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"[",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"]",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"(",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,")",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,".",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"{",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"}",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"=",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"!",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"<",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,">",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"|",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,":",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"-",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"'",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,'"',0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"#",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"$",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$w_chk=mb_strpos($g_srcmoji,"%",0,"utf-8"); //特殊文字対処
if (is_numeric($w_chk)){$g_srcmoji="";}
$g_srcmoji=mb_convert_kana($g_srcmoji,'KVRNs','UTF-8'); //英数字→全角、スペース→半角
if ($g_srcmoji!=="" and !is_null($g_srcmoji)){ // g_srcmoji入力有 記事一覧表示
$g_srcmoji=preg_quote($g_srcmoji); //メタ文字エスケープ
$w_spacelen=0; //whileを抜けないように
$overall_len=1; //whileを抜けないように
$w_idx=0;
while (($w_idx<30) and (is_numeric($w_spacelen)) and $overall_len>0) { // 検索文字を5件取得する
$g_srcmoji=ltrim($g_srcmoji," "); //左端スペース削除
$overall_len=mb_strlen($g_srcmoji,"utf-8"); //全体の文字数を取得
if ($overall_len>0) { //検索文字全体の文字数が0になったら処理終了
$w_spacelen=mb_strpos($g_srcmoji," ",0,"utf-8"); //空白の位置を取得
if (is_numeric($w_spacelen)) { //空白が見つからないときは処理の対象外
$w_len=$w_spacelen-1;
$bunkatsu[$w_idx]=mb_substr($g_srcmoji,0,$w_spacelen,"utf-8"); //検索文字取得
$g_srcmoji=mb_substr($g_srcmoji,$w_spacelen,$overall_len,"utf-8"); //処理済み検索文字を消去
}else{ //検索文字全体の終端にたどり着いた場合の処理
$bunkatsu[$w_idx]=mb_substr($g_srcmoji,0,$overall_len,"utf-8");
}
}
$w_idx++;
}
//echo "***bunkatsu=" . $bunkatsu[0] . "," . $bunkatsu[1] . "," . $bunkatsu[2] . "," . $bunkatsu[3] . "," . $bunkatsu[4];
$g_pagecnt=$_GET['pagecnt'];
if (!is_numeric($g_pagecnt)){$g_pagecnt=1;}
$g_linefrom=($g_pagecnt-1)*10+1;
$g_lineto=$g_linefrom+9;
$srcmoji=$_GET['srcmoji'];
///////////DB接続////////////////////////////////
include("./ppg/post/cpdbopen.php");// データベース接続
// g_srcmoji列を分割する 今回分割しょり上手くいかなかったため専用ロジックを組んだ 2015.9.10
// mb_internal_encoding('UTF-8');
// $bunkatsuchar=mb_split(' ',$g_srcmoji);
// foreach($bunkatsu as $kensaku_moji){
// echo mb_ereg_replace(" ",",",$kensaku_moji) . "<->",PHP_EOL;
// echo bin2hex($kensaku_moji);
// }
// SQL クエリを編集・実行する。
$w_sql = "SELECT * from t010post where (大分類=1 or 大分類=2 or 大分類=3 or 大分類=4 or 大分類=5 or 大分類=6 or 大分類=10) and ";
$w_sql .= "(";
$multi_cnt = 1;
foreach($bunkatsu as $kensaku_moji){
if ($multi_cnt > 1){
$w_sql .= " or ";
}
$multi_cnt++;
$w_sql .= " (タイトル like '%" . $kensaku_moji . "%') ";
$w_sql .= " or ";
$w_sql .= " (サブタイトル like '%" . $kensaku_moji . "%') ";
$w_sql .= " or ";
$w_sql .= " (内容 like '%" . $kensaku_moji . "%') ";
$w_sql .= " or ";
$w_sql .= " (補足 like '%" . $kensaku_moji . "%') ";
}
$w_sql .= ")";
$w_sql .= " order by ナンバー desc ";
$result = mysql_query($w_sql);
if (!$result) {
exit('データを読み込めませんでした。');
}
$incnt = 1;
$res = " ";
while ($row = mysql_fetch_array($result)) {
if (($incnt >= $g_linefrom) and ($incnt <= $g_lineto)) {
$res .= " " . $row["タイトル"] . "";
if ($row["大分類"]==1 or $row["大分類"]==10) {
$res .= "(" . $row['F年'] . ")";
}elseif ($row["大分類"]==3) {
$res .= "(" . $row['F年'] . "~" . $row['T年'] . ")";
}else{
$res .= "(" . $row['サブタイトル'] . ")";
}
$res .= "【";
if ($row["大分類"]==1 or $row["大分類"]==2) {
$res .= fnucsrccate('大分類',$row['大分類']) . "・";
$res .= fnucsrccate('中分類',$row['中分類']);
}elseif ($row["大分類"]==4) {
$res .= fnucsrccate('中分類',$row['中分類']);
}else{
$res .= fnucsrccate('大分類',$row['大分類']);
}
$res .= "】 ";
$res .= "" . mb_substr(strip_tags($row["内容"]),0,80,'UTF-8') . ".....
";
}
$incnt++;
}
$res .= " | ";
$res .= " ";
$w_in = $incnt - 1;
$w_pagecnt = floor($w_in / 10);
$w_amari = $w_in % 10;
if ($w_amari > 0) {
$w_pagecnt++;
}
if ($w_pagecnt>1){ //複数ページの場合ページメニューを下段へ表示する。
for ($pagesu = 1; $w_pagecnt >= $pagesu; $pagesu++){
//
$res .= "";
if ($g_pagecnt==$pagesu){ //現在のページの項はオレンジ色に設定
$res .= "[" . $pagesu . "]" . " ";
}else{
$res .= "[" . $pagesu . "]" . " ";
}
$res .= " ";
}
}
$res .= "
";
if ($w_in==0){
$res = "検索の結果 " . "対象の記事が見つかりませんでした
" . " " . $res;
}else{
$res = "検索の結果 " . $w_in . "件の記事が見つかりました
" . " " . $res;
}
// データベースクローズ
$con = mysql_close($con);
if (!$con) {
exit('データベースとの接続を閉じれませんでした。');
}
echo $res;
}else{ // g_srcmoji入力無 記事1件ランダム表示
//
include("./ppg/post/mainarticleout.php");
}
?>
|