ถ้าเราต้องการรับค่า จาก Checkbox ทั้งแถวในตาราง จะใส่ value อะไรเพื่อส่งค่าไปหน้าต่อไป แล้ว หน้าต่อไปจะรับค่าแบบไหนคะ
สร้าง Checkbox เป็นแบบ Array ก่อนครับ (อาจจะดึงข้อมูลจากดาต้าเบสมาแสดงใน Checkbox
Code (PHP)
<input name="productid[]" id="productid" type="checkbox" value="<?=$resultTotal["productid"]; ?>" /> <?=$resultTotal["productname"]; ?>
form รับ
Code (PHP)
<table width="600" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><div align="center">รหัสวิชา</div></td>
<td><div align="center">ชื่อวิชา</div></td>
<td><div align="center">หน่วยกิต</div></td>
<td><div align="center">กลุ่มวิชา</div></td>
</tr>
<?
$cuount_product_id=count($_POST['productid']);
$productname=$_POST["productname"];
$productid=$_POST['productid'];
foreach ($productid as $value){
$sql_select_product=mysql_query("select * from product where productid='$productidas ' ")
while($result=mysql_fetch_array($sql_select_product)){
?>
<tr>
<td><?=$_POST['name_subject']?></td>
<td><?=$_POST['credit']?></td>
<td><?=$_POST['type_subgroup']?></td>
</tr>
<? } ?>
ตัวแปรผมเกี่ยวกับสินค้า คุณก็ลองเอาไปดัดแปลงเองนะครับ
Date :
2012-05-04 09:37:51
By :
keng_ds
Code (PHP)
<table width="600" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><div align="center">รหัสวิชา</div></td>
<td><div align="center">ชื่อวิชา</div></td>
<td><div align="center">หน่วยกิต</div></td>
<td><div align="center">กลุ่มวิชา</div></td>
</tr>
<?
$sql_show = "select * from vocational_education where type_subgroup ='หมวด1(กลุ่มวิชาภาษา 12 หน่วยกิต)กลุ่มวิชาภาษาอังกฤษ 9 หน่วยกิต' order by credit";
$result_show = mysql_query($sql_show) or die(mysql_error());
while($row_show = mysql_fetch_array($result_show))
{
?>
<tr>
<td><div align="left">
<?=$row_show['id_subject']?>
</div></td>
<td><div align="left">
<?=$row_show['name_subject']?>
</div></td>
<td><div align="left">
<?=$row_show['credit']?>
</div></td>
<td><div align="left">
<?=$row_show['type_subgroup']?>
</div></td>
<td><input name="checkbox[]" type='checkbox' value="<?php echo $row_show['id_subject']."+".$row_show['name_subject']."+".$row_show['credit']."+".$row_show['type_subgroup']; ?>" /></td>
</tr>
<?
}
?>
</table>
</div>
<p align="center">
<input name="Search" type="submit" value="เลือก"/>
</p>
Code (PHP)
<?php
require_once('Connections/mai_inn.php');
$foryear[0]="name_subject";
$foryear[1]="id_subject";
$foryear[3]="credit";
$cb = $_POST['checkbox'];
?>
<table width="600" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><div align="center">รหัสวิชา</div></td>
<td><div align="center">ชื่อวิชา</div></td>
<td><div align="center">หน่วยกิต</div></td>
<td><div align="center">กลุ่มวิชา</div></td>
</tr>
<?php
foreach( $cb as $value ){
//echo $value, ' <br>';
$data = explode("+",$value);
?>
<tr>
<td><?=$data[1]?></td>
<td><?=$data[2]?></td>
<td><?=$data[3]?></td>
</tr>
<?php
}
?>
</table>
ประวัติการแก้ไข 2012-05-04 09:43:28 2012-05-04 09:45:07
Date :
2012-05-04 09:41:57
By :
sakuraei
ขอบคุณสำหรับคำตอบนะคะ
ขอถามเพิ่มหน่อยนะคะ ถ้าเรามีเงื่อนไขมีหลายเงื่อนไขอ่ะคะ ถ้าเราเลือก เหมือนกับเป็นการจับคู่ เราจะต้องเอาโค๊ดด้านล้างไปใส่ไว้ในส่วนของ หน้ารับหรือหน้าส่งหรอคะ
Code (PHP)
if($data[0] = '3000-1220'and '3000-1223'and '3000-1225'){
if ($data[0] = '3000-1220' and '3000-1228' and '3000-1225'){
if ($data[0] = '3000-1220'and '3000-1223'and '3000-1228'){
if ($data[0] = '3000-1220'and '3000-1223'and '3000-1225'){
if ($data[0] = '3000-1220'and '3000-1222'and '3000-1223'){
if ($data[0] = '3000-1220'and '3000-1222'and '3000-1228'){
echo $data[0];
}else
Date :
2012-05-04 10:28:55
By :
mumai
Code (PHP)
if($data[0] == '3000-1220' and $data[0] == '3000-1223' and $data[0] == '3000-1225'){
if ($data[0] == '3000-1220' and $data[0] == '3000-1228' and $data[0] == '3000-1225'){
...............
..................
echo $data[0];
}else
ผมไม่ทราบจุดประสงค์ของการออกแบบเงื่อนไขลักษณะนี้ และรู้สึกงงครับ
Date :
2012-05-04 10:37:00
By :
sakuraei
คือ ใน id_subject เป็น รหัสคะ ต้องการที่จะ เอาจะหัสที่ เลือกมา มาจับคู่กัน ก็เลยใช้คำสั่ง if คือ ถ้าเลือก รหัส 1111, 222 , 333 ข้อมูลถึงจะโชว์ แต่ถ้าข้อมูลที่เลือกมาไม่ครบ จะไม่โชว์ ข้อมูล
Date :
2012-05-04 10:44:04
By :
mumai
ใช้การเช็คเงื่อนไขหลายตัวใน if ไม่ได้หรอกครับ เพราะ if มันจะอยู่ในลูป (ที่วนเอาค่าออกมาจากตัวแปร checkbox)
คุณทำแบบนี้ไม่ได้ครับ if($data[0] == ...... and $data[0] == ..... and ........)
Date :
2012-05-04 11:03:00
By :
sakuraei
แล้วเราต้องการที่จะ ข้อมูล 3 อันผูกกันแล้ว ทำการเช็กเงื่อนไข จะต้องใช้ รูปแบบ แบบไหนคะ คือ พยายามแล้วจริงๆคะ
Date :
2012-05-04 11:10:09
By :
mumai
จับภาพหน้าตาของโปรแกรม พร้อมอธิบายประกอบมาด้วยครับ
Date :
2012-05-04 11:12:52
By :
sakuraei
ป็นหน้าตาของ ตัวส่ง คะ
ถ้าเราเลือกตรงตามที่กำหนดไว้ ข้อมูลจะปรากฏแต่ถ้าเลือกแค่ 2 จะไม่มีข้อมูลใดใดคะ
Date :
2012-05-04 11:27:13
By :
mumai
ช่วยหน่อยนะคะ
Date :
2012-05-04 11:59:50
By :
mumai
Code (PHP)
<?php
require_once('Connections/mai_inn.php');
$foryear[0]="name_subject";
$foryear[1]="id_subject";
$foryear[3]="credit";
$cb = $_POST['checkbox'];
$subject_group1 = array('3000-1220','3000-1223', '3000-1225');
?>
<table width="600" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><div align="center">รหัสวิชา</div></td>
<td><div align="center">ชื่อวิชา</div></td>
<td><div align="center">หน่วยกิต</div></td>
<td><div align="center">กลุ่มวิชา</div></td>
</tr>
<?php
$count=0;
foreach( $cb as $value ){
//echo $value, ' <br>';
$data = explode("+",$value);
if(in_array($data[0],$subject_group1))
{$count++;}
?>
<tr>
<td><?=$data[1]?></td>
<td><?=$data[2]?></td>
<td><?=$data[3]?></td>
</tr>
<?php
}
if($count>=3){ echo "เลือกครบตามที่กำหนดครับ"; }
?>
</table>
Date :
2012-05-04 12:06:34
By :
sakuraei
เราสามารถกำหนดได้มั้ยคะ ว่าถ้าข้อมูลที่เลือกมามันไม่ครบ 3ตัว ข้อมูลที่เลือกก็จะไม่แสดงผล ออกทางหน้าจอ ทำได้มั้ยคะ
Date :
2012-05-04 12:53:07
By :
mumai
Code (PHP)
<?php
require_once('Connections/mai_inn.php');
$foryear[0]="name_subject";
$foryear[1]="id_subject";
$foryear[3]="credit";
$cb = $_POST['checkbox'];
$subject_group1 = array('3000-1220','3000-1223', '3000-1225');
?>
<table width="600" border="1" cellspacing="2" cellpadding="2">
<tr>
<td><div align="center">รหัสวิชา</div></td>
<td><div align="center">ชื่อวิชา</div></td>
<td><div align="center">หน่วยกิต</div></td>
<td><div align="center">กลุ่มวิชา</div></td>
</tr>
<?php
$count=0;
$Output="";
foreach( $cb as $value ){
$data = explode("+",$value);
if(in_array($data[0],$subject_group1)){
$count++;
$Output .= "<tr><td>".$data[1]."</td><td>".$data[2]."</td><td>".$data[3]."</td></tr>\n";
}
}
if($count>=3){ echo $Output; }
?>
</table>
ประวัติการแก้ไข 2012-05-04 13:01:53
Date :
2012-05-04 12:58:34
By :
sakuraei
ถ้าไม่สมัครสมาชิก ผมก็จะไม่ตอบให้ล่ะ
Date :
2012-05-04 12:59:46
By :
sakuraei
โอเค ค่ะ
พี่ค่ะ ทำไมพอเราใส่ไป ต่อให้เราติด3 ช่อง มันก้อไม่ขึ้น
Code (PHP)
<?php
require_once('Connections/mai_inn.php');
$foryear[0]="id_subject";
$foryear[1]="name_subject";
$foryear[2]="credit";
$cb = $_POST['checkbox'];
$subject_group1 = array('3000-1220','3000-1223', '3000-1225');
?>
<center>
<table width="600" border="1" cellspacing="0" cellpadding="5">
<tr>
<td><div align="center">รหัสวิชา</div></td>
<td><div align="center">ชื่อวิชา</div></td>
<td><div align="center">หน่วยกิต</div></td>
</tr>
<?
$count=0;
$Output="";
foreach( $cb as $value ){
$data = explode("+",$value);
if(in_array($data[0],$subject_group1)){$count++;}
$Output .= "<tr><td>".$data[0]."</td><td>".$data[1]."</td><td>".$data[2]."</td></tr>\n";
}
//if($count>=3){ echo $Output; }
?>
</table>
<a href="#" onclick="javascript:history.go(-1);">กลับไปแก้ไข</a></p></center>
Date :
2012-05-04 13:28:27
By :
mumai
ยังไม่ได้เลยคะ รบกวนหน่อยนะคะ
Date :
2012-05-04 14:21:35
By :
mumai
งั้นต้องเอาโค้ด หน้าส่งและหน้ารับ มาดู พร้อมทั้งตัวอย่างข้อมูลในเดต้าเบสด้วย
Date :
2012-05-04 16:34:01
By :
sakuraei
Load balance : Server 05