|
|
|
อยากทราบวิธี ให้แสดงเฉพาะ ID_Mitsu ที่เป็น 1,2,3... ไปเรื่อยๆ แต่ว่า ID_daikin 0 ไม่แสดง |
|
|
|
|
|
|
|
Code (PHP)
$sql = "SELECT id,id_mitsu, id_samsumg FROM $tableAir"
|
|
|
|
|
Date :
2013-05-11 09:54:14 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
งงกับคำถามนะครับ
แต่ถ้าเราจะเลือกบางฟิว เราก็แค่ Select ที่ต้องการแค่นั้นครับ
Code (PHP)
$SQL= "Select id_mitsu, id_daikin , id_samsumg From Table"
ลองแคปตารางมาให้ดูก่อนนะครับ
เอาโค้ดที่ Query มาดูด้วยก็ดีนะครับ
|
ประวัติการแก้ไข 2013-05-11 11:04:12
|
|
|
|
Date :
2013-05-11 11:03:21 |
By :
miccoli |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Data Base จะมีประมาณนี้อะครับ
และตัว data ซึ่งเลขนั้นจะ บวก ไปทีละ 1 เรื่อยๆครับ
ตัวหน้าเว็บมันแสดงผล มันดึงข้อมูลของ daikin มาด้วย แต่อยากได้แค่แสดงแค่ Mitsu อะครับ
ตัว คิวรีที่ผมใช้
Code
<!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=utf-8" />
<title>Mitsubishi</title>
<script>
function confirmDelete(delUrl) {
if (confirm("Are you sure you want to delete")) {
document.location = delUrl;
}
}
</script>
</head>
<body>
<?php
function DateDiff($strDate1,$strDate2)
{
return (strtotime($strDate2) - strtotime($strDate1))/ ( 60 * 60 * 24 ); // 1 day = 60*60*24
}
function TimeDiff($strTime1,$strTime2)
{
return (strtotime($strTime2) - strtotime($strTime1))/ ( 60 * 60 ); // 1 Hour = 60*60
}
function DateTimeDiff($strDateTime1,$strDateTime2)
{
return (strtotime($strDateTime2) - strtotime($strDateTime1))/ ( 60 * 60 ); // 1 Hour = 60*60
}
?>
<p>ข้อมูล Air Mitsubishi</p>
<form name="frmSearch" method="post" action="index.php?menuName=air_mitsu_search">
<table width="100%" border="0">
<tr>
<th width="10%"><a href="index.php?menuName=add_mitsu"><img src="images/Add-icon.png" width="20" height="20" />เพิ่ม</a></th>
<th width="90%" align="right">ค้นหา
<input name="txtKeyword" type="text" id="txtKeyword" value="" />
<input type="submit" value="Search" /></th>
</tr>
</table>
</form>
<table width="100%" border="1" cellpadding="3" cellspacing="0">
<tr>
<th width="5%"> <div align="center">วันที่เหลือ</div></th>
<th width="20%"> <div align="center">Serial Number</div></th>
<th width="15%"> <div align="center">ยี่ห้อ</div></th>
<th width="97"> <div align="center">สาขา</div></th>
<th width="59"> <div align="center">แผนก</div></th>
<th width="71"> <div align="center">วันเริ่มต้น</div></th>
<th width="71"> <div align="center">วันสิ้นสุด</div></th>
<th width="71"> <div align="center">รายละเอียด</div></th>
<th width="71"> <div align="center">ราคา</div></th>
<th width="59"> <div align="center">ลบ/แก้ไข</div></th>
</tr>
<?php
include "config.php"
?>
<?
$strSQL = "SELECT id_mitsu,s_n,brand,address,section,date_start,date_end,btu,status,price,company ,address.*,section.* FROM air,address,section WHERE (id_mitsu LIKE '%".$_GET["txtKeyword"]."%' or brand LIKE '%".$_GET["txtKeyword"]."%' or s_n LIKE '%".$_GET["txtKeyword"]."%' or btu LIKE '%".$_GET["txtKeyword"]."%' or status LIKE '%".$_GET["txtKeyword"]."%' or date_start LIKE '%".$_GET["txtKeyword"]."%' or date_end LIKE '%".$_GET["txtKeyword"]."%' or price LIKE '%".$_GET["txtKeyword"]."%' or company LIKE '%".$_GET["txtKeyword"]."%' or name_address LIKE '%".$_GET["txtKeyword"]."%' or section_name LIKE '%".$_GET["txtKeyword"]."%') AND air.address=address.id AND air.section=section.id Order By id_mitsu ASC";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td>
<?php
$strDate1 = $objResult["date_start"];
$strDate2 = $objResult["date_end"];
echo " ".DateDiff($strDate1,$strDate2)."<br>";
?>
</td>
<td><?=$objResult["s_n"];?></td>
<td>
<?=$objResult["brand"];?>
</td>
<td>
<?
$address=$objResult["address"];
$s2 = "SELECT * FROM address WHERE id='$address' ";
$q2 = mysql_query($s2) or die ("Error Query : ".$s2."");
while($r2 = mysql_fetch_array($q2))
{
echo $r2["name_address"];
}
?>
</td>
<td>
<?
$section=$objResult["section"];
$s3 = "SELECT * FROM section WHERE id='$section' ";
$q3 = mysql_query($s3) or die ("Error Query : ".$s3."");
while($r3 = mysql_fetch_array($q3))
{
echo $r3["section_name"];
}
?>
</td>
<td><?=$objResult["date_start"];?></td>
<td><?=$objResult["date_end"];?></td>
<td>
<?
$status=$objResult["status"];
$s4 = "SELECT * FROM status WHERE id='$status' ";
$q4 = mysql_query($s4) or die ("Error Query : ".$s4."");
while($r4 = mysql_fetch_array($q4))
{
echo $r4["name_status"];
}
?>
</td>
<td><?=$objResult["price"];?></td>
<td><a href="javascript:confirmDelete('index.php?menuName=del_air_mitsu&id_mitsu=<?=$objResult["id_mitsu"];?>')"><img src="images/cancel_f2.png" width="20" height="20" /></a> <a href="index.php?menuName=update_air_mitsu&id_mitsu=<?=$objResult["id_mitsu"];?>"><img src="images/config.png" width="20" height="20" /></a></td>
</tr>
<?
}
?>
</table>
</body>
</html>
ช่วยดูทีนะครับ ว่าผมจะกำหนดยังไงให้ id อื่นๆ ที่เป็น 0 ไม่ต้องแสดงผลขึ้นมาอะครับ ให้ id เฉพาะที่เป็น 1 2 3 4 ไล่ไปเรื่อยๆ แสดงขึ้นมาเท่านั้นอะครับ
|
|
|
|
|
Date :
2013-05-11 18:34:48 |
By :
topman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมว่าออกแบบผิดแล้วล่ะครับ
ไอ้ id_daikin หรือ id_xxxx เนี่ย หมายถึงรุ่นแอร์ใช่ป่ะครับ
ทำไมคุณไม่ทำเป็น model_id ไปเลยล่ะครับ
แล้วมีตาราง models แยกอีกอันนึง
ในตาราง models ก็จะมี id, ชื่อยี่ห้อ และชื่อรุ่น
เวลา SELECT เราก็แค่ JOIN ตารางแค่นั้นเอง
การออกแบบตารางแบบของคุณเนี่ย มันซ้ำซ้อนครับ และเอาไปแก้ไขดัดแปลงอะไรยากมาก
งี้ถ้ามียี่ห้อเพิ่มเข้ามาใหม่ คุณไม่ต้องไปแก้ไขโครงสร้างตารางทุกครั้งเหรอครับ
|
|
|
|
|
Date :
2013-05-12 04:14:25 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพิ่งเห็นว่ามีคอลัมน์ s_n และ brand ที่บอกรุ่นและยี่ห้อด้วย
แล้วจะมีคอลัมน์พวก id_xxxxx ไว้ทำไมล่ะครับเนี่ย ผมงง
|
|
|
|
|
Date :
2013-05-12 04:17:05 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
พอดี ผมเพิ่งหัดเขียนน่ะครับ อาจจะออกแบบ ผิดพลาดไปบ้าง ยังไงขอบคุณสำหรับแนวคิดนะครับ เพราะผมไม่รู้ว่าจะคิดยังไง ดี เลยทำไม่ถูกอะครับ เพราะว่า จะทำระบบทะเบียน เอาไว้ให้มันแจ้งเตือนวันล้างแอร์ อะครับผม
|
|
|
|
|
Date :
2013-05-12 15:03:13 |
By :
topman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ครับ ไม่ต้องมี id_xxxx เลยครับ มีแค่ brand กับ s_n (ยี่ห้อ และ รุ่น/serial number) ก็พอแล้ว
|
|
|
|
|
Date :
2013-05-12 15:33:25 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ว่า S_N ของผมจะเป็นพวกที่จะ ระบุว่า mitsu9000 อันนี้คือ S_N อะครับ เพราะ S_N ที่แอร์มันไม่มีอะครับ ผมเลยใช้เป็น ยี่ห้อ และรุ่นระบุแทนอะครับ แล้วผมจะต้องเขียน โค๊ตดักให้มันแสดงแต่ mitsu หรือว่า daikin ยังไงอะครับ ถ้าผมไม่ต้องพิมพ์ id_xxxx อะครับผม ช่วยแนะนำ ทีนะครับพี่ แมวของคุกกี้
|
|
|
|
|
Date :
2013-05-13 09:00:19 |
By :
topman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คุณก็เพิ่มอีกฟิลด์ที่บอกว่ามันเป็นยี่ห้ออะไรเข้าไปสิครับ
คุณจะใช้ id ทำไม
|
|
|
|
|
Date :
2013-05-13 09:27:05 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เพราะผมมองว่า ถ้า s_n มันช้ำกัน มันจะแก้ไขไม่ได้อะครับ เพราะตอนนี้ผมใช้ id_xxxx เอาไว้แก้ไข อยู่อะครับผม
งั้นผมขอคำแนะนำเรื่องการแยก database แล้วผมจะทำให้มัน ค้นหา วันเริ่มต้น กับวันสิ้นสุด ของทุก ตารางยังไงครับ ถ้าผมแยก ตารางเป็น
mitsu , daikin , samsung อะไรแบบนี้อะครับ ส่วน ฟิวในข้อมูล มีเหมือนกันหมดครับ
Code (PHP)
$strSQL = "SELECT * FROM air WHERE (date_start >= '$start_time' and date_end <= '$end_time')";
ถ้าผมแยกตารางเป็น mitsu daikin ผมต้องให้มัน ทำยังไงอะครับ จาก air เป็น ตารางชื่อแทนอะครับ
|
|
|
|
|
Date :
2013-05-13 09:32:43 |
By :
topman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาเป็นว่าคุณแยกไว้ 3 ตาราง
1 ตาราง เวลา และ id FK_SR
2 รายละเอียดแอร์ Id_SR FK_Bran Serial Price .........
3. Bran แอร์ Mishu Dikin
ไม่เข้าใจตรงไหนถามครับ
|
|
|
|
|
Date :
2013-05-13 09:50:45 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ที่แน่ๆ ต้อง Join ตารางกัน ทำเป็นนะครับถ้าไม่เป็นในนี้ มีสอนเยอะมาก
|
|
|
|
|
Date :
2013-05-13 09:51:23 |
By :
teez1232002 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
No. ให้ตารางคุณหน่อยก็ดีครับมันไม่มี PK เลยเท่าที่ดู ตั้งให้เป็น auto เพื่อใช้ดูข้อมูลว่ามีกี่ตัวแล้ว(ผมว่ามันสะดวกนะ)
ส่วน id_xxx ไม่จำเป็นต้องแยกขนาดนั้น ใช้เป็น id_อะไรก็ได้ ที่บ่งบอกว่าเป็นสินค้านี้ เช่น
id_product >> เวลาคีย์ก็ใส่เป็น Misu_01 , dai_01
เพื่อเวลา Query ข้อมูล เราก็ใช้ Where id_product = 'Misu_01' ประมาณนี้ครับ
|
|
|
|
|
Date :
2013-05-13 09:58:19 |
By :
miccoli |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แต่ผมว่าควรจะทำการ NF ตารางก่อนนะครับเพื่อจะได้สะดวกและไม่งงกับข้อมูลในตาราง
|
|
|
|
|
Date :
2013-05-13 10:00:13 |
By :
miccoli |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากนะครับ สำหรับทุกคนที่แนะนำ เข้ามาตอนนี้ได้แล้วครับ ^_^ ขอบคุณอย่างสุดซึ้งเลยครับ พี่ๆ
|
|
|
|
|
Date :
2013-05-13 10:05:23 |
By :
topman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ผมให้มัน WHERE ด้วย brand เอาล่ะครับ ทีนี้ออกแล้ว ^_^ ขอบคุณมากๆเลยนะครับพี่ๆทุกคน
|
|
|
|
|
Date :
2013-05-13 11:03:46 |
By :
topman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|