ช่วยด้วยแนะนำด้วยค่าาาาา การ query ข้อมูล ลงไปใส่ในตาราง
select * from table where date = $date and สถานที่ = $_GET[สถานที่]
ประมาณนี้ครับ
หากมีการเปลี่ยนสถานที่ก็ให้ส่งค่า $date ไปด้วยครับเพื่อให้ $dateคงที่
ประวัติการแก้ไข 2012-08-06 14:53:21
Date :
2012-08-06 14:51:14
By :
Dragons_first
ข้อดูฐานข้อมูลหน่อยได้ไหมครับ ว่าฐานข้อมูลเก็บค่าแบบไหน มีตารางเดียวหรือหลายตาราง ต้อง join ออกมาตอน select หรือเปล่า
เพราะถ้าคิวรี่ออกมาได้ มันก็อยู่ที่ว่าจะจัดตารางแบบไหน จัดดิบ ๆ หรือ CSS ก็ช่วยได้ตามต้องการครับ
Date :
2012-08-06 14:54:29
By :
apisitp
database ค่ะ
คือมันก็ query ออกมาได้หมดค่ะ แต่รูปแบบที่อยากให้มันออกมาไม่ใช่แบบนี้อ่าค่า
อย่าง siam square ก็ให้ขี้น อันเดียวพอ แล้วก็ไล่ TMV DTAC ลงมาอ่าค่ะ
sql ที่เขียนอ่าค่ะ
Code sql
SELECT l.location_name,n.network_name,AVG(d.DL),AVG(d.UL),e.equipment_name FROM locations l,networks n,data d,technology t,equipments e WHERE l.location_id = d.location_id AND n.network_id = d.network_id AND t.tech_id = d.tech_id AND e.equipment_id = d.equipment_id AND d.date = '$date' AND d.tech_id IN (2,3) GROUP BY d.location_id,d.network_id ORDER BY d.location_id ASC
Date :
2012-08-06 15:07:18
By :
iswpyknewz
อาจจะแนะนำได้ไม่มีต้องขอโทษไว้ก่อนเลยนะ
นึกออกแค่ว่า เลือกข้อมูลมาแสดงทีละ location ดีไหมครับ
หมายถึง แยกหาข้อมูลที่ละสถานที่ไปเลยโดยมีวันเป็นตัวกำกับ
ตย.
select * from table where location = 'สยามเซ็นเตอร์' and date='$date'
จากนั้นก็แสดงข้อมูลจนครบสร้างตารางของ location นี้เอง แล้วก็คิวรี่ location อันอื่นต่อ
select * from table where location = 'มาบุญครอง' and date='$date'
แบบนี้ไปเรื่อย ๆ
ข้อเสีย ถ้ามีหลายสถานที่ หลาย location ก็ต้องมาเขียน Code ซ้ำ ๆ ไปเรื่อย
นึกได้เท่านี้จริง ๆ ครับ
รอท่านอื่นหน่อยอาจจะมีใครมาช่วยปรับ code ให้สั้นลงครับ
Date :
2012-08-07 09:25:42
By :
apisitp
เค้าต้องการ รูปแบบนี้อ่าค่ะ T^T เปลี่ยนไม่ได้จริงๆ พยายามคิด แล้วก็นึกไม่ออกจริงๆว่าต้องเขียนยังไง
เพราะในแต่ละวัน สถานที่มันก็แตกต่างกันไปอ่าค่ะ
อันนี้เป็น code page ที่แสดงข้อมูลค่ะ
Code (PHP)
<form id="form2" name="form2" method="post" action="">
<?
$date = $_POST['sdate'];
$sqlloname = "SELECT l.location_name,n.network_name,AVG(d.DL),AVG(d.UL),e.equipment_name FROM locations l,networks n,data d,technology t,equipments e WHERE l.location_id = d.location_id AND n.network_id = d.network_id AND t.tech_id = d.tech_id AND e.equipment_id = d.equipment_id AND d.date = '$date' AND d.tech_id IN (2,3) GROUP BY d.location_id,d.network_id ORDER BY d.location_id ASC";
$result = mysql_query ( $sqlloname, $conn );
?>
<p>3G&WiFi Tput Report</p>
<p>TMV T-H TOT AIS DTAC</p>
<p>Performed test <?echo "$date";?></p>
<table width="673" height="69" border="1">
<?
while($rs = mysql_fetch_array ( $result ) )
{
?>
<tr>
<td colspan="6"><?=$rs["location_name"];?></td>
</tr>
<tr>
<td width="125"><?=$rs["equipment_name"];?></td>
<td width="133"><?=$rs["network_name"];?></td>
<td width="64">DL</td>
<td width="127"><?=$rs['AVG(d.DL)'];?></td>
<td width="64">UL</td>
<td width="120"><?=$rs['AVG(d.UL)'];?></td>
</tr>
<?
}
?>
</table>
</form>
ประวัติการแก้ไข 2012-08-07 09:28:43
Date :
2012-08-07 09:26:01
By :
iswpyknewz
นี่ละเค้าเรียกว่าคนทำไม่ได้ใช้คนใช้ไม่ได้ทำ....
เรา ๆ คนเขียนโปรแกรมมีทางออกที่ง่าย แต่คนที่เค้าต้องการต้องการอะไรที่ยาก ๆ น่าเห็นใจครับ...
สู้ ๆ อดทนรออีกหน่อย
Date :
2012-08-07 09:40:44
By :
apisitp
ถ้ามันไม่ได้จริงๆ คงต้องเขียนแยกๆ ของแต่ละสถานที่ไป ตั้ง 52 ที่แนะ -..-
แต่สถานที่มันก็เก็บเป็นไอดีน่าจะใช้ for วนได้
ขอบคุณมากๆๆ ค่าา T^T
Date :
2012-08-07 09:53:23
By :
iswpyknewz
ฮ่ะตั้ง 52 สถานที่ โอ้ว!!บร่ะเจ้า งั้นจะลองไปหา db เก่า ๆ ที่เคย join ไว้ มาลองตามดู อาจจฟลุ๊ค!!
แล้วถ้าเรา list 52 สถานที่ขึ้นมาก่อนแล้วทำเป็น link พอคลิกค่อยแสดงรายละเอียดเฉพาะสถานที่นั้น ๆ
เงื่อนไขแบบนี้ได้หรือเปล่าครับ
คุณ ISYNEWz ครับ ผมลองเอาวิธี array ที่ได้มาผสมกับการค้นหาข้อมูลแบบ 2 ตาราง โดยที่ไม่ join กัน ทำหารค้นหา 2 รอบ ลองดูนะครับ
ตารางที่ 1 ผมเก็บค่า ชื่อของหน่วยงาน ซึ่งอาจเปรียบเทียบได้กับ location ทั้ง 52 ที่
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Aug 07, 2012 at 11:20 AM
-- Server version: 5.0.51
-- PHP Version: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `db_thesis`
--
-- --------------------------------------------------------
--
-- Table structure for table `tb_dev`
--
CREATE TABLE `tb_dev` (
`id_dev` int(11) NOT NULL auto_increment,
`dev_name` text character set tis620 NOT NULL,
PRIMARY KEY (`id_dev`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=8 ;
--
-- Dumping data for table `tb_dev`
--
INSERT INTO `tb_dev` VALUES (1, 'ภาควิชาการจัดการเรียนรู้');
INSERT INTO `tb_dev` VALUES (2, 'ภาควิชาการจัดการอาชีวศึกษาและพัฒนาสังคม');
INSERT INTO `tb_dev` VALUES (3, 'ภาควิชาวิจัยและจิตวิทยาประยุกต์');
INSERT INTO `tb_dev` VALUES (4, 'ภาควิชานวัตกรรมและเทคโนโลยีการศึกษา');
INSERT INTO `tb_dev` VALUES (5, 'ศูนย์นวัตกรรมการบริหารและผู้นำทางการศึกษา');
INSERT INTO `tb_dev` VALUES (6, 'อาจารย์พิเศษ');
INSERT INTO `tb_dev` VALUES (7, 'ศูนย์บัณฑิตศึกษานานาชาติฯ');
ตารางที่ 2 ผมเก็บค่า ชื่ออาจารย์ ซึ่งอาจเปรียบเทียบได้กับ ข้อมูลต่าง ๆ ที่ต้องการแสดง
-- phpMyAdmin SQL Dump
-- version 2.10.3
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Aug 07, 2012 at 11:23 AM
-- Server version: 5.0.51
-- PHP Version: 5.2.6
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- Database: `db_thesis`
--
-- --------------------------------------------------------
--
-- Table structure for table `tb_teacher`
--
CREATE TABLE `tb_teacher` (
`id_teacher` int(10) NOT NULL auto_increment,
`teacherName` varchar(100) NOT NULL,
`ref_id_dev` int(10) NOT NULL,
`limitControl` int(3) NOT NULL,
PRIMARY KEY (`id_teacher`)
) ENGINE=MyISAM DEFAULT CHARSET=tis620 AUTO_INCREMENT=72 ;
--
-- Dumping data for table `tb_teacher`
--
INSERT INTO `tb_teacher` VALUES (1, 'รศ.ดร. วิชิต สุรัตน์เรืองชัย', 1, 10);
INSERT INTO `tb_teacher` VALUES (2, 'รศ.ดร. อารมณ์ เพชรชื่น', 1, 10);
INSERT INTO `tb_teacher` VALUES (3, 'ผศ.ดร.วิมลรัตน์ จตุรานนท์', 1, 10);
INSERT INTO `tb_teacher` VALUES (4, 'ผศ.ดร.ปริญญา ทรงสอน', 1, 10);
INSERT INTO `tb_teacher` VALUES (5, 'ดร.สุทธาภา โชติประดิษฐ์', 1, 10);
INSERT INTO `tb_teacher` VALUES (6, 'ดร.มณเทียร ชมดอกไม้', 1, 10);
INSERT INTO `tb_teacher` VALUES (7, 'ดร.จันทร์พร พรหมมาศ', 1, 10);
INSERT INTO `tb_teacher` VALUES (8, 'ดร.อาพันธ์ชนิต เจนจิต', 1, 10);
INSERT INTO `tb_teacher` VALUES (9, 'ดร.ศิรประภา พฤทธิกุล', 1, 10);
INSERT INTO `tb_teacher` VALUES (10, 'ดร.เชษฐ์ ศิริสวัสดิ์', 1, 10);
INSERT INTO `tb_teacher` VALUES (11, 'รศ.ดร.สมหมาย แจ่มกระจ่าง', 2, 10);
INSERT INTO `tb_teacher` VALUES (12, 'รศ.ดร.สุวิชัย โกศัยยะวัฒน', 2, 10);
INSERT INTO `tb_teacher` VALUES (13, 'รศ.ดร.มานพ แจ่มกระจ่าง', 2, 10);
INSERT INTO `tb_teacher` VALUES (14, 'รศ.ดร.ศรีวรรณ มีคุณ', 2, 10);
INSERT INTO `tb_teacher` VALUES (15, 'ผศ.ดร.รุ่งฟ้า กิติญาณุสันต์', 2, 10);
INSERT INTO `tb_teacher` VALUES (16, 'ผศ.ดร.จันทร์ชลี มาพุทธ', 2, 10);
INSERT INTO `tb_teacher` VALUES (17, 'รศ.ดร.ไพรัตน์ วงษ์นาม', 3, 10);
INSERT INTO `tb_teacher` VALUES (18, 'ผศ.ดร.สมโภชน์ อเนกสุข', 3, 10);
INSERT INTO `tb_teacher` VALUES (19, 'ผศ.ดร.ระพินทร์ ฉายวิมล', 3, 10);
INSERT INTO `tb_teacher` VALUES (20, 'นาวาตรี ดร.พงศ์เทพ จิระโร', 3, 10);
INSERT INTO `tb_teacher` VALUES (21, 'ดร.ศศินันท์ ศิริธาดากุลพัฒน์', 3, 10);
INSERT INTO `tb_teacher` VALUES (22, 'ดร.วรากร ทรัพย์วิระปกรณ์', 3, 10);
INSERT INTO `tb_teacher` VALUES (23, 'ดร.เพ็ญนภา กุลนภาดล', 3, 10);
INSERT INTO `tb_teacher` VALUES (24, 'ดร.สุรีพร อนุศาสนนันท์', 3, 10);
INSERT INTO `tb_teacher` VALUES (25, 'ดร.ดลดาว ปูรณานนท', 3, 10);
INSERT INTO `tb_teacher` VALUES (26, 'ดร.สมศักดิ์ ลิลา', 3, 10);
INSERT INTO `tb_teacher` VALUES (27, 'ดร.ประชา อินัง', 3, 10);
INSERT INTO `tb_teacher` VALUES (28, 'อ.สมพงษ์ ปั้นหุ่น', 3, 10);
INSERT INTO `tb_teacher` VALUES (29, 'รศ.ดร.พงศ์ประเสริฐ หกสุวรรณ', 4, 10);
INSERT INTO `tb_teacher` VALUES (30, 'รศ.ดร. สมสิทธิ์ จิตรสถาพร', 4, 10);
INSERT INTO `tb_teacher` VALUES (31, 'รศ.ดร.มนตรี แย้มกสิกร', 4, 10);
INSERT INTO `tb_teacher` VALUES (32, 'รศ.ดร. ฉลอง ทับศรี', 4, 10);
INSERT INTO `tb_teacher` VALUES (33, 'รศ.สายัณห์ ละออเอี่ยม', 4, 10);
INSERT INTO `tb_teacher` VALUES (34, 'รศ.ลัดดา ศุขปรีดี', 4, 10);
INSERT INTO `tb_teacher` VALUES (35, 'ผศ.ดร.นัญฑา ผลิตวานนท์', 4, 10);
INSERT INTO `tb_teacher` VALUES (36, 'ว่าที่เรือตรี ดร.อุทิศ บำรุงชีพ', 4, 10);
INSERT INTO `tb_teacher` VALUES (37, 'รศ.ดร. คุณวุฒิ คนฉลาด', 5, 10);
INSERT INTO `tb_teacher` VALUES (38, 'รศ.ดร.ธร สุนทรายุทธ', 5, 10);
INSERT INTO `tb_teacher` VALUES (39, 'ผศ.ดร.เจริญวิชญ์ สมพงษ์ธรรม', 5, 10);
INSERT INTO `tb_teacher` VALUES (40, 'ผศ.ดร.สิทธิพร นิยมศรีสมศักดิ์', 5, 10);
INSERT INTO `tb_teacher` VALUES (41, 'ผศ.ดร.สฎายุ ธีระวณิชตระกูล', 5, 10);
INSERT INTO `tb_teacher` VALUES (42, 'ดร.ภารดี อนันต์นาว', 5, 10);
INSERT INTO `tb_teacher` VALUES (43, 'ดร.สมุทร ชำนาญ', 5, 10);
INSERT INTO `tb_teacher` VALUES (44, 'ดร.สุเมธ งามกนก', 5, 10);
INSERT INTO `tb_teacher` VALUES (46, 'รศ.ดร.อนงศ์ วิเศษสุวรรณ์', 6, 10);
INSERT INTO `tb_teacher` VALUES (55, 'อภิสิทธิ์ เปี่ยมน้อย', 6, 20);
จากนั้นก็ตาม code
Code (PHP)
<?php
//กำหนดค่าของ id_dev ต้องนี้อาจจะต้องกำหนดสถานที่ถึง 52 ที่
$a[0]="1";
$a[1]="2";
$a[2]="3";
$a[3]="4";
$host="localhost";
$user="xxxxxxx";
$pw="xxxxxxxxx";
$dbname="db_thesis";
mysql_connect($host,$user,$pw) or die("ติดต่อ Host ไม่ได้");
mysql_select_db($dbname) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client='tis620'");
mysql_query("SET character_set_connection='tis620'");
mysql_query("collation_connection = tis620_thai_ci");
mysql_query("collation_database = tis620_thai_ci");
mysql_query("collation_server = tis620_thai_ci");
?>
<form id="form2" name="form2" method="post" action="">
<p>รายชื่ออาจารย์</p>
<?
//กำหนดอะเรย์ไว้ 4 หน่วยงาน เลยนำมาวนลูป 4 รอบ ถ้าเป็นของคุณคงต้องเป็น 52 รอบ
for($i=0;$i<=3;$i++)
{
// ทำการหาข้อมูล ชื่อหน่วยงาน ตาม อะเรย์ที่ 0 1 2 3 ตามลำดับ
$strSQL01 = "SELECT * FROM tb_dev where id_dev= '$a[$i]' ";
$objQuery01 = mysql_query($strSQL01);
$rs = mysql_fetch_array($objQuery01);
$id_dev = $rs["id_dev"];//กำหนดค่า
?>
<table width="673" height="69" border="1">
<tr>
<td colspan="6"><?=$rs["dev_name"];?></td>
</tr>
<?PHP
//เอาค่า id_devไปหาค่า เอาเฉพาะชื่ออาจารย์ี่ตรงกันมาแสดง
$strSQL02 = "SELECT * FROM tb_teacher where ref_id_dev= '$id_dev' ORDER BY id_teacher ASC";
$objQuery02 = mysql_query($strSQL02);
while($objResuut02 = mysql_fetch_array($objQuery02))
{
?>
<tr>
<td width="125"><?=$objResuut02["teacherName"];?></td>
</tr>
<?PHP
}}
?>
</table>
</form>
มันยาว ๆ อธิบายไม่ถูกแต่มันออกมาตามที่คิดได้ครับ
ประวัติการแก้ไข 2012-08-07 09:59:50 2012-08-07 10:38:12
Date :
2012-08-07 09:57:18
By :
apisitp
โอ้ ยาวมาก เด่วขอเวลาทำความเข้าใจซักแปปนึงค่ะ ฮ่าๆๆ
มีรูปหน้าแสดงผลให้ดูมั้ยอ่าค่ะ ^^"
Date :
2012-08-07 10:56:39
By :
iswpyknewz
ตามนี้
http://www.edu.buu.ac.th/array.php
มันก็จะมีหัวตารางเป็นชื่อ ภาควิชา จากนั้นก็ไล่เป็นชื่ออาจารย์ในภาคนั้น ๆ พอหมดใน db ก็จะขึ้นชื่อ ภาควิชาใหม่ ตามมา ลองดูนะ
อันนี้ ขอมูล มี 2 ตารางตามที่บอกครับ
ประวัติการแก้ไข 2012-08-07 11:06:15
Date :
2012-08-07 11:05:00
By :
apisitp
โอ๊ะ !!!! ได้แล้วค่ะ คุณ apisitp สุดยอดมากกกก
แต่ว่า มันจะมีบางสถานที่ ที่ไม่มีข้อมูล ไม่ต้องให้มันแสดง หัวตารางได้ป่ะค่ะ
ประวัติการแก้ไข 2012-08-07 11:47:40
Date :
2012-08-07 11:38:12
By :
iswpyknewz
แก้อีกขั้น ไปจัดกรุ๊ปในตาราง 2 ก่อน ได้มาเท่าไรก็เอาค่ามาวนลูป แก้ Code แล้วนะ
Code (PHP)
<?php
$host="localhost";
$user="xxxxxxxxxx";
$pw="xxxxxxxxxxxxxx";
$dbname="db_thesis";
mysql_connect($host,$user,$pw) or die("ติดต่อ Host ไม่ได้");
mysql_select_db($dbname) or die("ติดต่อฐานข้อมูลไม่ได้");
mysql_query("SET character_set_results=tis620");
mysql_query("SET character_set_client='tis620'");
mysql_query("SET character_set_connection='tis620'");
mysql_query("collation_connection = tis620_thai_ci");
mysql_query("collation_database = tis620_thai_ci");
mysql_query("collation_server = tis620_thai_ci");
//การจัดกลุ่มว่ามีกี่กลุ่ม ถ้าไม่มีก็ไม่แสดง
$strGroup = "select * from tb_teacher group by `ref_id_dev` order by `ref_id_dev`";
$objGroup = mysql_query($strGroup);
$totalGroup = mysql_num_rows($objGroup); // หาจำนวน record ที่จัดกลุ่ม มีเท่าไรก็มาแสดงเท่านั้น
//echo $totalGroup;
while($rsGroup = mysql_fetch_array($objGroup))
{
$a[] = $rsGroup["ref_id_dev"];//จับยัดใส่อะเรย์
}
?>
<form id="form2" name="form2" method="post" action="">
<p>รายชื่ออาจารย์</p>
<?
$x=$totalGroup-1;//ต้องลบ 1 ไม่งั้นลูปจะเกิน
for($i=0;$i<=$x;$i++)//เอาค่าจากอะเรย์มาใช้
{
$strSQL01 = "SELECT * FROM tb_dev where id_dev= '$a[$i]' ";
$objQuery01 = mysql_query($strSQL01);
$rs = mysql_fetch_array($objQuery01);
$dev = $rs["id_dev"];
//echo $b[$i];
?>
<table width="673" height="69" border="1">
<tr>
<td colspan="6"><?=$rs["dev_name"];?></td>
</tr>
<?PHP
$strSQL02 = "SELECT * FROM tb_teacher where ref_id_dev= '$dev' ORDER BY id_teacher ASC";
$objQuery02 = mysql_query($strSQL02);
$sqlquery=mysql_db_query($dbname, $strSQL02);
$total = mysql_num_rows($sqlquery); // หาจำนวน record
//echo $total ;
if($total==0){
}else{
while($objResuut02 = mysql_fetch_array($objQuery02))
{
?>
<tr>
<td width="125"><?=$objResuut02["teacherName"];?></td>
<td width="125"><?=$objResuut02["xxxxxxxxxxxx"];?>ค่า 1</td>
<td width="125"><?=$objResuut02["xxxx"];?>ค่า 2</td>
</tr>
<?PHP
}}
?>
</table>
<?PHP
}
?>
</form>
ลองดู ตาม ตย.เดิม http://www.edu.buu.ac.th/array.php ไม่เกินแน่นอน ฮ่า ๆ ๆ ๆ
ประวัติการแก้ไข 2012-08-07 13:07:53
Date :
2012-08-07 13:07:29
By :
apisitp
Load balance : Server 02