Skip to content

Instantly share code, notes, and snippets.

/category.php Secret

Created December 13, 2011 19:47
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save anonymous/7d0f4398fa693e514243 to your computer and use it in GitHub Desktop.
Save anonymous/7d0f4398fa693e514243 to your computer and use it in GitHub Desktop.
はてな質問
<?php
require_once('db.php');
$dbc = mysqli_connect(dbhost, dbuser, dbpass, dbname);
?>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">
</style>
</head>
<body>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript" src="javascript.js"></script>
<?php
require_once('db.php');//データベース接続
$dbc = mysqli_connect(dbhost, dbuser, dbpass, dbname);
$categoryL_id = mysqli_real_escape_string($dbc, trim($_POST['categoryL_id']));
$categoryM_id = mysqli_real_escape_string($dbc, trim($_POST['categoryM_id']));
$categoryM_name = mysqli_real_escape_string($dbc, trim($_POST['categoryM_name']));
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<select name='categoryL_id' onChange='javascript:submit()'>
<option value="0">選択してください</option>
<?php
//大カテゴリをselectで表示
$query = "SELECT distinct categoryL_id, categoryL_name FROM products.category_l ";
$data = mysqli_query($dbc, $query);
//送るのはID名
while ($row = mysqli_fetch_array($data)){
echo "<option value='".$row['categoryL_id']."'>".$row['categoryL_name']."</option>";
}
?>
</select>
</form>
<label>中カテゴリ:</label>
<?php
//中カテゴリはリンクで表示 Aタグのonclickで外部から操作
$categoryM_name = mysqli_real_escape_string($dbc, trim($_POST['categoryM_name']));
echo $categoryM_name;
if (isset($_POST['categoryL_id'])) {
$categoryL_id = mysqli_real_escape_string($dbc, trim($_POST['categoryL_id']));
$categoryM_id = mysqli_real_escape_string($dbc, trim($_POST['categoryM_id']));
$categoryM_name = mysqli_real_escape_string($dbc, trim($_POST['categoryM_name']));
$query2 = "SELECT * FROM products.category_m WHERE categoryL_id = $categoryL_id";
$data2 = mysqli_query($dbc, $query2);
//MYSQLのエラー処理後で外す
if (!$data2) {
echo '<p class="error">SQLの実行に失敗しました。SQL文が間違っています。!</p>';
}
while ($row = mysqli_fetch_array($data2)){
echo "<form name='list2' method='POST'action='".$_SERVER['PHP_SELF']."'>";
echo "<input type='hidden' name='list3' value='". $row['categoryM_name'] ."'>";
echo"<a href='#' onClick='document.list2.submit();'>".$row['categoryM_name']."</a></form><br>";
}
}
//リンクを押すと表示
if (isset($_POST['list3'])){
//中カテゴリを表示
$list = $_POST['list3'];
echo $list.">";
//テーブルを結合
$query2 = "SELECT category_m.categoryM_name, category_s.categoryS_id, category_s.categoryS_name FROM products.category_s
INNER JOIN category_m ON ( category_m.categoryM_id = category_s.categoryM_id)
WHERE category_m.categoryM_name = '$list'";
$data2 = mysqli_query($dbc, $query2);
//MYSQLのエラー処理後で外す
if (!$data2) {
echo '<p class="error">SQLの実行に失敗しました。SQL文が間違っています。!</p>';
}
// 小カテゴリはリンクで表示 Aタグのonclickで外部から操作 メインページへ飛ぶ
while ($row = mysqli_fetch_array($data2)){
echo "<form name='categoryS". $row['categoryS_id'] ."' id='cateS' method='POST' action='main.php'>";
echo "<input type='hidden' name='categoryS_id' value='". $row['categoryS_id'] ."'>";
echo"<a href='#' onClick='document.categoryS". $row['categoryS_id'] .".submit();'>".$row['categoryS_name']."</a></form><br>";
}
}
?>
</body>
</html>
<?php
session_start();
require_once('search_cookie.php');
require_once('db.php');
$dbc = mysqli_connect(dbhost, dbuser, dbpass, dbname);
$categoryS_id = mysqli_real_escape_string($dbc, trim($_POST['categoryS_id']));
echo $categoryS_id;
?>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">
</style>
</head>
<body>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#testright").load('session_list.php');
});
$(document).ready(function(){
var category = "<?php echo $categoryS_id; ?>";
$("#tate").load('search_base.php',{ categoryS_id:category});
});
</script>
<div id='all'>
<div id='search-box'>
<form name="form" method="POST">
<input type="text" name="text_search" />
<input type="button" value="Get" onClick="get()" />
</form>
<form name="formreset" method="POST" >
<input type="hidden" name="reset" value="" />
<input type="button" value="リセット" onClick="te()" />
</form>
<div id='view-nomber'>
<?php
//クッキーで検索結果表示 件数を操作
echo"<ul>";
echo"<li><form method='POST' name='cookie20' action='".$_SERVER['PHP_SELF']."' >";
echo"<a href='#' onClick='document.cookie20.submit();'>20件 ,</a>";
echo"<input type='hidden' name='co20' />";
echo"</form></li>";
echo"<li><form method='POST' name='cookie50' action='".$_SERVER['PHP_SELF']."' >";
echo"<a href='#' onClick='document.cookie50.submit();'>50件 ,</a>";
echo"<input type='hidden' name='co50' />";
echo"</form></li>";
echo"<li><form method='POST' name='cookie100' action='".$_SERVER['PHP_SELF']."' >";
echo"<a href='#' onClick='document.cookie100.submit();'>100件</a>";
echo"<input type='hidden' name='co100' />";
echo"</form></li>";
echo"</ul><br>";
?>
</div>
<div id='view-line'>
<?php
$name = mysqli_real_escape_string($dbc, trim($_POST['na']));
// クッキーで検索結果表示 列数を操作
echo"<ul>";
echo"<li><form method='POST' name='cookie1' action='".$_SERVER['PHP_SELF']."' >";
echo"<a href='#' onClick='document.cookie1.submit();'>1列 ,</a>";
echo"<input type='hidden' name='co1' />";
echo"</form></li>";
echo"<li><form method='POST' name='cookie2' action='".$_SERVER['PHP_SELF']."' >";
echo"<a href='#' onClick='document.cookie2.submit();'>2列 ,</a>";
echo"<input type='hidden' name='co2' />";
echo"</form></li>";
echo"<li><form method='POST' name='cookie3' action='".$_SERVER['PHP_SELF']."' >";
echo"<a href='#' onClick='document.cookie3.submit();'>4列</a>";
echo"<input type='hidden' name='co3' />";
echo"</form></li>";
echo"</ul><br>";
$list_name = mysqli_real_escape_string($dbc, trim($_POST['list_name']));
//検索結果をクリア
if (isset($_POST['reset'])){
$list_name = '';
}
?>
</div>
<div id='test'></div>
<div id='tate'></div>
</div>
<div id='view'>
<div id='list'>
<form method='post' form='form2' action='<?php echo $_SERVER['PHP_SELF']; ?>' >
<input type='text' name='list_name'value='<?php if (!empty($list_name)) echo htmlspecialchars($list_name); ?>'>
<input type='submit' name='list' value='検索' /></br>
<input type='submit' name='reset' value='リセット' />
</form>
</div>
</div>
</div>
</div>
</body>
</html>
<?php
session_start();
$timeout = time() + (60 * 60 * 24 * 365);
$cookie_view =$_COOKIE['search_view'];
$cookie_view2 =$_COOKIE['search_view2'];
require_once('db.php');
$dbc = mysqli_connect(dbhost, dbuser, dbpass, dbname);
$categoryS_id = mysqli_real_escape_string($dbc,trim($_POST['categoryS_id']));
echo $categoryS_id;
?>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">
</style>
</head>
<body>
<script src="jquery-1.6.2.js" type="text/javascript"></script>
<script type="text/javascript">
$(function(){
$('.pagerLink').click(function (e){
var category = "<?php echo $categoryS_id; ?>";
e.preventDefault();
var href = $(this).attr('href',{ categoryS_id:category});
$("#tate").load(href);
});
});
$(document).ready(function(){
$(':button').click(function(){
var product_id = $(this).siblings('[name="product_id"]').val();
var product_name = $(this).siblings('[name="product_name"]').val();
$.post('session_list.php',{ "id": product_id , "name":product_name },
function(output){
$('#testright').html(output);
});
});
});
function get(){
$.post('search_base.php',{ name:form.text_search.value },
function(output){
$('#tate').html(output).show();
});
}
function te(){
$.post('search_base.php',{ name:formreset.reset.value },
function(output){
$('#tate').html(output).show();
});
}
</script>
<?php
require_once('Pager.php');
$name = mysqli_real_escape_string($dbc, trim($_POST['name']));
echo $categoryS_id."<br>";
// 検索システム テキストで複数条件で調べられるもの
function build_query($name) {
$query = "SELECT product_id,product_name FROM products.product";
$word_conversion = str_replace(' ' ,' ',$name);
$search_words = explode(' ', $word_conversion);
$final_search_system = array();
if(count($search_words) > 0) {
foreach($search_words as $word) {
if (!empty($word)) {
$final_search_system[] = $word;
}
}
}
$where_list = array();
if(count($final_search_system)> 0){
foreach($final_search_system as $word){
$where_list[] = "product_name LIKE '%$word%'";
}
}
$addition_or = implode(' OR ',$where_list);
if(!empty($addition_or)){
$query .= " WHERE $addition_or";
}
return $query;
}
$query = build_query($name);
$puery .=" WHERE product_name = '$name'";
$data = mysqli_query($dbc, $query)
or die("Error: ".mysqli_error($dbc));
//ページャーの表示件数の操作
if(empty($cookie_view2)){
$perPage =3;
}else switch($cookie_view2){
case 1;
$perPage =1;
break;
case 2;
$perPage =2;
break;
case 3;
$perPage =3;
break;
}
$count = mysqli_num_rows($data);
$params = array(
'mode' => 'Sliding',
'delta' => 2,
'perPage' => $perPage,
'spacesBeforeSeparator' => 1,
'spacesAfterSeparator' => 1,
'prevImg' => '&lt;&lt;',
'nextImg' => '&gt;&gt;',
'totalItems' =>$count,
'onclick' =>'e',
'httpMethod' => 'GET'
);
$pager =& Pager::factory($params);
$links = $pager->getLinks();
$currentPageID = $pager -> getCurrentPageID();
$skip = (($currentPageID - 1) * $perPage);
$query =$query." LIMIT $skip, $perPage";
$data = mysqli_query($dbc, $query)
or die("Error: ".mysqli_error($dbc));
//検索結果の表示項目の操作
if(empty($cookie_view)){
while ($row = mysqli_fetch_array($data)){
$nomber = $row['product_id'];
$query = "SELECT * FROM products.product WHERE product_id = '$nomber' ORDER BY item_nomber";
$data = mysqli_query($dbc, $query)
or die("Error: ".mysqli_error($dbc));
while ($row = mysqli_fetch_array($data)){
echo"<form name='form2' id='form3'onClick='add(); return false;' >";
echo " 名前 :". $row['product_name'] . "<br>";
echo "<input type='hidden' name='product_id' value='". $row['product_id'] ."'>
<input type='hidden' name='product_name' value='". $row['product_name'] ."'>
<input type='button' name='test' value='登録' />
</form><br>";
echo "<hr> ";
}
}
echo "<p><br />\n" . $links['all'] . "</p>\n";
}else switch($cookie_view){
case 1;//ケース1 ここから
$query1 = "SELECT * FROM products.item WHERE categoryS_id = '$categoryS_id' ORDER BY item_nomber";
$data1 = mysqli_query($dbc, $query1)
or die("Error: ".mysqli_error($dbc));
while ($row = mysqli_fetch_array($data1)){
echo $row['item_name'];
}
while ($row = mysqli_fetch_array($data)){
$nomber = $row['product_id'];
$query = "SELECT product.product_id, product.product_name, product.categoryS_id ,product.item_nomber, item.item_name
FROM products.product
INNER JOIN item ON ( product.item_nomber = item.item_nomber)
WHERE product.categoryS_id = '$categoryS_id' AND product.product_id = '$nomber' ";
$data = mysqli_query($dbc, $query)
or die("Error: ".mysqli_error($dbc));
echo"<form name='form2' id='form3'onClick='add(); return false;' >";
while ($row = mysqli_fetch_array($data)){
echo " ". $row['item_name'] ." :". $row['product_name'] . "<br>";
echo "<input type='hidden' name='product_id' value='". $row['product_id'] ."'>
<input type='hidden' name='product_name' value='". $row['product_name'] ."'>";
}
echo "<input type='button' name='test' value='登録' />
</form><br>";
echo "<hr> ";
}
echo "<p><br />\n" . $links['all'] . "</p>\n";
break;
case 2;//ケース2 ここから
echo "ケース2です";
break;
case 3;
echo "ケース3です";
break;
}
?>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment