|
|
|
ตารางสอน มีช่องเกินมาที่ส่วนท้ายครับ ช่วยแนะนำหน่อยว่าจะเอาออกอย่างไร ไม่ให้เกิน |
|
|
|
|
|
|
|
จากกระทู้ :: https://www.thaicreate.com/php/forum/004976.html
ผมเอามาปรับเป็น
Code (PHP) : table.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>
</head>
<body>
<!--ใส่วันที่ได้ที่ตรงนี้ -->
<?php
$L_w[1]="จันทร์";
$L_w[]="อังคาร";
$L_w[]="พุธ";
$L_w[]="พฤหัส";
$L_w[]="ศุกร์";
$L_w[]="เสาร์";
$L_w[]="อาทิตย์";
?>
</span>
<table width="100%" border="0" cellspacing="1" cellpadding="2">
<?php
for($i=0;$i<=7;$i++){
if($i==0){
$color="#CC6666";
}elseif($i==1){
//$color="#FF9966";
$color="#FFFF99";
//$msg[0]="วันที่ / เวลา";
}elseif($i==2){
$color="#FF99CC";
}elseif($i==3){
$color="#339900";
}elseif($i==4){
$color="#FF9966";
}elseif($i==5){
$color="#66CCFF";
}elseif($i==6){
$color="#CC99FF";
}elseif($i==7){
$color="#FF3399";
}
?>
<tr>
<td align="left" bgcolor="<?php echo $color?>">
<!-- <?php echo $msg[$i]?> -->
<!--<?php echo $date_t[$i]?> -->
<?php
if($i==0){
echo"วันที่ / เวลา";
}else{
echo $L_w[$i];
}
?>
</td>
<?php
for($t=8;$t<=17;$t++){
$connect=mysql_connect("localhost","root","xxxxxxxx")or die("no connect database");
mysql_query("use test");
mysql_query("SET CHARACTER SET tis620");
$dbname = "class";
mysql_select_db($dbname,$connect) or die("ไม่สามารถใช้ฐานข้อมูล $dbname ได้");
$sql2="select * from time_table where tb_time='".$t."' and tb_week='".$i."'";
$result2=mysql_query($sql2);
$num=mysql_num_rows($result2);
$show_data2=mysql_fetch_array($result2);
if($i==0){
$bg="#66CCFF";
}elseif($num==1){
$bg="#0099FF";
}elseif($num==0){
$bg="#009900";
}
//if($num==1 and $show_data2[tb_setting]==1){
if($num==0){
?>
<td align="center" id="<?php echo $i.".".$t?>" bgcolor="<?php echo $bg?>">
<?php
if($i==0){
$time_next=$t+1;
$time_list=$t.".00"."-".$time_next.".00";
echo $time_list;
}
?>
</td>
<?php
}elseif($num==1 and $show_data2[tb_setting]==1){
?>
<td align="center" bgcolor="<?php echo $bg?>" colspan="<?php echo $show_data2[tb_col] ?>">
<?php
echo $show_data2[tb_subject] ;
?>
</td>
<?php
}
}
?>
</tr>
<?php
}
?>
</table>
</body>
</html>
มี Database ชื่อ Class มี ตารางชื่อ time_table
Code (PHP)
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jun 21, 2012 at 11:41 AM
-- Server version: 5.0.51
-- PHP Version: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `class`
--
-- --------------------------------------------------------
--
-- Table structure for table `time_table`
--
CREATE TABLE `time_table` (
`tb_id` int(10) unsigned zerofill NOT NULL auto_increment,
`tb_subject` varchar(255) NOT NULL,
`tb_time` varchar(2) NOT NULL,
`tb_time_min` varchar(2) NOT NULL,
`tb_time_max` varchar(2) NOT NULL,
`tb_col` varchar(2) NOT NULL,
`tb_week` varchar(1) NOT NULL,
`tb_date` date NOT NULL,
`tb_setting` varchar(1) NOT NULL,
`term_ids` int(10) unsigned zerofill NOT NULL,
PRIMARY KEY (`tb_id`),
KEY `term_ids` (`term_ids`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=90 ;
--
-- Dumping data for table `time_table`
--
INSERT INTO `time_table` VALUES (0000000001, 'test01', '8', '8', '12', '4', '1', '2012-06-20', '1', 0000000001);
INSERT INTO `time_table` VALUES (0000000002, 'พพพพพพพพพ', '9', '9', '10', '1', '2', '2012-06-22', '1', 0000000001);
INSERT INTO `time_table` VALUES (0000000003, 'กกกกกกกกกกกกกกกกกกกกกกกก', '13', '13', '16', '3', '2', '0000-00-00', '1', 0000000000);
INSERT INTO `time_table` VALUES (0000000004, 'ซ้อนตาราง', '8', '8', '12', '4', '4', '2012-06-21', '1', 0000000001);
มีรูปภาพ
ที่นี้จะเห็นว่า มันมีช่องเกินออกมา ถ้าจำนวนคาบเรียนเท่ากับ 4 จะมีช่องเกินมา 3 ช่อง
จะเอาออกอย่างไรได้ครับ รบกวนแนะนำหน่อยครับ ^^
Tag : PHP
|
|
|
|
|
|
Date :
2012-06-21 10:51:41 |
By :
apisitp |
View :
5455 |
Reply :
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณลองดูพวก Loop <TD></TD> ครับ มันน่าจะเกินมาครับ
|
|
|
|
|
Date :
2012-06-21 11:13:49 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พยายามอยู่จ้า
|
|
|
|
|
Date :
2012-06-21 12:07:15 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
จากที่พยายาม บวก ความมั่ว และ โชคช่วย ก็กำจัดส่วนเกินได้ล่ะ (นึกขำตัวเอง 555)
ผมได้เพิ่ม Code ด้านล่างนี้ ไประหว่าง บรรทัดที่ 98 กับ 99
Code (PHP)
$t = $t + $show_data2[tb_col]-1;
จะได้เป็น
Code (PHP)
<?PHP
}elseif($num==1 and $show_data2[tb_setting]==1){
$t = $t + $show_data2[tb_col]-1;
?>
ยังงง ว่ามันเกิดอะไรขึ้น แต่ที่คิดคือทำจำนวน <td></td> ให้ไม่เกิน ต้องลองหลาย ๆ รอบ ว่ามันคงที่ไหม ^^
|
|
|
|
|
Date :
2012-06-22 03:07:27 |
By :
apisitp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2012-06-22 06:11:20 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มีฟอร์มการรับข้อมูลมั้ยครับ และการ บันทึกลงในฐานข้อมูลด้วย
|
|
|
|
|
Date :
2012-07-30 15:11:41 |
By :
kantarasukan |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 03
|