ปรึกษาเกี่ยวกับการเก็บค่า cookie แบบ check box และ list menu พร้อมกันหลายค่า
รบกวนปรึกษาว่า จะประยุกต์ใช้โค๊ดนี้ยังไงครับ
จะทำอย่างไรให้เวลากด check box ที่เลือก และ แสดง list menu ขึ้นมา และสามารถเก็บค่า checkbox และ list menu ที่เลือก ไปพร้อมกันได้
โดยที่เปลี่ยนหน้าแล้ว ข้อมูลที่เลือกยังคงอยู่ครับ
ขอบคุณล่วงหน้าครับ
Code (PHP)
<?php
error_reporting(0);
$link=mysql_connect("localhost","root","root")or die("Error Connect to Database"); // เชื่อมต่อ Server
mysql_select_db("project"); // ติดต่อฐานข้อมูล
mysql_query("set character set utf8"); // กำหนดค่า character set ที่จะใช้แสดงผล
?>
<?php
// ฟังก์ชั่นสำหรับการแบ่งหน้า NEW MODIFY
function page_navi($before_p,$plus_p,$total,$total_p,$chk_page){
global $urlquery_str;
$pPrev=$chk_page-1;
$pPrev=($pPrev>=0)?$pPrev:0;
$pNext=$chk_page+1;
$pNext=($pNext>=$total_p)?$total_p-1:$pNext;
$lt_page=$total_p-4;
if($chk_page>0){
echo "<a href='$urlquery_str"."pages=".intval($pPrev+1)."' class='naviPN'>Prev</a>";
}
if($total_p>=11){
if($chk_page>=4){
echo "<a $nClass href='$urlquery_str"."pages=1'>1</a><a class='SpaceC'>. . .</a>";
}
if($chk_page<4){
for($i=0;$i<$total_p;$i++){
$nClass=($chk_page==$i)?"class='selectPage'":"";
if($i<=4){
echo "<a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";
}
if($i==$total_p-1 ){
echo "<a class='SpaceC'>. . .</a><a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";
}
}
}
if($chk_page>=4 && $chk_page<$lt_page){
$st_page=$chk_page-3;
for($i=1;$i<=5;$i++){
$nClass=($chk_page==($st_page+$i))?"class='selectPage'":"";
echo "<a $nClass href='$urlquery_str"."pages=".intval($st_page+$i+1)."'>".intval($st_page+$i+1)."</a> ";
}
for($i=0;$i<$total_p;$i++){
if($i==$total_p-1 ){
$nClass=($chk_page==$i)?"class='selectPage'":"";
echo "<a class='SpaceC'>. . .</a><a $nClass href='$urlquery_str"."pages=".intval($i+1)."'>".intval($i+1)."</a> ";
}
}
}
if($chk_page>=$lt_page){
for($i=0;$i<=4;$i++){
$nClass=($chk_page==($lt_page+$i-1))?"class='selectPage'":"";
echo "<a $nClass href='$urlquery_str"."pages=".intval($lt_page+$i)."'>".intval($lt_page+$i)."</a> ";
}
}
}else{
for($i=0;$i<$total_p;$i++){
$nClass=($chk_page==$i)?"class='selectPage'":"";
echo "<a href='$urlquery_str"."pages=".intval($i+1)."' $nClass >".intval($i+1)."</a> ";
}
}
if($chk_page<$total_p-1){
echo "<a href='$urlquery_str"."pages=".intval($pNext+1)."' class='naviPN'>Next</a>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
/* css แบ่งหน้า */
.browse_page{
clear:both;
margin-left:12px;
height:25px;
margin-top:5px;
display:block;
}
.browse_page a,.browse_page a:hover{
display:block;
height:25px;
width:45px;
font-size:14px;
float:left;
margin:0px 5px;
border:1px solid #CCCCCC;
background-color:#F4F4F4;
color:#333333;
text-align:center;
line-height:22px;
font-weight:bold;
text-decoration:none;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
.browse_page a:hover{
border:1px solid #CCCCCC;
background-color:#000000;
color:#FFFFFF;
}
.browse_page a.selectPage{
display:block;
height:25px;
width:45px;
font-size:14px;
float:left;
margin-right:2px;
border:1px solid #CCCCCC;
background-color:#000000;
color:#FFFFFF;
text-align:center;
line-height:22px;
font-weight:bold;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
.browse_page a.SpaceC{
display:block;
height:25px;
width:45px;
font-size:14px;
float:left;
margin-right:2px;
border:0px dotted #0A85CB;
background-color:#FFFFFF;
color:#333333;
text-align:center;
line-height:22px;
font-weight:bold;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
.browse_page a.naviPN{
width:50px;
font-size:12px;
height:25px;
display:block;
/* width:25px; */
float:left;
border:1px solid #CCCCCC;
background-color:#000000;
color:#FFFFFF;
text-align:center;
line-height:22px;
font-weight:bold;
-webkit-border-radius: 10px;
-moz-border-radius: 10px;
border-radius: 10px;
}
/* จบ css แบ่งหน้า */
/* css สำหรับแถวคี่ */
.RowOdd{
background-color:#EAEAEA;
}
/* css สำหรับแถวคู่ */
.RowEven{
background-color:#FBFBFB;
}
/* css สำหรับแภวที่เลือก */
.selectedRow{
background-color:#99FF00;
}
#position {
}
</style>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$("#checkAll").click(function(){
var parentTR=$(".RowOdd,.RowEven");
var statusCheckBox=($(this).prop("checked"))?true:false;
$(this).parents(".myTable").find(".myChkBox").prop("checked",statusCheckBox);
$(this).parents(".myTable").find(".myChkBox").each(function(j,k){
if(statusCheckBox){
set_cookie("chkbox",1,$(".myChkBox").eq(j).val());
}else{
set_cookie("chkbox",0,$(".myChkBox").eq(j).val());
}
});
if($(this).prop("checked")){
parentTR.addClass("selectedRow");
set_cookie("chkbox_all",1,$(this).val());
}else{
parentTR.removeClass("selectedRow");
set_cookie("chkbox_all",0,$(this).val());
}
});
$("input.myChkBox").click(function(){
var parentTR=$(this).parents(".RowOdd,.RowEven");
if($(this).prop("checked")){
parentTR.addClass("selectedRow");
set_cookie("chkbox",1,$(this).val());
$("#position").show();
}else{
parentTR.removeClass("selectedRow");
set_cookie("chkbox",0,$(this).val());
$("#position").hide();
}
});
});
function set_cookie(cname,action,val){
var date = new Date();
if(action==1){
var days=1; // กำหนดจำนวนวันที่ต้องการให้จำค่า
date.setTime(date.getTime()+(days*24*60*60*1000));
}else{
date.setTime(date.getTime()*-1);
}
var expires = "; expires="+date.toGMTString();
document.cookie = cname+"["+val+"]=" +val+ "; expires=" + expires + "; path=/";
}
</script>
</head>
<body>
<table width="800" border="0" align="center" cellpadding="0" cellspacing="0">
<tbody>
<tr>
<td align="left">
<br />
<br />
<form id="form1" name="form1" method="post" action="test_submit_checkbox.php?<?=time()?>">
<table class="myTable" width="80%" border="1" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="43" height="25" align="center" bgcolor="#CCFFCC">
<?php
$cookie_page=(!isset($_GET['pages']))?1:$_GET['pages'];
?>
<input name="checkAll" type="checkbox" id="checkAll" value="<?=$cookie_page?>"
<?=($_COOKIE['chkbox_all'][$cookie_page]==$cookie_page)?"checked":""?> />
</td>
<td width="47" height="25" align="center" bgcolor="#CCFFCC">ลำดับ</td>
<td width="242" height="25" align="center" bgcolor="#CCFFCC">ชื่อ-สกุล</td>
<td width="123" height="25" align="center" bgcolor="#CCFFCC">เลขประจำตัว</td>
<td width="123" height="25" align="center" bgcolor="#CCFFCC">ตำแหน่ง</td>
<td width="123" height="25" align="center" bgcolor="#CCFFCC">แผนก</td>
<td width="123" height="25" align="center" bgcolor="#CCFFCC">ตำแหน่ง</td>
</tr>
<?php
$i=1;
$q="SELECT * FROM employee WHERE 1 ";
$qr=@mysql_query($q)or die(mysql_error());
$total=@mysql_num_rows($qr);
$e_page=10; // กำหนด จำนวนรายการที่แสดงในแต่ละหน้า
if(!isset($_GET['pages'])){
$_GET['pages']=0;
}else{
$_GET['pages']=$_GET['pages']-1;
if($_GET['pages']<0){
$_GET['pages']=0;
}
$chk_page=$_GET['pages'];
$_GET['pages']=$_GET['pages']*$e_page;
}
$q.=" ORDER BY emp_id LIMIT ".$_GET['pages'].",$e_page";
$qr=@mysql_query($q);
if(@mysql_num_rows($qr)>=1){
$plus_p=($chk_page*$e_page)+@mysql_num_rows($qr);
}else{
$plus_p=($chk_page*$e_page);
}
$total_p=ceil($total/$e_page);
$before_p=($chk_page*$e_page)+1;
/// END PAGE NAVI ZONE
while($rs=@mysql_fetch_array($qr)){
?>
<tr class="<?=($i%2==1)?"RowOdd":"RowEven"?><?=($_COOKIE['chkbox'][$rs['emp_id']]==$rs['emp_id'])?" selectedRow":""?>">
<td height="25" align="center">
<input name="item[]" type="checkbox" class="myChkBox" id="item[]" value="<?=$rs['emp_id']?>"
<?=($_COOKIE['chkbox'][$rs['emp_id']]==$rs['emp_id'])?"checked":""?> />
</td>
<td height="25" align="center"><?=(($e_page*$chk_page)+$i)?></td>
<td height="25" align="left"> <?=$rs['emp_fname']?> <?=$rs['emp_lname']?></td>
<td height="25" align="left"> <?=$rs['emp_id']?></td>
<td height="25" align="left"> <?=$rs['emp_position']?></td>
<td height="25" align="left"> <?=$rs['sec_id']?></td>
<td height="25" align="left">
<select name="position" class="textboxinput" id="position" >
<option value="">ตำแหน่งทำงาน</option>
<?php
$objConnect = mysql_connect("localhost","root","root");
$objdatabase = mysql_select_db("project");
mysql_query("SET NAMES UTF8");
$strSQL = "SELECT * FROM type_couse ORDER by type_id";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
?>
<option value="<?php echo $objResult["type_id"] ?>"><?php echo $objResult["type_id"] ?> <?php echo' - '?> <?php echo $objResult["type_name"] ?></option>
<?php
} // end while
?>
</select>
</td>
</tr>
<?php $i++; } ?>
</table>
<br />
<center>
<input type="submit" name="button" id="button" value="Submit" />
</center>
</form>
<br />
<br />
</td>
</tr>
</tbody>
<thead>
<tr>
<td align="left">
<div style="margin:auto;width:95%;">
<?php if($total>$e_page){ ?>
<div class="browse_page">
<?php
if(count($_GET)<=1){
$urlquery_str="?";
}else{
$para_get="";
foreach($_GET as $key=>$value){
if($key!="pages"){
$para_get.=$key."=".$value."&";
}
}
$urlquery_str="?$para_get";
}
// เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า
page_navi($before_p,$plus_p,$total,$total_p,$chk_page);
?>
</div>
<?php } ?>
</div>
</td>
</tr>
</thead>
<tfoot>
<tr>
<td align="left">
<div style="margin:auto;width:95%;">
<?php if($total>$e_page){ ?>
<div class="browse_page">
<?php
// เรียกใช้งานฟังก์ชั่น สำหรับแสดงการแบ่งหน้า
page_navi($before_p,$plus_p,$total,$total_p,$chk_page);
?>
</div>
<?php } ?>
</div>
</td>
</tr>
</tfoot>
</table>
</body>
</html>
Tag : PHP, MySQL, CSS, jQuery, XAMPP
ประวัติการแก้ไข 2017-08-20 07:49:16 2017-08-20 07:49:51
Date :
2017-08-20 07:45:01
By :
beer
View :
860
Reply :
1
session_start()
session_destroy()
$_SESSION['magic name']
Date :
2020-07-30 12:26:23
By :
PhrayaDev
Load balance : Server 04