Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,038

HOME > PHP > PHP Forum > ช่วยหน่อยครับ ถ้าจะ search 2 table มารวมกันจะต้องเขียนคำสั่งยังไงครับ



 

ช่วยหน่อยครับ ถ้าจะ search 2 table มารวมกันจะต้องเขียนคำสั่งยังไงครับ

 



Topic : 035107



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์




ผมสร้าง database ไว้2 table ดังนี้

Code
$sql[0] = "CREATE TABLE hsa25 (
id int(11) NOT NULL auto_increment,
cline varchar(5) NOT NULL default '',
carlender date NOT NULL,
Hour varchar(5) NOT NULL default '',
min varchar(5) NOT NULL default '',
cShift varchar(5) NOT NULL default '',
cMachine varchar(30) NOT NULL default '',
cNumber varchar(30) NOT NULL default '',
problem varchar(200) NOT NULL default '',
name varchar(30) NOT NULL default '',
cPosition varchar(15) NOT NULL default '',
cSection varchar(15) NOT NULL default '',
Hour1 varchar(5) NOT NULL default '',
min1 varchar(5) NOT NULL default '',
sum1 smallint,
cdowntime varchar(20) NOT NULL default '',
name1 varchar(30) NOT NULL default '',
cdate date NOT NULL default '',
Hour2 varchar(5) NOT NULL default '',
min2 varchar(5) NOT NULL default '',
cause varchar(200) NOT NULL default '',
action varchar(200) NOT NULL default '',
name2 varchar(30) NOT NULL default '',
name3 varchar(30) NOT NULL default '',
name4 varchar(30) NOT NULL default '',
PRIMARY KEY (id)) ";


// สร้างตาราง hsa3.5
Code
$sql[1] = "CREATE TABLE hsa35 (
id int(11) NOT NULL auto_increment,
cline varchar(5) NOT NULL default '',
carlender date NOT NULL,
Hour varchar(5) NOT NULL default '',
min varchar(5) NOT NULL default '',
cShift varchar(5) NOT NULL default '',
cMachine varchar(30) NOT NULL default '',
cNumber varchar(30) NOT NULL default '',
problem varchar(200) NOT NULL default '',
name varchar(30) NOT NULL default '',
cPosition varchar(15) NOT NULL default '',
cSection varchar(15) NOT NULL default '',
Hour1 varchar(5) NOT NULL default '',
min1 varchar(5) NOT NULL default '',
sum1 smallint,
cdowntime varchar(20) NOT NULL default '',
name1 varchar(30) NOT NULL default '',
cdate date NOT NULL default '',
Hour2 varchar(5) NOT NULL default '',
min2 varchar(5) NOT NULL default '',
cause varchar(200) NOT NULL default '',
action varchar(200) NOT NULL default '',
name2 varchar(30) NOT NULL default '',
name3 varchar(30) NOT NULL default '',
name4 varchar(30) NOT NULL default '',
PRIMARY KEY (id)) ";


ถ้าจะsearch 2 table มารวมกันจะต้องเขียนคำสั่งยังไงครับ
ผมเขียนแล้วแต่ไม่ได้ครับ

search.php

Code (PHP)
<html>
<head>
<title>Downtime</title>
</head>
<body>
<form name="frmSearch" method="get" action="<?php echo $_SERVER['SCRIPT_NAME'];?>">
  <table width="599" border="1">
    <tr>
      <th>Keyword
      <input name="txtKeyword" type="text" id="txtKeyword" value="<?php echo $_GET["txtKeyword"];?>">

      <input type="submit" value="Search"></th>
    </tr>
  </table>
</form>

<body bgcolor="#CECECE">
<font class="Big"><b>ผลการค้นหา คำว่า <?php echo $txtKeyword ; ?></b></font>
<br>
<br>
<?php
if($_GET["txtKeyword"] != "")
	{
        $objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
        $objDB = mysql_select_db("datadowntime");

	$strSQL = "SELECT  * FROM hsa25 inner join hsa35 on hsa25.id = hsa35.id  WHERE (carlender LIKE '%".$_GET["txtKeyword"]."%' )  ";
	$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
	$Num_Rows = mysql_num_rows($objQuery);


	$Per_Page = 2;   // Per Page

	$Page = $_GET["Page"];
	if(!$_GET["Page"])
	{
		$Page=1;
	}

	$Prev_Page = $Page-1;
	$Next_Page = $Page+1;

	$Page_Start = (($Per_Page*$Page)-$Per_Page);
	if($Num_Rows<=$Per_Page)
	{
		$Num_Pages =1;
	}
	else if(($Num_Rows % $Per_Page)==0)
	{
		$Num_Pages =($Num_Rows/$Per_Page) ;
	}
	else
	{
		$Num_Pages =($Num_Rows/$Per_Page)+1;
		$Num_Pages = (int)$Num_Pages;
	}


	$strSQL .=" order  by id ASC LIMIT $Page_Start , $Per_Page";
	$objQuery  = mysql_query($strSQL);

	?>
        <table width="600" border="1">
	 <tr>
		<th width="91"> <div align="center">ID </div></th>
		<th width="98"> <div align="center">Line </div></th>
		<th width="198"> <div align="center">Shift </div></th>
		<th width="97"> <div align="center">cuse </div></th>
		<th width="59"> <div align="center">problem</div></th>
		<th width="71"> <div align="center">sum </div></th>
	 </tr>
<?php
while($objResult = mysql_fetch_array($objQuery))
{
?>
	  <tr>
		<td><div align="center"><?php echo $objResult["id"];?></div></td>
		<td><?php echo $objResult["cline"];?></td>
		<td><?php echo $objResult["cShift"];?></td>
		<td><div align="center"><?php echo $objResult["cuse"];?></div></td>
		<td align="right"><?php echo $objResult["problem"];?></td>
		<td align="right"><?php echo $objResult["sum1"];?></td>
	  </tr>
	<?php
	}
	?>
	</table>
	<br>
	Total <?php echo $Num_Rows;?> Record : <?php echo $Num_Pages;?> Page :
	<?php
	if($Prev_Page)
	{
		echo " <a href='$_SERVER[SCRIPT_NAME]?Page=$Prev_Page&txtKeyword=$_GET[txtKeyword]'><< Back</a> ";
	}

	for($i=1; $i<=$Num_Pages; $i++){
		if($i != $Page)
		{
			echo "[ <a href='$_SERVER[SCRIPT_NAME]?Page=$i&txtKeyword=$_GET[txtKeyword]'>$i</a> ]";
		}
		else
		{
			echo "<b> $i </b>";
		}
	}
	if($Page!=$Num_Pages)
	{
		echo " <a href ='$_SERVER[SCRIPT_NAME]?Page=$Next_Page&txtKeyword=$_GET[txtKeyword]'>Next>></a> ";
	}
	
	mysql_close($objConnect);

	}	
	?>
</body>
</html>


รบกวนช่วยหน่อยครับ



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2009-12-01 00:41:38 By : naruto View : 4626 Reply : 6
 

 

No. 1



โพสกระทู้ ( 11,835 )
บทความ ( 10 )

สมาชิกที่ใส่เสื้อไทยครีเอท Hall of Fame 2012

สถานะออฟไลน์


$strSQL = "SELECT * FROM hsa25 inner join hsa35 on hsa25.id = hsa35.id WHERE (hsa25.carlender LIKE '%".$_GET["txtKeyword"]."%') or (hsa35.carlender LIKE '%".$_GET["txtKeyword"]."%')";

สอง table เหมือนกันมะ ถ้าเหมือนแค่ใส่ตามข้างบนน่าจะได้






Date : 2009-12-01 01:13:17 By : plakrim
 


 

No. 2



โพสกระทู้ ( 468 )
บทความ ( 0 )



สถานะออฟไลน์


ก็น่ะจะทำเหมือนกันได้
ลองทำอย่างที่พี PlaKriM บอกก่อน
Date : 2009-12-01 01:20:33 By : parita
 

 

No. 3



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ผมทำแล้วไม่ได้ครับ มันsearch ไม่เจออะไรเลยครับ
Date : 2009-12-01 05:12:02 By : naruto1981
 


 

No. 4



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

ถ้าไม่มีความสัมพันธ์กันให้ใช้ SQL UNION น่ะครับ
Date : 2009-12-01 06:43:14 By : webmaster
 


 

No. 5



โพสกระทู้ ( 483 )
บทความ ( 0 )



สถานะออฟไลน์


ถ้าใช้ Union ก็ต้องมี Column เหมือนกันด้วยนะครับ
Date : 2009-12-01 15:53:55 By : taobsd
 


 

No. 6



โพสกระทู้ ( 14 )
บทความ ( 0 )



สถานะออฟไลน์


ยังทำไม่ได้เลย ช่วยหน่อยครับ
Date : 2009-12-01 23:55:59 By : naruto1981
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยหน่อยครับ ถ้าจะ search 2 table มารวมกันจะต้องเขียนคำสั่งยังไงครับ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2025 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่