-
-
Save anonymous/7d0f4398fa693e514243 to your computer and use it in GitHub Desktop.
はてな質問
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?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' => '<<', | |
'nextImg' => '>>', | |
'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