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,027

HOME > PHP > PHP Forum > ช่วยดูให้ทีคับว่าจะต้องยังไง INNER JOIN แบบปกติได้แล้วคับ ติดเรื่อง search แบบ INNER JOIN 2 ตาราง



 

ช่วยดูให้ทีคับว่าจะต้องยังไง INNER JOIN แบบปกติได้แล้วคับ ติดเรื่อง search แบบ INNER JOIN 2 ตาราง

 



Topic : 038345



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



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




ตอนนี้คิวรี่แบบINNER JOIN แบบปกติได้แล้วคับ ติดเรื่อง search แบบ INNER JOIN 2 ตาราง
search ฟิว category.category_name(ค้นหาชื่อหมวดสินค้า ) จะแสดงคำที่ค้นหาไป ออกมาเท่ากับจำนวนrowใน product_id
search ฟิว product.pro_name (ค้นหาชื่อสินค้า ) จะแสดงคำที่ค้นหาไป ออกมาเท่ากับจำนวนrowใน category_id
1
Code (PHP)
<?php
include("config.php");

$page_start=0;
$per_page=20;
$page = @$_REQUEST['page']; 

//-------------ค้นหา	
if(isset($_REQUEST['text_search']) && trim($_REQUEST['text_search'])!= ""){
//เช็คว่าต้องมีการ พิมพ์ในช่อง search เท่านั้นจึงจะเข้าทำ statement ทีอยู่ด้านใน
    $txt_search = $_REQUEST['text_search'];
	$search_type = $_REQUEST['search_type'];	
		switch ($search_type){
		case 2: $where = "product.product_id LIKE '%" . $txt_search . "%'"; break;		
		case 3: $where = "product.pro_name LIKE '%" . $txt_search . "%'"; break; 
		case 4: $where = "category.category_name LIKE '%" . $txt_search . "%'"; break;
		
	}	        
   $sql_data_all = "SELECT count(*) FROM product INNER JOIN category ON product.category_id = category.category_id WHERE " .$where. " ";      

// SELECT count(*) >> นับจำนวน Count Record ที่ค้นพบ 
       
$qr = mysql_db_query($dbname, $sql_data_all); 
$num_rows = mysql_result($qr,0); 
        
if ( empty($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;  
 
    
$sql_data = "SELECT product.product_id , product.pro_name , product.pro_price , product.pro_description , product.idtrade , category.category_name  
FROM product INNER JOIN category WHERE  " .$where. " ORDER BY category_name ASC LIMIT $page_start, $per_page"; // SELECT Query ดึง database มาโชว์ในตาราง
      
$data_result = mysql_db_query($dbname,$sql_data); 
$count = mysql_num_rows($data_result); 
echo mysql_error(); 
 
}else{ 
$sql_data_all = "SELECT count(*) FROM product ";  //$sql_data_all SELECT หาจำนวน rows 
 echo $sql_data_all; 
$qr = mysql_db_query($dbname, $sql_data_all); 
echo mysql_error(); 
$num_rows = mysql_result($qr,0); 
        
if ( empty($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; 
    
$sql_data = "SELECT product.product_id , product.pro_name , product.pro_price , product.pro_description , product.idtrade , category.category_name  FROM product INNER JOIN category ON product.category_id = category.category_id
   ORDER BY product.product_id ASC LIMIT $page_start, $per_page";
        
$data_result = mysql_db_query($dbname,$sql_data); 
$count = mysql_num_rows($data_result); 
} 
//echo $sql_data; 
 
 
if ( ( $page > $num_pages ) || ( $page < 0 ) ) 
print "จำนวน $page มากกว่า $num_pages"; 

//-------------------คำสั่ง SQL กำหนดลิมิต ให้แสดงผลต่อ 1 หน้า---------------------------// 
$sql .= " LIMIT $page_start, $per_page"; 
$result = mysql_query( $sql ); 
$dbquery = mysql_db_query($dbname,$sql); 
$cols = 10; //กำหนดจำนวนคอลั่ม 
$c = $cols; 
$c --; 
?> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<style type="text/css">
<!--
body {
	background-image: url(bg_re.gif);
}
-->
</style><table width="100%" border="0"><tr> 
<? 
if($c == 0) { 
$c = $cols; 
?> 
</tr> 
<?  } ?> 
</table>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>ค้นหาข้อมูลสมาชิก</title>
</head>

<body onload='document.Add1.text_search.focus();'>
<form action='re_product.php' method='get' >
		แสดงข้อมูล : 
		  <input name="text_search" type="text" value="<?=$txt_search?>">
	  
        <select name="search_type">
			<option value='1'<?=($_REQUEST['search_type'] == 1) ? ' selected="selected"' : ''?>>
			-คำค้นหา-</option>
			<option value='2'<?=($_REQUEST['search_type'] == 2) ? ' selected="selected"' : ''?>>รหัสสินค้า</option>
			<option value='3'<?=($_REQUEST['search_type'] == 3) ? ' selected="selected"' : ''?>>ชื่อสินค้า</option>
			<option value='4'<?=($_REQUEST['search_type'] == 4) ? ' selected="selected"' : ''?>>หมวดสินค้า</option>
        </select>	
      <input name="cmd_Search" type="submit" id="cmd_Search"value="ค้นหา">
      <br />
      <br />
  รวม <b><?php echo $num_rows; ?></b> แสดงอยู่ <b><?php echo $num_pages; ?></b> หน้า <br />
      <table id="member" width="930" border="0" cellspacing="0">
        <thead>
          <tr>
            <th height="64">ลำดับ</th>
            <th>รหัสสินค้า</th>
            <th>ชื่อสินค้า</th>
            <th>ราคา</th>
            <th>รายละเอียดสินค้า</th>
            <th>ตัวแทนจำหน่าย</th>
            <th>หนวดสินค้า</th>
            <th>ผู้จำหน่าย</th>
            <th>ลบ</th>
          </tr>
        </thead>
        <tbody>
          <?php 
	$i = 1;
			if($data_result)
				while($rows = mysql_fetch_array($data_result)) { 
						
		?>
<tr>
<td class="no"><?=$i?></td>
<td class="product_id"><?=($rows['product_id']) ? sprintf($rows['product_id']) : '&nbsp;'; ?></td>
<td class="pro_name"><?=($rows['pro_name']) ? sprintf("%49.49s", $rows['pro_name']) : '&nbsp;'; ?></td>
<td class="pro_price">

  <?=($rows['pro_price']) ? sprintf($rows['pro_price']) : '&nbsp;'; ?> 
  บาท
</td>
<td class="pro_description"><?=($rows['pro_description']) ? sprintf("%49.49s", $rows['pro_description']):'&nbsp;'; ?></td>
<td class="idtrade">TA<?=($rows['idtrade']) ? sprintf($rows['idtrade']) : '&nbsp;'; ?></td>
<td class="category_id"><?=($rows['category_name']) ? sprintf($rows['category_name']) : '&nbsp;'; ?>
</td>
            			
		?>
<tr>
<td class="no"><?=$i?></td>
<td class="product_id"><?=($rows['product_id']) ? sprintf($rows['product_id']) : '&nbsp;'; ?></td>
<td class="pro_name"><?=($rows['pro_name']) ? sprintf("%49.49s", $rows['pro_name']) : '&nbsp;'; ?></td>
<td class="pro_price">

  <?=($rows['pro_price']) ? sprintf($rows['pro_price']) : '&nbsp;'; ?> 
  บาท
</td>
<td class="pro_description"><?=($rows['pro_description']) ? sprintf("%49.49s", $rows['pro_description']):'&nbsp;'; ?></td>
<td class="idtrade">TA<?=($rows['idtrade']) ? sprintf($rows['idtrade']) : '&nbsp;'; ?></td>
<td class="category_id"><?=($rows['category_name']) ? sprintf($rows['category_name']) : '&nbsp;'; ?>
</td>
            
			
<td><A Href='f_show_mem.php?type=edit&id=<?=$rows['idtrade']?>'><center><img src='images/edit.png' width='16' height='16' border='0'></center></a></td>
            <td><a href='f_show_mem.php?IDMember=" .$id . "'><center><img src='images/delete.png' width='16' height='16' border='0'></center></a></td>
			

			
          </tr>
          <?php 
				$i++;
			}
		?>
        </tbody>
      </table>
      <br />
      <?php 
$QA = $_GET; 
$QA['page'] = $prev_page; 
$QS = http_build_query($QA); 
if ( $prev_page ) 
        
echo "<a href=\"?$QS\">&lt;&lt;กลับไป </a>"; 

for ( $i=1; $i<=$num_pages; $i++ ) 
    
{ 
                
$QA['page'] = $i; 
$QS = http_build_query($QA); 
if ( $i != $page) 
               
echo "[<a href=\"?$QS\">$i</a>]"; 
else
echo " <b>$i</b> "; 
    
} 

$QA['page'] = $next_page; 
$QS = http_build_query($QA); 
if ( $page != $num_pages ) 
        
echo "<a href=\"?$QS\"> หน้าต่อไป &gt;&gt;</a>"; 
?>
      <?php mysql_close();?>
    </tr>
	
</form>


</body>
</html>





Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-02-04 17:58:18 By : gofgof View : 1882 Reply : 1
 

 

No. 1



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



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


คำถามทำให้ไม่เข้าใจ เหอะๆมาถามใหม่ นะคับ
เวลา search ค้นหาชื่อหมวดสินค้า จะแสดงคำที่ค้นหาคำๆนั้น ในแถว หนวดสินค้า จะออกมาเท่ากับ row ของ product_id
เวลา search ค้นหาชื่อสินค้า จะแสดงคำที่ค้นหาคำๆนั้น ในแถว ชื่อสินค้า จะออกมาเท่ากับ row ของ category_id
Code (PHP)
<?php
include("config.php");

$page_start=0;
$per_page=20;
$page = @$_REQUEST['page']; 
	
if(isset($_REQUEST['text_search']) && trim($_REQUEST['text_search'])!= ""){
    $txt_search = $_REQUEST['text_search'];
	$search_type = $_REQUEST['search_type'];	
		switch ($search_type){
		case 2: $where = "product.product_id LIKE '%" . $txt_search . "%'"; break;		
		case 3: $where = "product.pro_name LIKE '%" . $txt_search . "%'"; break; 
		case 4: $where = "category.category_name LIKE '%" . $txt_search . "%'"; break;
		
	}	        
   $sql_data_all = "SELECT count(*) FROM product INNER JOIN category ON product.category_id = category.category_id WHERE " .$where. " ";  
       
$qr = mysql_db_query($dbname, $sql_data_all); 
$num_rows = mysql_result($qr,0); 
        
if ( empty($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;  
 
    
$sql_data = "SELECT product.product_id , product.pro_name , product.pro_price , product.pro_description , product.idtrade , category.category_name  
FROM product INNER JOIN category WHERE  " .$where. " ORDER BY category_name ASC LIMIT $page_start, $per_page"; // SELECT Query ดึง database มาโชว์ในตาราง
      
$data_result = mysql_db_query($dbname,$sql_data); 
$count = mysql_num_rows($data_result); 
echo mysql_error(); 
 
}else{ 
$sql_data_all = "SELECT count(*) FROM product ";  //$sql_data_all SELECT หาจำนวน rows 
 echo $sql_data_all; 
$qr = mysql_db_query($dbname, $sql_data_all); 
echo mysql_error(); 
$num_rows = mysql_result($qr,0); 
        
if ( empty($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; 
    
$sql_data = "SELECT product.product_id , product.pro_name , product.pro_price , product.pro_description , product.idtrade , category.category_name  FROM product INNER JOIN category ON product.category_id = category.category_id
   ORDER BY product.product_id ASC LIMIT $page_start, $per_page";
        
$data_result = mysql_db_query($dbname,$sql_data); 
$count = mysql_num_rows($data_result); 
} 

if ( ( $page > $num_pages ) || ( $page < 0 ) ) 
print "จำนวน $page มากกว่า $num_pages"; 

$sql .= " LIMIT $page_start, $per_page"; 
$result = mysql_query( $sql ); 
$dbquery = mysql_db_query($dbname,$sql); 
$cols = 10; 
$c = $cols; 
$c --; 
?> 










Date : 2010-02-04 20:25:58 By : gofgof
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูให้ทีคับว่าจะต้องยังไง INNER JOIN แบบปกติได้แล้วคับ ติดเรื่อง search แบบ INNER JOIN 2 ตาราง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่