Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ติก checkbox หลายหน่วยเพื่อแสดงผล... หน้าหลักเขียน ถ้าเกิด 1 แถว เรียงครบ 3 คอลัมน์แล้วก็ให้วนลูปไปเริ่มแถวใหม่ อีก 3 คอลัมน์ต่อไปเรื่อยๆ



 

ติก checkbox หลายหน่วยเพื่อแสดงผล... หน้าหลักเขียน ถ้าเกิด 1 แถว เรียงครบ 3 คอลัมน์แล้วก็ให้วนลูปไปเริ่มแถวใหม่ อีก 3 คอลัมน์ต่อไปเรื่อยๆ

 



Topic : 001516

Guest




<html>
<head>
<title>หน้าหลักเขียน</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-874">
<link href="../color/tm.css" type="text/css" rel="stylesheet">
</head>

<style type="text/css">
<!--
BODY {font-family:;font-size="14"}
A:link {text-decoration: none; color: blue }
A:visited {text-decoration: none; color: blue }
A:hover {text-decoration: none; color: darkorange }
A:active {text-decoration: none; color: blue }
p, div, td, ul li, ol li { font-family: MS Sans Serif, Microsoft Sans Serif; font-size: 10pt }
-->
</style>
<?
$division=$_POST['division'];
?>
<body leftmargin="0" topmargin="0" rightmargin="0">
<table align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="100%">
<tr>
<td>
<table width=100% border=0 cellPadding=0 cellSpacing=0>
<tbody>
<tr>

<td valign=top width=100%>
<table background="" border=0 cellPadding=0 cellSpacing=0 width=100%>
<tbody>
<tr>
<td width="100%" align=right><img src="../../image/adv.gif" width="193" height="89"><img border=0 height=89 src="../contactlogo/contactlogo.jpg" width=585></td>
</tr>
<tr>
</tr></tbody></table>
<div align="right"></div></td></tr></tbody></table>
</td>
</tr>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" style="border-collapse: collapse">
<form method="post" action"index.php">
<input type=hidden name=division value=".$division.">
<input type=hidden name=idmainpos value=".$idmainpos.">
<input type=hidden name=idsubpos value=".$idsubpos.">
<tr bgcolor="#D2E9FF">
<?
$s = @mssql_connect("xxx", "xxx", "xxx") or die("Couldn't connect to SQL Server on $myServer");
$d = @mssql_select_db("xxx", $s) or die("Couldn't open database $myDB");
$result = mssql_query("select division,divisionname from division");

