การ rowspan ครับ แต่ตารางมันเบี้ยวครับ (พี่หนุ่มไม่อยากช่วยผมอีกหรอครับ อิอิ)
ผมต้องการ rowspan ตามค่าที่ count ได้ครับ แล้วใช้<?echo $Resultceo1["name_ceo"];?> มันเป็นแบบนี้ไม่ตรงกับความต้องการ
แต่ถ้าใช้พิม์ ข้อความไปตรงๆ กลับได้ตรงตามต้องการ
ไม่ทราบว่ามันผิดตรงไหนครับ (บรรทัดที่ 45) ช่วยผมหน่อย
Code (PHP)
<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000">
<tr>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">ผู้บริหาร</span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">เวลา</span></th>
<th width="500" align="center" valign="middle" bgcolor="#999999"><span class="style13">กำหนดการ / ภารกิจ </span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">สถานที่</span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">หมายเหตุ</span></th>
</tr>
<?
$sqlplan1ceo1 = "SELECT
tbplan.id_plan,
tbplan.name_plan,
tbplan.date_plan,
tbplan.time_plan,
tbplan.ceo,
tbplan.place,
tbplan.etc,
tbceo.level,
tbceo.id_ceo,
tbceo.name_ceo,
tblevel.id_level,
tblevel.name_level, DATE_FORMAT(CONCAT(CURRENT_DATE,' ',time_plan),'%H.%i') AS timer
FROM
tbplan
Inner Join tbceo ON tbplan.ceo = tbceo.id_ceo
Inner Join tblevel ON tblevel.id_level = tbceo.level WHERE date_plan='$adate' AND level='1' ORDER BY time_plan ASC";
//$sqlplan1 = "SELECT *, DATE_FORMAT(CONCAT(CURRENT_DATE,' ',time_plan),'%H.%i') AS timer FROM tbplan WHERE date_plan='$adate' ORDER BY time_plan ASC";
$objceo1 = mysql_query($sqlplan1ceo1);
$numceo1=mysql_num_rows($objceo1);
$Resultceo1 = mysql_fetch_array($objceo1);
echo $numceo1;
if ($numceo1 == 0){
?>
<tr>
<td width="200" height="25" align="center" valign="middle"><span class="style101">ผู้ว่าราชการจังหวัดลำปาง</span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101">-</span></td>
<td width="400" height="25" align="center" valign="middle"><span class="style101">ไม่พบข้อมูล / ภาระกิจ</span></td>
<td width="80" height="25" align="center" valign="middle"><span class="style101">-</span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101">-</span></td>
</tr>
<?}else {?>
<tr>
<td width="200" height="25" rowspan="<?echo $numceo1;?>" align="center" valign="middle"><span class="style101">ผู้ว่าราชการจังหวัดลำปาง <?echo $Resultceo1["name_ceo"];?></span></td>
<?
While($objResultceo1 = mysql_fetch_array($objceo1)){
$timeceo1=$objResultceo1["timer"];
$id_planceo1=$objResultceo1["id_plan"];
$name_planceo1=$objResultceo1["name_plan"];
$dateceo1=$objResultceo1["date_plan"];
//$time=$objResult1["time_plan"];
$ceo1=$objResultceo1["ceo"];
$placeceo1=$objResultceo1["place"];
$etcceo1=$objResultceo1["etc"];
$name_ceo1=$objResultceo1["name_ceo"];
$name_levelceo1=$objResultceo1["name_level"];
?>
<td width="100" height="25" align="center" valign="middle"><span class="style101"><?php echo $timeceo1.' น.';?></span></td>
<td width="400" height="25" align="left" valign="middle"><span class="style101">
<?=$name_planceo1?>
</span></td>
<td width="80" height="25" align="center" valign="middle"><span class="style101"><?php echo $placeceo1;?></span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101"><?php echo $etcceo1;?></span></td>
</tr>
<?
}
}
</table>
Tag : - - - -
Date :
2009-10-27 22:00:13
By :
oasiis
View :
3059
Reply :
14
ช่วยหน่อยได้มั้ยครับ งมมานานแล้ว
Date :
2009-10-27 23:15:43
By :
oasiis
จะใช้ php อย่างเดียวมันก็ได้อะนะ แต่โค้ดจะยุ่งขึ้นเยอะเลยใช้ javascript ช่วย merge ละกัน
คือไม่ต้องใช้ rowspan เลยสร้างตารางแบบธรรมดาๆ กำหนด id ของตาราง ="merge" แค่นี้มันก็ merge ให้อัตโนมัติแล้วครับ
http://www.enghiong.com/merge-table-cells-using-javascript.html
แน่มีระบุชื่ออีกนะ พอดีวันนี้ไม่ค่อยว่างน่ะเลยยังไม่ได้มาตอบ
Date :
2009-10-28 00:37:47
By :
num
ไม่ได้ครับ มัน merge ให้จริง แต่มัน merge รวมกันหมดเลย แล้วเป็นชื่อๆ เดียว
Date :
2009-10-28 03:44:33
By :
oasiis
ไม่ได้ครับ มัน merge ให้จริง แต่มัน merge row รวมกันหมดเลย แล้วเป็นชื่อๆ เดียว
Date :
2009-10-28 03:45:21
By :
oasiis
แบบนี้ไม่ถูกหรือครับ
<?php
$table = array(
array('province'=>'กรุงเทพ','name'=>'กอร์น','salary'=>'10001'),
array('province'=>'กรุงเทพ','name'=>'คิรัว','salary'=>'10002'),
array('province'=>'ฉะเชิงเทรา','name'=>'โปเกมอน','salary'=>'10003'),
array('province'=>'ฉะเชิงเทรา','name'=>'โกคู','salary'=>'10004'),
array('province'=>'เชียงใหม่','name'=>'โนบิตะ','salary'=>'10005'),
array('province'=>'เชียงใหม่','name'=>'ใจแอนท์','salary'=>'10006'),
);
?>
<table border="1" id="merge">
<tr>
<td>province</td><td>name</td><td>salary</td>
</tr>
<?php while (list(,$row) = each($table)): ?>
<tr>
<td><?php echo $row['province'];?></td>
<td><?php echo $row['name'];?></td>
<td><?php echo $row['salary'];?></td>
</tr>
<?php endwhile; ?>
</table>
<script language="javascript">
var myTable = document.getElementById('merge');
var rows = myTable.getElementsByTagName('tr');
var numRows = rows.length;
var numRowSpan=1;
for (var j = 1; j <(numRows-1); j++) {
if (numRowSpan<=1) {
var currentRow = myTable.getElementsByTagName('tr')[j];
var currentCell= currentRow.getElementsByTagName('td')[0]; // the 1st column
var currentCellData = currentCell.childNodes[0].data;
}
if (j<numRows-1) {
if (myTable.getElementsByTagName('tr')[j+1]) {
var nextRow = myTable.getElementsByTagName('tr')[j+1];
var nextCell = nextRow.getElementsByTagName('td')[0];
var nextCellData = nextCell.childNodes[0].data;
// compare the current cell and the next cell
if (currentCellData == nextCellData) {
numRowSpan += 1;
currentCell.rowSpan = numRowSpan;
nextCell.style.display = 'none'; //disappear the next cell
} else {
numRowSpan = 1;
}
}
}
}
</script>
Date :
2009-10-28 08:02:00
By :
num
ขอแจมด้วยคนนะครับพี่หนุ่ม โค้ด ที่เทพดี dynamic สุดๆ เลยเอามาเล่น ดู ชอบแนวการเขียนโค้ดพี่หนุ่ม จัง สั้นได้ใจ
ผมขออนุญาติเก็บเข้ากรุ ก่อนนะครับ หุ หุ
ใช้ javascript เหมือนเดิมครับ แต่ ว่า คุณ oasiis ต้อง เซ็ต format data ให้เป็นแบบนี้ ครับ
แล้วได้แน่นอนครับ ผมว่าที่คุณติดคือ คุณไม่รู้จะ query ข้อมูลให้ออกมาเป็น array แบบนี้ได้อย่างไรหรือเปล่าครับ
เอาใจช่วยครับ ขอให้ทำได้เร็วๆ นะครับ
<style type="text/css">
#merge { border-collapse:collapse; font-size:14px; font-family: MS Sans Serif; }
#merge th { background-color:#666; color:#FFF; height:35px; }
#merge tbody td { text-align:center; height:30px; }
#merge tbody tr:hover { background-color:#6F6;}
</style>
<?php
$table = array(
array('position'=>'ผู้ว่าราชการจังหวัดลำปาง', 'time'=>'00.20 น.', 'mission'=>'10001', 'x'=>'-', 'y'=>'-'),
array('position'=>'ผู้ว่าราชการจังหวัดลำปาง', 'time'=>'00.20 น.', 'mission'=>'10001', 'x'=>'-', 'y'=>'-'),
array('position'=>'ผู้ว่าราชการจังหวัดลำปาง','time'=>'00.20 น.', 'mission'=>'10002', 'x'=>'-', 'y'=>'-'),
array('position'=>'รองผู้ว่าราชการจังหวัดลำปาง','time'=>'00.20 น.', 'mission'=>'10002', 'x'=>'-', 'y'=>'-'),
array('position'=>'รองผู้ว่าราชการจังหวัดลำปาง','time'=>'00.20 น.', 'mission'=>'10002', 'x'=>'-', 'y'=>'-'),
array('position'=>'รองผู้ว่าราชการจังหวัดลำปาง2','time'=>'00.20 น.', 'mission'=>'10003', 'x'=>'-', 'y'=>'-'),
);
?>
<table id="merge" border="1" width="600">
<tr>
<th>ผู้บริหาร</th>
<th>เวลา</th>
<th>กำหนดการ / ภารกิจ</th>
<th>สถานที่</th>
<th>หมายเหตุ</th>
</tr>
<?php while (list(,$row) = each($table)): ?>
<tr>
<td><?php echo $row['position'];?></td>
<td><?php echo $row['time'];?></td>
<td><?php echo $row['mission'];?></td>
<td><?php echo $row['x'];?></td>
<td><?php echo $row['y'];?></td>
</tr>
<?php endwhile; ?>
</table>
Date :
2009-10-28 08:35:01
By :
DownsTream
ไม่ได้อ่ะครับมันเป็นแบบนี้อ่ะ งงครับแก้ไขดีครับ
ก่อน merge
หลัง merge
โค้ดครับ
Code (PHP)
<!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=windows-874" />
<title>ระบบวาระงานผู้บริหาร</title>
<?php include "conn.inc.php";?>
<style type="text/css">
.w-s {color:red;}
.w-m {color:yellow;}
.w-tu {color:pink;}
.w-w {color:green;}
.w-th {color:orange;}
.w-f {color:blue;}
.w-st {color:violet;}
a:link {
text-decoration: none;
color: #CC9900;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: #996600;
}
a:active {
text-decoration: none;
color: #CC9900;
}
a {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
}
.style13 {font-size: 14px; color: #FFFFFF; }
.style21 {
color: yellow;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style22 {
color: pink;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style23 {
color: green;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style24 {
color: orange;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style25 {
color: blue;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style26 {
color: violet;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style100 {
font-size: 12px;
font-family: "Times New Roman", Times, serif;
}
.style27 {font-size: 10px}
.style90 {
font-size: 14px;
font-family: "Times New Roman", Times, serif;
}
.style101 {font-size: 12px}
</style>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td width="30%" align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle">
<?php
$sqlceo="SELECT tbceo.id_ceo,tbceo.name_ceo,tbceo.level,tblevel.name_level FROM tbceo Inner Join tblevel ON tbceo.level = tblevel.id_level WHERE tbceo.level BETWEEN '1' AND '3' ORDER BY tbceo.level ASC, tbceo.name_ceo ASC";
$rsceo = mysql_query($sqlceo);
While($row= mysql_fetch_array($rsceo))
{ $name_ceo=$row["name_ceo"];
$name_level=$row["name_level"];
$id_ceo=$row["id_ceo"];
$level=$row["level"];
?>
<a href="23.php?id_ceo=<?=$id_ceo;?>"><img src="img/profile/<? echo $id_ceo;?>.jpg" border="0" align="absmiddle"/><a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle" class="style90"><a href="23.php?id_ceo=<?=$id_ceo;?>"><?php echo $name_ceo."<BR>".$name_level;?><a></td>
</tr>
</table><BR><?}?></td>
</tr>
</table></td>
<td width="70%" valign="top"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top">
<?php
function echoDate($y,$m,$d,$acts){
$ymd = sprintf("%04d-%02d-%02d",$y,$m,$d);
echo array_key_exists($ymd,$acts)
?"<a href=\"?adate={$ymd}&m={$m}&y=$y\">{$d}</a>"
:$d;
}
function nextMonthYear($m,$y){
if ($m == 12){$m = 1;$y++;}else{$m++;}
return compact('m','y');
}
function prevMonthYear($m,$y){
if ($m == 1){$m = 12;$y--;}else{$m--;}
return compact('m','y');
}
function displaydate ($x) {
$date_m=array ("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤษจิกายน","ธันวาคม");
$date_array=explode("-",$x);
$y=$date_array[0]+543;
$m=$date_array[1]-1;
$d=$date_array[2];
$m=$date_m[$m];
$displaydate="$d $m $y";
return $displaydate;
}
$m_now=date('m');
$y_now=date('Y');
$m = empty($_GET['m']) ? $m_now : (int)$_GET['m'];
$y = empty($_GET['y']) ? $y_now : (int)$_GET['y'];
//$adate = empty($_GET['adate']) ? '' : mysql_real_escape_string($_GET['adate']);
$adate = empty($_GET['adate']) ? date('Y-m-d') : mysql_real_escape_string($_GET['adate']);
//สมมุติว่า $acts มาจาก database
$sqlplan = "SELECT * FROM tbplan ";
$obj = mysql_query($sqlplan);
While($objResult = mysql_fetch_array($obj))
if(!$objResult)
{
//echo "$sqlplan";
echo "ไม่พบข้อมูล";
}
else
{
//echo "$sqlplan";
$id_plan=$objResult["id_plan"];
$name=$objResult["name_plan"];
$date=$objResult["date_plan"];
$time=$objResult["time_plan"];
$ceo=$objResult["ceo"];
$acts[$date] = empty($acts[$date]) ? $name : $acts[$date].', '.$name;
}
$months = array(1=>'มกราคม','กุมภาพันธ์','มีนาคม',
'เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม',
'กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม');
$prev = prevMonthYear($m,$y);
$next = nextMonthYear($m,$y);
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle">
<BR>
<a href="?y=<?php echo $prev['y'];?>&m=<?php echo $prev['m'];?>"><<< ย้อนหลัง</a><a href="?y=<?php echo $prev['y'];?>&m=<?php echo $prev['m'];?>"></a> |
<?php echo 'เดือน '.$months[(int)$m],' ',$y+543; ?> |
<a href="?y=<?php echo $next['y'];?>&m=<?php echo $next['m'];?>">ต่อไป >>></a></div></td>
</tr>
</table>
<table width="100%" align="center" cellpadding="10">
<?php
$num = cal_days_in_month(CAL_GREGORIAN, $m, $y);
$fd = date('w',mktime(1, 1, 1, $m, 1, $y));
$d = 0;
?>
<?php if ($m%4 == 1):?>
<tr valign="top" width="100%">
<?php endif;?>
<th>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#666666">
<!-- first week -->
<tr>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="w-s style27">อาทิตย์</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style21">จันทร์</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style22">อังคาร</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style23">พุธ</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style24">พฤหัสบดี</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style25">ศุกร์</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style26">เสาร์</th>
<tr>
<?php if ($fd>0):?>
<td height="30" colspan="<?php echo $fd;?>" align="center" valign="middle"> </td>
<?php endif;?>
<?php while($fd + $d++ < 7): ?>
<td height="30" align="center" valign="middle" class="style100"><?php echoDate($y,$m,$d,$acts);?></td>
<?php endwhile; $d--; ?>
</tr>
<!-- second to fifth week -->
<?php for($x=0;$x<31;$x++): $xx=$x%7; ?>
<?php if ($xx==0):?><tr><?php endif;?>
<td height="30" align="center" valign="middle" class="style100"><?php $d++; echoDate($y,$m,$d,$acts);?></td>
<?php if ($xx==6 || $d==$num):?>
<?php if ($xx!=6):?>
<td height="30" colspan="<?php echo 6-$xx;?>" align="center" valign="middle"> </td>
<?php endif;?>
</tr>
<?php if ($d==$num){break;} ?>
<?php endif;?>
<?php endfor;?>
</table>
<?php if ($m%4 == 0):?>
</tr>
<?php endif;?>
</table></th>
<BR>
<table width="300" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="middle">
<?
$show_date=displaydate($adate);
echo "วันที่ ".$show_date;
?>
</td>
</tr>
</table>
<BR>
<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" id="merge">
<tr>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">ผู้บริหาร</span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">เวลา</span></th>
<th width="500" align="center" valign="middle" bgcolor="#999999"><span class="style13">กำหนดการ / ภารกิจ </span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">สถานที่</span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">หมายเหตุ</span></th>
</tr>
<?
$sqlplan1ceo1 = "SELECT
tbplan.id_plan,
tbplan.name_plan,
tbplan.date_plan,
tbplan.time_plan,
tbplan.ceo,
tbplan.place,
tbplan.etc,
tbceo.level,
tbceo.id_ceo,
tbceo.name_ceo,
tblevel.id_level,
tblevel.name_level, DATE_FORMAT(CONCAT(CURRENT_DATE,' ',time_plan),'%H.%i') AS timer
FROM
tbplan
Inner Join tbceo ON tbplan.ceo = tbceo.id_ceo
Inner Join tblevel ON tblevel.id_level = tbceo.level WHERE date_plan='$adate' ORDER BY id_ceo ASC ,time_plan ASC";
$objceo1 = mysql_query($sqlplan1ceo1);
$numceo1=mysql_num_rows($objceo1);
//$Resultceo1 = mysql_fetch_assoc($objceo1);
//echo $numceo1;
if ($numceo1 == 0){
?>
<tr>
<td width="200" height="25" align="center" valign="middle"><span class="style101">ผู้ว่าราชการจังหวัดลำปาง</span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101">-</span></td>
<td width="400" height="25" align="center" valign="middle"><span class="style101">ไม่พบข้อมูล / ภาระกิจ</span></td>
<td width="80" height="25" align="center" valign="middle"><span class="style101">-</span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101">-</span></td>
</tr>
<?}else{
While($objResultceo1 = mysql_fetch_array($objceo1)){
$timeceo1=$objResultceo1["timer"];
$id_planceo1=$objResultceo1["id_plan"];
$name_planceo1=$objResultceo1["name_plan"];
$dateceo1=$objResultceo1["date_plan"];
//$time=$objResult1["time_plan"];
$ceo1=$objResultceo1["ceo"];
$placeceo1=$objResultceo1["place"];
$etcceo1=$objResultceo1["etc"];
$name_ceo1=$objResultceo1["name_ceo"];
$name_levelceo1=$objResultceo1["name_level"];
?>
<tr>
<td width="200" height="25" align="center" valign="middle"><span class="style101"><?echo $name_ceo1;?></span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101"><?php echo $timeceo1.' น.';?></span></td>
<td width="400" height="25" align="left" valign="middle"><span class="style101">
<?=$name_planceo1?>
</span></td>
<td width="80" height="25" align="center" valign="middle"><span class="style101"><?php echo $placeceo1;?></span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101"><?php echo $etcceo1;?></span></td>
</tr>
<?
}
}
?>
</table>
<script language="javascript">
var myTable = document.getElementById('merge');
var rows = myTable.getElementsByTagName('tr');
var numRows = rows.length;
var numRowSpan=1;
for (var j = 1; j <(numRows-1); j++) {
if (numRowSpan<=1) {
var currentRow = myTable.getElementsByTagName('tr')[j];
var currentCell= currentRow.getElementsByTagName('td')[0]; // the 1st column
var currentCellData = currentCell.childNodes[0].data;
}
if (j<numRows-1) {
if (myTable.getElementsByTagName('tr')[j+1]) {
var nextRow = myTable.getElementsByTagName('tr')[j+1];
var nextCell = nextRow.getElementsByTagName('td')[0];
var nextCellData = nextCell.childNodes[0].data;
// compare the current cell and the next cell
if (currentCellData == nextCellData) {
numRowSpan += 1;
currentCell.rowSpan = numRowSpan;
nextCell.style.display = 'none'; //disappear the next cell
} else {
numRowSpan = 1;
}
}
}
}
</script>
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
ช่วยผมหน่อยน่ะครับ
Date :
2009-10-28 13:39:23
By :
oasiis
ขอ backup ตารางหน่อยครับ
Date :
2009-10-28 13:50:53
By :
num
Code
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- โฮสต์: localhost
-- เวลาในการสร้าง: 29 ต.ค. 2009 น.
-- รุ่นของเซิร์ฟเวอร์: 5.0.51
-- รุ่นของ PHP: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- ฐานข้อมูล: `dbschedules`
--
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `tbceo`
--
CREATE TABLE `tbceo` (
`id_ceo` int(11) NOT NULL,
`name_ceo` text NOT NULL,
`level` int(11) NOT NULL,
PRIMARY KEY (`id_ceo`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620;
--
-- dump ตาราง `tbceo`
--
INSERT INTO `tbceo` VALUES (5, 'gfjghkghk', 4);
INSERT INTO `tbceo` VALUES (6, 'sdgdfgddfghdfhsdfh', 2);
INSERT INTO `tbceo` VALUES (3, 'สวยลากไส้', 3);
INSERT INTO `tbceo` VALUES (2, 'สาวน้อย', 2);
INSERT INTO `tbceo` VALUES (1, 'สุรสีห์ ฉันทกุล', 1);
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `tblevel`
--
CREATE TABLE `tblevel` (
`id_level` varchar(11) NOT NULL,
`name_level` text NOT NULL,
PRIMARY KEY (`id_level`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620;
--
-- dump ตาราง `tblevel`
--
INSERT INTO `tblevel` VALUES ('1', 'ผู้ว่าราชการ จังหวัดลำปาง');
INSERT INTO `tblevel` VALUES ('2', 'รองผู้ว่าราชการ จังหวัดลำปาง');
INSERT INTO `tblevel` VALUES ('3', 'ปลัด จังหวัดลำปาง');
INSERT INTO `tblevel` VALUES ('4', 'หัวหน้าสำนักงาน จังหวัดลำปาง');
-- --------------------------------------------------------
--
-- โครงสร้างตาราง `tbplan`
--
CREATE TABLE `tbplan` (
`id_plan` bigint(20) NOT NULL,
`name_plan` text NOT NULL,
`date_plan` date NOT NULL,
`time_plan` time NOT NULL,
`ceo` int(11) NOT NULL,
`place` text NOT NULL,
`etc` text NOT NULL,
PRIMARY KEY (`id_plan`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620;
--
-- dump ตาราง `tbplan`
--
INSERT INTO `tbplan` VALUES (1, 'ghsdfghdf', '2009-10-01', '00:20:50', 1, 'jgjgfj', '-');
INSERT INTO `tbplan` VALUES (2, 'gfhdf', '2009-10-01', '07:23:00', 1, 'fdhdfhdg', '-');
INSERT INTO `tbplan` VALUES (3, 'dfghdsfh', '2009-10-01', '09:00:00', 5, 'etgartyery', '-');
INSERT INTO `tbplan` VALUES (4, 'gjghj', '2009-10-29', '21:21:00', 2, 'ewtaertyasery', '-');
INSERT INTO `tbplan` VALUES (5, 'กินข้าวววววว', '2009-10-17', '10:09:00', 1, 'etgawegtasgaw', '-');
INSERT INTO `tbplan` VALUES (6, 'hxfghfdhfgh', '2009-10-01', '05:05:00', 2, 'ggtsergt', '-');
INSERT INTO `tbplan` VALUES (12, 'dfghsdfhsdfhs', '2009-10-16', '00:00:00', 6, 'fdgdf', ' - ');
INSERT INTO `tbplan` VALUES (11, 'gh', '2009-10-21', '20:00:00', 1, 'hjghjghjg', ' - ');
Date :
2009-10-28 13:54:41
By :
oasiis
สงสัยว่าโค้ด javascript เค้าเขียนมาให้ merge ได้เฉพาะ cell ที่ไม่มี tag span มั้งครับ
<!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=windows-874" />
<title>ระบบวาระงานผู้บริหาร</title>
<?php
mysql_connect('localhost','root','12345');
mysql_select_db('ddd');
mysql_query('SET NAMES TIS620');
?>
<style type="text/css">
.w-s {color:red;}
.w-m {color:yellow;}
.w-tu {color:pink;}
.w-w {color:green;}
.w-th {color:orange;}
.w-f {color:blue;}
.w-st {color:violet;}
a:link {
text-decoration: none;
color: #CC9900;
}
a:visited {
text-decoration: none;
}
a:hover {
text-decoration: underline;
color: #996600;
}
a:active {
text-decoration: none;
color: #CC9900;
}
a {
font-family: Arial, Helvetica, sans-serif;
font-size: 14px;
}
.style13 {font-size: 14px; color: #FFFFFF; }
.style21 {
color: yellow;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style22 {
color: pink;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style23 {
color: green;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style24 {
color: orange;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style25 {
color: blue;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style26 {
color: violet;
font-size: 10px;
font-family: "Times New Roman", Times, serif;
}
.style100 {
font-size: 12px;
font-family: "Times New Roman", Times, serif;
}
.style27 {font-size: 10px}
.style90 {
font-size: 14px;
font-family: "Times New Roman", Times, serif;
}
.style101 {font-size: 12px}
</style>
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td width="30%" align="center" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle">
<?php
$sqlceo="SELECT tbceo.id_ceo,tbceo.name_ceo,tbceo.level,tblevel.name_level FROM tbceo Inner Join tblevel ON tbceo.level = tblevel.id_level WHERE tbceo.level BETWEEN '1' AND '3' ORDER BY tbceo.level ASC, tbceo.name_ceo ASC";
$rsceo = mysql_query($sqlceo);
While($row= mysql_fetch_array($rsceo))
{ $name_ceo=$row["name_ceo"];
$name_level=$row["name_level"];
$id_ceo=$row["id_ceo"];
$level=$row["level"];
?>
<a href="23.php?id_ceo=<?=$id_ceo;?>"><img src="img/profile/<? echo $id_ceo;?>.jpg" border="0" align="absmiddle"/><a>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle" class="style90"><a href="23.php?id_ceo=<?=$id_ceo;?>"><?php echo $name_ceo."<BR>".$name_level;?><a></td>
</tr>
</table><BR><?}?></td>
</tr>
</table></td>
<td width="70%" valign="top"><table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="top">
<?php
function echoDate($y,$m,$d,$acts){
$ymd = sprintf("%04d-%02d-%02d",$y,$m,$d);
echo array_key_exists($ymd,$acts)
?"<a href=\"?adate={$ymd}&m={$m}&y=$y\">{$d}</a>"
:$d;
}
function nextMonthYear($m,$y){
if ($m == 12){$m = 1;$y++;}else{$m++;}
return compact('m','y');
}
function prevMonthYear($m,$y){
if ($m == 1){$m = 12;$y--;}else{$m--;}
return compact('m','y');
}
function displaydate ($x) {
$date_m=array ("มกราคม","กุมภาพันธ์","มีนาคม","เมษายน","พฤษภาคม","มิถุนายน","กรกฎาคม","สิงหาคม","กันยายน","ตุลาคม","พฤษจิกายน","ธันวาคม");
$date_array=explode("-",$x);
$y=$date_array[0]+543;
$m=$date_array[1]-1;
$d=$date_array[2];
$m=$date_m[$m];
$displaydate="$d $m $y";
return $displaydate;
}
$m_now=date('m');
$y_now=date('Y');
$m = empty($_GET['m']) ? $m_now : (int)$_GET['m'];
$y = empty($_GET['y']) ? $y_now : (int)$_GET['y'];
//$adate = empty($_GET['adate']) ? '' : mysql_real_escape_string($_GET['adate']);
$adate = empty($_GET['adate']) ? date('Y-m-d') : mysql_real_escape_string($_GET['adate']);
//สมมุติว่า $acts มาจาก database
$sqlplan = "SELECT * FROM tbplan ";
$obj = mysql_query($sqlplan);
While($objResult = mysql_fetch_array($obj))
if(!$objResult)
{
//echo "$sqlplan";
echo "ไม่พบข้อมูล";
}
else
{
//echo "$sqlplan";
$id_plan=$objResult["id_plan"];
$name=$objResult["name_plan"];
$date=$objResult["date_plan"];
$time=$objResult["time_plan"];
$ceo=$objResult["ceo"];
$acts[$date] = empty($acts[$date]) ? $name : $acts[$date].', '.$name;
}
$months = array(1=>'มกราคม','กุมภาพันธ์','มีนาคม',
'เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม',
'กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม');
$prev = prevMonthYear($m,$y);
$next = nextMonthYear($m,$y);
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center" valign="middle">
<BR>
<a href="?y=<?php echo $prev['y'];?>&m=<?php echo $prev['m'];?>"><<< ย้อนหลัง</a><a href="?y=<?php echo $prev['y'];?>&m=<?php echo $prev['m'];?>"></a> |
<?php echo 'เดือน '.$months[(int)$m],' ',$y+543; ?> |
<a href="?y=<?php echo $next['y'];?>&m=<?php echo $next['m'];?>">ต่อไป >>></a></div></td>
</tr>
</table>
<table width="100%" align="center" cellpadding="10">
<?php
$num = cal_days_in_month(CAL_GREGORIAN, $m, $y);
$fd = date('w',mktime(1, 1, 1, $m, 1, $y));
$d = 0;
?>
<?php if ($m%4 == 1):?>
<tr valign="top" width="100%">
<?php endif;?>
<th>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#666666">
<!-- first week -->
<tr>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="w-s style27">อาทิตย์</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style21">จันทร์</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style22">อังคาร</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style23">พุธ</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style24">พฤหัสบดี</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style25">ศุกร์</th>
<th width="40" height="30" align="center" valign="middle" bgcolor="#999999" class="style26">เสาร์</th>
<tr>
<?php if ($fd>0):?>
<td height="30" colspan="<?php echo $fd;?>" align="center" valign="middle"> </td>
<?php endif;?>
<?php while($fd + $d++ < 7): ?>
<td height="30" align="center" valign="middle" class="style100"><?php echoDate($y,$m,$d,$acts);?></td>
<?php endwhile; $d--; ?>
</tr>
<!-- second to fifth week -->
<?php for($x=0;$x<31;$x++): $xx=$x%7; ?>
<?php if ($xx==0):?><tr><?php endif;?>
<td height="30" align="center" valign="middle" class="style100"><?php $d++; echoDate($y,$m,$d,$acts);?></td>
<?php if ($xx==6 || $d==$num):?>
<?php if ($xx!=6):?>
<td height="30" colspan="<?php echo 6-$xx;?>" align="center" valign="middle"> </td>
<?php endif;?>
</tr>
<?php if ($d==$num){break;} ?>
<?php endif;?>
<?php endfor;?>
</table>
<?php if ($m%4 == 0):?>
</tr>
<?php endif;?>
</table></th>
<BR>
<table width="300" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td align="center" valign="middle">
<?
$show_date=displaydate($adate);
echo "วันที่ ".$show_date;
?>
</td>
</tr>
</table>
<BR>
<table border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#000000" id="merge">
<tr>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">ผู้บริหาร</span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">เวลา</span></th>
<th width="500" align="center" valign="middle" bgcolor="#999999"><span class="style13">กำหนดการ / ภารกิจ </span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">สถานที่</span></th>
<th width="100" align="center" valign="middle" bgcolor="#999999"><span class="style13">หมายเหตุ</span></th>
</tr>
<?
$sqlplan1ceo1 = "SELECT
tbplan.id_plan,
tbplan.name_plan,
tbplan.date_plan,
tbplan.time_plan,
tbplan.ceo,
tbplan.place,
tbplan.etc,
tbceo.level,
tbceo.id_ceo,
tbceo.name_ceo,
tblevel.id_level,
tblevel.name_level, DATE_FORMAT(CONCAT(CURRENT_DATE,' ',time_plan),'%H.%i') AS timer
FROM
tbplan
Inner Join tbceo ON tbplan.ceo = tbceo.id_ceo
Inner Join tblevel ON tblevel.id_level = tbceo.level WHERE date_plan='$adate' ORDER BY id_ceo ASC ,time_plan ASC";
$objceo1 = mysql_query($sqlplan1ceo1);
$numceo1=mysql_num_rows($objceo1);
//$Resultceo1 = mysql_fetch_assoc($objceo1);
//echo $numceo1;
if ($numceo1 == 0){
?>
<tr>
<td width="200" height="25" align="center" valign="middle"><span class="style101">ผู้ว่าราชการจังหวัดลำปาง</span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101">-</span></td>
<td width="400" height="25" align="center" valign="middle"><span class="style101">ไม่พบข้อมูล / ภาระกิจ</span></td>
<td width="80" height="25" align="center" valign="middle"><span class="style101">-</span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101">-</span></td>
</tr>
<?}else{
While($objResultceo1 = mysql_fetch_array($objceo1)){
$timeceo1=$objResultceo1["timer"];
$id_planceo1=$objResultceo1["id_plan"];
$name_planceo1=$objResultceo1["name_plan"];
$dateceo1=$objResultceo1["date_plan"];
//$time=$objResult1["time_plan"];
$ceo1=$objResultceo1["ceo"];
$placeceo1=$objResultceo1["place"];
$etcceo1=$objResultceo1["etc"];
$name_ceo1=$objResultceo1["name_ceo"];
$name_levelceo1=$objResultceo1["name_level"];
?>
<tr>
<td width="200" height="25" align="center" valign="middle" class="style101"><?echo $name_ceo1;?></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101"><?php echo $timeceo1.' น.';?></span></td>
<td width="400" height="25" align="left" valign="middle"><span class="style101">
<?=$name_planceo1?>
</span></td>
<td width="80" height="25" align="center" valign="middle"><span class="style101"><?php echo $placeceo1;?></span></td>
<td width="100" height="25" align="center" valign="middle"><span class="style101"><?php echo $etcceo1;?></span></td>
</tr>
<?
}
}
?>
</table>
<script language="javascript">
if (1){
var myTable = document.getElementById('merge');
var rows = myTable.getElementsByTagName('tr');
var numRows = rows.length;
var numRowSpan=1;
for (var j = 1; j <(numRows-1); j++) {
if (numRowSpan<=1) {
var currentRow = myTable.getElementsByTagName('tr')[j];
var currentCell= currentRow.getElementsByTagName('td')[0]; // the 1st column
var currentCellData = currentCell.childNodes[0].data;
}
if (j<numRows-1) {
if (myTable.getElementsByTagName('tr')[j+1]) {
var nextRow = myTable.getElementsByTagName('tr')[j+1];
var nextCell = nextRow.getElementsByTagName('td')[0];
var nextCellData = nextCell.childNodes[0].data;
// compare the current cell and the next cell
if (currentCellData == nextCellData) {
numRowSpan += 1;
currentCell.rowSpan = numRowSpan;
nextCell.style.display = 'none'; //disappear the next cell
} else {
numRowSpan = 1;
}
}
}
}
}
</script>
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
Date :
2009-10-28 14:05:35
By :
num
โอ้ ขอบคุณมากครับ
Date :
2009-10-28 14:25:24
By :
oasiis
if (1){ คืออะไรหรอครับ
Date :
2009-10-28 14:41:39
By :
oasiis
if (1){
ลองเปลี่ยนเป็น
if (0) {
ครับ
เป็น comment แบบใช้ if statement ครับ
เปิดปิด comment แค่เปลี่ยน 1<-->0 เท่านั้นครับ ง่ายกว่าใช้ /* */
Date :
2009-10-28 14:45:03
By :
num
โอเคครับ เข้าใจแล้วอาจารย์
Date :
2009-10-28 15:04:15
By :
oasiis
Load balance : Server 00