$count=0;//นับค่าของcheckbox
$i=0; //กำหนดค่าให้เป็นค่าเริ่มต้น
while($row=mssql_fetch_array($result))
{
echo("<td bgcolor=#D2E9FF>
<input type=checkbox name=checkbox[".$count."] value=".$row['division']." checked>
<font color=darkred size=2 face=MS Sans Serif><strong>".$row['divisionname']."</strong></font>
<input type=hidden name=sum value=$count>
</td>");
?>
<?
$i++;
if(($i%3)==0) // ถ้าเกิด 1 แถว เรียงครบ 3 คอลัมน์แล้วก็ให้วนลูปไปเริ่มแถวใหม่ อีก 3 คอลัมน์ต่อไปเรื่อยๆ
{
echo("</tr><tr>");
}
}
?>
</tr>
<td colspan="3"> <div align="center"><font color="666666" size="2" face="MS Sans Serif">&nbsp;
<input type="submit" name="Submit3" class='FlatTextBox' value="แสดงผล" >
</font></div>
</td>
</tr>
</form>
</table>

<?
//==================================================================
//รับข้อมูลจาก checkbox เพื่อนำค่าไปเปรียบเทียบ
$sum = $_POST['sum'];
for( $i= 0; $i<$sum ; $i++) $checkbox[$i]=$_POST['checkbox'][$i];

for ($i=0; $i<count($checkbox); $i++)
{
if ($checkbox[$i]=="on")
{
$select.=$select.$checkbox[$i]." OR ";
}
}
$select = substr($select, 0, -4);

//===================================================================
//แบ่งหน้า

$pagesize=10; // กำหนดว่าหน้า 1 แสดงกี่ Reccord
$pageNo = $_GET['page'];
if ($pageNo=="") $pageNo = 1;

$s = @mssql_connect("xxx", "xxx", "xxx") or die("Couldn't connect to SQL Server on $myServer");
$d = @mssql_select_db("xxx", $s) or die("Couldn't open database $myDB");

$result = mssql_query("SELECT c.id,c.idempcontact,c.title,c.detail,c.division WHERE division=$select ORDER BY c.id DESC");
$i=1;
if( mssql_num_rows($result)>0 && $pageNo >1 && $i <= (($pageNo-1)*$pagesize)) // เลื่อนหน้า
for(;$i<=(($pageNo-1)*$pagesize) ; $i++) $row = mssql_fetch_array($result);

// แสดงรายการทั้งหมด
while( mssql_num_rows($result) > 0 && $i>=(pageNo-1)*$pagesize && $i<=$pageNo*$pagesize && $row =
mssql_fetch_array ($result))
{
?????????..
} // แสดงรายการทั้งหมด
echo("</TABLE></TABLE>");
?>
</table>
</body>
</html>
// ปัญหาก็คือ $select.=$select.$checkbox[$i]." OR "; ($select ผลลัพธ์ไม่ออกครับ) งั้นผมจะแสดงการทำงานนะครับว่าทำงานยังไง คือตอนนี้ $result = mssql_query("select division,divisionname from division"); โดยที่ divisionคือรหัสแผนก และ divisionnameคือ ชื่อแผนก ซึ่งได้ตัวอย่างดังนี้ครับ
01 การเงิน , 02 การตลาด , 03 การบัญชี ,??..ประมาณ 10 แผนก การทำงานคือ ถ้าผมติกcheckการเงินก็จะแสดงผลของการเงินออกมา หรือ ผมติกcheckbox ทั้งการเงินและการตลาด(ในโค้ดคือการเงิน OR การตลาด) ก็จะแสดงผลของการเงินและการตลาดออกมาหรือ ผมติกcheckbox ทั้งการเงินและการตลาดและการบัญชี(ในโค้ดคือการเงิน OR การตลาด OR การบัญชี) ก็จะแสดงผลของการเงินและการตลาดและการบัญชี ออกมา แต่ปัญหาผมคือค่า $select ค่ายังไม่ออกมาครับ แล้วถ้าเราเปิดเว็บออกมาแล้วเป็นหน้ารวมแผนกก่อนจะต้องทำยังไงบ้างครับ??ยังไงช่วยแก้ให้หน่อยนะครับ หรือมีเทคนิคดีๆก็ช่วยเสริมก็ได้นะครับ ??ช่วยหน่อยนะครับ...จะส่งโปรเจ็คให้อาจารย์วันจันทร์นี้แล้วครับเหลือแสดงผลอย่างเดียวครับ.....ขอขอบคุณมากครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 27 Aug 2547 11:15:02 By : ตั้ม View : 3935 Reply : 3
 

 

No. 1



โพสกระทู้ ( 98 )
บทความ ( 0 )



สถานะออฟไลน์


$result = mssql_query("SELECT c.id,c.idempcontact,c.title,c.detail,c.division WHERE division=$select ORDER BY c.id DESC");
ในส่วนนี้ ตรง command ต้องเป็น
"select c.id,c.idempcontact,c.title,c.detail,c.division WHERE division= '01' or division = '02' ORDER BY c.id DESC"
แต่คุณแทนตรงส่วน WHERE ด้วยตัวแปร $select ใช่ไม๊ครับ ถ้าอย่างนั้นตรงส่วน
$select.=$select.$checkbox[$i]." OR ";
ก้ต้องเป็น $select .= "division ='".$checkbox[$i]."' OR ";
สงสัยอีกอย่าง
if ($checkbox[$i]=="on")
checkbox ของคุณ value จะเป็น 01,02,03 ไม่ใช่หรือครับ ถ้าใช่มันก้จะไม่ทำงานส่วนนี้นะครับ ลองไล่โปรแกรม และค่าแต่ละตัวแปรดูอีกทีนะครับ
ตรง <input type=checkbox name=checkbox[".$count."] value=".$row['division']." checked> ไม่จำเป็นต้องใส่ $count ก้ได้นะครับ ใช้ checkbox[] ไปเลยครับ หรือใส่เพื่อจุดประสงค์อื่น แล้วตรง
<input type=hidden name=sum value=$count> มันวนลูปสร้าง hidden ชื่อ sum ตามจำนวน division ของคุณเลยนะครับ เวลา sumit ไปค่าอาจจะไม่ถูกก้ได้นะครับ ผมเข้าใจว่าคุณเอาไว้นับจำนวนใช่ไม๊ครับ ให้ใช้วิธีเก็บไว้ในตัวแปร $sum++;
แล้วค่อยใส่ hidden field นอกลูป ครับ ลองดูใหม่นะครับ






Date : 27 Aug 2547 14:07:54 By : onizuka
 


 

No. 2

Guest


"ให้ใช้วิธีเก็บไว้ในตัวแปร $sum++; แล้วค่อยใส่ hidden field นอกลูป ครับ ลองดูใหม่นะครับ "
ทำแบบไหนครับ ลองเขียนให้ดูหน่อยนะครับ...พี่มีเมล์หรือเปล่าครับ...ช่วยบอกหน่อยครับผมจะได้ให้พี่ดูทั้งหมดเลยครับ..
Date : 27 Aug 2547 14:24:03 By : ตั้ม
 

 

No. 3



โพสกระทู้ ( 98 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าต้องการนับจำนวนทั้งหมดก้ใช้ค่า $i ก้ได้ครับ ที่ว่าให้ใส่ hidden นอกลูป หมายถึงลูป while อะครับ แล้วที่สังเกตอีกอย่าง ค่า $count ของคุณ เป็น 0 ครับ เมื่อมาเป็น value ของ input type=hidden name='sum'
$sum = $_POST['sum']; จึงมีค่าเท่ากับ 0 จึงไม่ทำลูป for( $i= 0; $i<$sum ; $i++) เพราะลูปนี้จะทำงานก้ต่อเมื่อ $i<$sum (0<0) เงื่อนไขนี้จึงไม่มีโอกาสเป็น true ได้ครับ ลองไล่โปรแกรมอีกทีครับ ไม่ยากครับไม่ยาก ส่วนเมลล์ผม ก้ [email protected] ครับ
Date : 27 Aug 2547 18:33:21 By : onizuka
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ติก checkbox หลายหน่วยเพื่อแสดงผล... หน้าหลักเขียน ถ้าเกิด 1 แถว เรียงครบ 3 คอลัมน์แล้วก็ให้วนลูปไปเริ่มแถวใหม่ อีก 3 คอลัมน์ต่อไปเรื่อยๆ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่