 |
เราจะทำค้นหาข้อมูล แบบ 2 เงื่อนไข โดยที่เรามี table หลักอยู่ 1 table เป็น table ที่ใช้เก็บ ข้อมูลที่เลือกมาจากtable อื่นค่ะ |
|
 |
|
|
 |
 |
|
JOIN ก่อนครับ แล้ว WHERE จากฟิลด์ข้อมูลที่ต้องการใช้คนหา
แนวทาง
SELECT
`ตารางหลัก`.*,
`ตารางB`.`ข้อมูลB`,
`ตารางC`.`ข้อมูลC`,
`ตารางD`.`ข้อมูลD`,
`ตารางE`.`ข้อมูลE`
FROM `ตารางหลัก`
JOIN `ตารางB` ON `ตารางB`.`id` = `ตารางหลัก`.`TB_B`
JOIN `ตารางC` ON `ตารางC`.`id` = `ตารางหลัก`.`TB_C`
JOIN `ตารางD` ON `ตารางD`.`id` = `ตารางหลัก`.`TB_D`
JOIN `ตารางE` ON `ตารางE`.`id` = `ตารางหลัก`.`TB_E`
WHERE
`ตารางหลัก`.`ข้อมูลA` LIKE '%คำค้น1%'
OR `ตารางB`.`ข้อมูลB` LIKE '%คำค้น2%'
OR `ตารางC`.`ข้อมูลC` LIKE '%คำค้น3%'
OR `ตารางD`.`ข้อมูลD` LIKE '%คำค้น4%'
OR `ตารางE`.`ข้อมูลE` LIKE '%คำค้น5%'
ตรง OR จะเป็น AND ก็ได้ แล้วแต่ว่าต้องการแบบไหน (แบบเข้าข่ายอย่างใดอย่างหนึ่ง หรือต้องตรงทั้งหมด)
|
 |
 |
 |
 |
Date :
2014-11-12 15:53:32 |
By :
FRINGE |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
จะ LIKE หรือ จะ = ก็ได้ แต่แนวทางที่จะบอกคือต้อง JOIN ก่อนครับ เพื่อที่จะเอาข้อมูลจากตารางอื่นมาใช้เป็นเงื่อนไขได้
|
 |
 |
 |
 |
Date :
2014-11-12 15:55:09 |
By :
FRINGE |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ก็คือ JOIN ใน query นั่นล่ะครับ
การ JOIN คือการเอาข้อมูลจากตารางอื่นมารวมอยู่ใน result ที่ต้องการ
เมื่อมันนำมารวมแล้ว เราถึงสามารถเอาไปเป็นเงื่อนไข (WHERE) ได้
ลองเอาโครงสร้างตารางทั้งหมดที่ใช้ในการ JOIN (รวมตารางหลักด้วย) มาดูครับ
บอกด้วยว่าต้องการค้นหาจากฟิลด์ไหนบ้าง เดี๋ยวจะลองเขียนตัวอย่างชัดๆ ให้
|
 |
 |
 |
 |
Date :
2014-11-19 10:53:26 |
By :
phpinfo() |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 8 เขียนโดย : cowboycnx เมื่อวันที่ 2014-11-21 08:43:48
รายละเอียดของการตอบ ::
ลองเขียนดู แล้ว เออเรอเป็นเพียบเลยค่ะ รบกวนดูให้หน่อยนะคะ
Code (PHP)
<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<tr>
<td width="68" align="center" valign="middle"> </td>
<td width="68" align="center" valign="middle">ค้นหาจาก: </td>
<td width="231" align="center" valign="top">
<select name="UserSelect" id="UserSelect">
<option>- กรุณาเลือก -</option>
<option value="ID_Cor" <? if($_POST["UserSelect"]=="ID_Cor"){echo"selected";}?>>ผู้ประกอบการ</option>
<option value="Fac_ID" <? if($_POST["UserSelect"]=="Fac_ID"){echo"selected";}?>>โรงอุตสาหกรรม</option>
<option value="Trade_ID" <? if($_POST["UserSelect"]=="Trade_ID"){echo"selected";}?>>เครื่องหมายการค้า | ชื่อตรา</option>
<option value="Type_ID" <? if($_POST["UserSelect"]=="Type_ID"){echo"selected";}?>>ชนิดน้ำผักผลไม้</option>
<option value="CC_ID" <? if($_POST["UserSelect"]=="CC_ID"){echo"selected";}?>>ปริมาตรน้ำผักผลไม้</option>
<option value="Pak_ID" <? if($_POST["UserSelect"]=="Pak_ID"){echo"selected";}?>>ชนิดบรรจุภัณฑ์</option>
</select></td>
<td width="42" align="center" valign="middle">คำค้น:</td>
<td width="213" align="center" valign="top"><input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_POST["txtKeyword"];?>"></td>
<td width="202" align="left" valign="top"><input type="submit" value="ค้นหา"></td>
</tr>
</form>
Code (PHP)
<?
$objConnect =include("conn.php");
$objDB = mysql_select_db("excepttaxdb_new");
$strSQL = "
SELECT
authorization.Aut_ID,
authorization.Aut_Number,
authorization.Prompted_Date,
corporation.ID_Cor,
corporation.Cor_name,
factory.Fac_ID,
factory.FacName,
trademarks.Trade_ID,
trademarks.Trade_Name,
type.Type_ID,
type.Type_Name,
capacitance.CC_ID,
capacitance.CC,
package.Pak_ID,
package.Pak_Name
FROM authorization ";
if($_POST["UserSelect"] != "" and $_POST["txtKeyword"] != '')
{
$strSQL .= "
LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor
LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID
LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID
LEFT JOIN type ON type.Type_ID = authorization.Type_ID
LEFT JOIN capacitance ON capacitance.CC_ID = authorization.CC_ID
LEFT JOIN package ON package.Pak_ID = authorization.Pak_ID
WHERE
corporation.Cor_name AND (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR factory.FacName AND (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR trademarks.Trade_Name AND (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR type.Type_Name AND (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR capacitance.CC AND (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR package.Pak_Name AND (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
";
}
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
---------------------------
Error Query [ SELECT authorization.Aut_ID, authorization.Aut_Number, authorization.Prompted_Date, corporation.ID_Cor, corporation.Cor_name, factory.Fac_ID, factory.FacName, trademarks.Trade_ID, trademarks.Trade_Name, type.Type_ID, type.Type_Name, capacitance.CC_ID, capacitance.CC, package.Pak_ID, package.Pak_Name FROM authorization ]
|
ประวัติการแก้ไข 2014-11-27 11:08:53
 |
 |
 |
 |
Date :
2014-11-27 11:07:24 |
By :
momiya123 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
  
|
 |
 |
 |
 |
Date :
2014-11-28 09:22:43 |
By :
momiya123 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เพิ่มหน่อยครับ
บันทัดนี้
51. $objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
แก้เป็น
51.$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]" . "<br>" . mysql_error() );
SELECT authorization.Aut_ID
, authorization.Aut_Number
, authorization.Prompted_Date
, corporation.ID_Cor
, corporation.Cor_name
, factory.Fac_ID
, factory.FacName
, trademarks.Trade_ID
, trademarks.Trade_Name
, type.Type_ID
, type.Type_Name
, capacitance.CC_ID
, capacitance.CC
, package.Pak_ID
, package.Pak_Name
FROM authorization
มีสีเขียวอันเดียว ประกาศชื่อ ตาราง
ส่วนสีแดง ไม่มีการประกาศชื่อตาราง
ผิดบันทัดนี้
27. if($_POST["UserSelect"] != "" and $_POST["txtKeyword"] != '')
แก้เป้น
27.if($_POST["UserSelect"] != "" && $_POST["txtKeyword"] != '')
|
ประวัติการแก้ไข 2014-11-28 09:44:00 2014-11-28 09:46:14
 |
 |
 |
 |
Date :
2014-11-28 09:40:04 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 13 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-28 09:40:04
รายละเอียดของการตอบ ::
ตารางสีแดงหนูต้องประกาศชื่อตารางด้วยใช่มั๊ยคะ แล้วเขียนเพิ่มตรง FROM authorization หลาย ๆ อันเลยรึเปล่าคะ
ถ้าไม่ได้ จะต้องเขียนในลักษณะไหนคะ หรือหนูควรจะ select * ทุกตารางไปเลย (แก้ตามแล้วยังเออเรอเหมือนเดิมค่ะ
Error Query [ SELECT authorization.Aut_ID, authorization.Aut_Number, authorization.Prompted_Date, corporation.ID_Cor, corporation.Cor_name, factory.Fac_ID, factory.FacName, trademarks.Trade_ID, trademarks.Trade_Name, type.Type_ID, type.Type_Name, capacitance.CC_ID, capacitance.CC, package.Pak_ID, package.Pak_Name FROM authorization LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID LEFT JOIN type ON type.Type_ID = authorization.Type_ID LEFT JOIN capacitance ON capacitance.CC_ID = authorization.CC_ID LEFT JOIN package ON package.Pak_ID = authorization.Pak_ID WHERE corporation.Cor_name && (ID_Cor LIKE '%ท%' ) OR factory.FacName && (ID_Cor LIKE '%ท%' ) OR trademarks.Trade_Name && (ID_Cor LIKE '%ท%' ) OR type.Type_Name && (ID_Cor LIKE '%ท%' ) OR capacitance.CC && (ID_Cor LIKE '%ท%' ) OR package.Pak_Name && (ID_Cor LIKE '%ท%' ) ]
Column 'ID_Cor' in where clause is ambiguous
ส่วนอันนี้เป็นโค้ทหน้านี้ทั้งหมดค่ะ (อาจจะลายตาไปเยอะ เพราะหนูเขียนไม่เป็นค่ะ จับนั่นมาแปะตรงนั้นที ตรงนี้ที มันเลยมั่ว ๆ อย่างที่เห็นล่ะค่ะ)    รบกวนด้วยนะคะ T_____T
Code (PHP)
<?
session_start();
if($_SESSION['UserID'] == "")
{
echo "Please Login!!"."<br>";
echo "<a href=login.php >Click</a>";
exit();
}
if($_SESSION['DepID'] != "73000")
{
echo "This page for Pak only!";
echo "<a href=login.php >Click</a>";
exit();
}
//mysql_connect("localhost","root","root");
//mysql_select_db("mydatabase");
$objConnect =include("conn.php");
$objDB = mysql_select_db("excepttaxdb_new");
mysql_query("SET NAMES UTF8");
$strSQL = "SELECT * FROM authorization WHERE Aut_ID = '".$_SESSION['Aut_ID']."' ";
$objQuery = mysql_query($strSQL);
$objResult = mysql_fetch_array($objQuery);
// echo $_SESSION['UserID'];
?>
<?
class Paginator{
var $items_per_page;
var $items_total;
var $current_page;
var $num_pages;
var $mid_range;
var $low;
var $high;
var $limit;
var $return;
var $default_ipp;
var $querystring;
var $url_next;
function Paginator()
{
$this->current_page = 1;
$this->mid_range = 7;
$this->items_per_page = $this->default_ipp;
$this->url_next = $this->url_next;
}
function paginate()
{
if(!is_numeric($this->items_per_page) OR $this->items_per_page <= 0) $this->items_per_page = $this->default_ipp;
$this->num_pages = ceil($this->items_total/$this->items_per_page);
if($this->current_page < 1 Or !is_numeric($this->current_page)) $this->current_page = 1;
if($this->current_page > $this->num_pages) $this->current_page = $this->num_pages;
$prev_page = $this->current_page-1;
$next_page = $this->current_page+1;
if($this->num_pages > 10)
{
$this->return = ($this->current_page != 1 And $this->items_total >= 10) ? "<a class=\"paginate\" href=\"".$this->url_next.$this->$prev_page."\">« Previous</a> ":"<span class=\"inactive\" href=\"#\">« Previous</span> ";
$this->start_range = $this->current_page - floor($this->mid_range/2);
$this->end_range = $this->current_page + floor($this->mid_range/2);
if($this->start_range <= 0)
{
$this->end_range += abs($this->start_range)+1;
$this->start_range = 1;
}
if($this->end_range > $this->num_pages)
{
$this->start_range -= $this->end_range-$this->num_pages;
$this->end_range = $this->num_pages;
}
$this->range = range($this->start_range,$this->end_range);
for($i=1;$i<=$this->num_pages;$i++)
{
if($this->range[0] > 2 And $i == $this->range[0]) $this->return .= " ... ";
if($i==1 Or $i==$this->num_pages Or in_array($i,$this->range))
{
$this->return .= ($i == $this->current_page And $_GET['Page'] != 'All') ? "<a title=\"Go to page $i of $this->num_pages\" class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" title=\"Go to page $i of $this->num_pages\" href=\"".$this->url_next.$i."\">$i</a> ";
}
if($this->range[$this->mid_range-1] < $this->num_pages-1 And $i == $this->range[$this->mid_range-1]) $this->return .= " ... ";
}
$this->return .= (($this->current_page != $this->num_pages And $this->items_total >= 10) And ($_GET['Page'] != 'All')) ? "<a class=\"paginate\" href=\"".$this->url_next.$next_page."\">Next »</a>\n":"<span class=\"inactive\" href=\"#\">» Next</span>\n";
}
else
{
for($i=1;$i<=$this->num_pages;$i++)
{
$this->return .= ($i == $this->current_page) ? "<a class=\"current\" href=\"#\">$i</a> ":"<a class=\"paginate\" href=\"".$this->url_next.$i."\">$i</a> ";
}
}
$this->low = ($this->current_page-1) * $this->items_per_page;
$this->high = ($_GET['ipp'] == 'All') ? $this->items_total:($this->current_page * $this->items_per_page)-1;
$this->limit = ($_GET['ipp'] == 'All') ? "":" LIMIT $this->low,$this->items_per_page";
}
function display_pages()
{
return $this->return;
}
}
?>
<!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">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<html>
<style type="text/css">
<!--
body {
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
background-color:#d0d0d0;
}
-->
</style>
<head>
<title>[ สถานะการขอยกเว้นภาษีเครื่องดื่ม ]</title>
<link rel="stylesheet" type="text/css" href="bg.css">
<link rel="stylesheet" type="text/css" href="css0/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/table.css">
<link rel="stylesheet" type="text/css" href="css0/bum.css">
<script src="jquery/jquery-latest.js"></script>
</head>
<style type="text/css">
<!--
.paginate {
font-family: Arial, Helvetica, sans-serif;
font-size: .7em;
}
a.paginate {
border: 1px solid #000080;
padding: 2px 6px 2px 6px;
text-decoration: none;
color: #000080;
}
h2 {
font-size: 12pt;
color: #003366;
}
h2 {
line-height: 1.2em;
letter-spacing:-1px;
margin: 0;
padding: 0;
text-align: left;
}
a.paginate:hover {
background-color: #000080;
color: #FFF;
text-decoration: underline;
}
a.current {
border: 1px solid #000080;
font: bold .7em Arial,Helvetica,sans-serif;
padding: 2px 6px 2px 6px;
cursor: default;
background:#000080;
color: #FFF;
text-decoration: none;
}
span.inactive {
border: 1px solid #999;
font-family: Arial, Helvetica, sans-serif;
font-size: .7em;
padding: 2px 6px 2px 6px;
color: #999;
cursor: default;
}
-->
</style>
<body >
<table width="900" border="0" align="center" cellpadding="0" cellspacing="0" id="ex5">
<tr>
<td><?php require_once('menu_pak.php'); ?></td>
</tr>
<tr>
<td><?php require_once('head_area.php'); ?></td>
</tr>
<tr>
<td bgcolor="#F6841A"></td>
</tr>
<tr>
<td bgcolor="#FF7C03"></td>
</tr>
<tr>
<td><div align="center"><strong>[ สถานะการขอยกเว้นภาษีเครื่องดื่ม ]</strong></div></td>
</tr>
<tr>
<td> </td>
</tr>
<tr>
<td align="center"><table width="864" align="center">
<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<tr>
<td width="68" align="center" valign="middle"> </td>
<td width="68" align="center" valign="middle">ค้นหาจาก: </td>
<td width="231" align="center" valign="top">
<select name="UserSelect" id="UserSelect">
<option>- กรุณาเลือก -</option>
<option value="ID_Cor" <? if($_POST["UserSelect"]=="ID_Cor") {echo"selected";}?>>ผู้ประกอบการ</option>
<option value="Fac_ID" <? if($_POST["UserSelect"]=="Fac_ID") {echo"selected";}?>>โรงอุตสาหกรรม</option>
<option value="Trade_ID" <? if($_POST["UserSelect"]=="Trade_ID") {echo"selected";}?>>เครื่องหมายการค้า | ชื่อตรา</option>
<option value="Type_ID" <? if($_POST["UserSelect"]=="Type_ID") {echo"selected";}?>>ชนิดน้ำผักผลไม้</option>
<option value="CC_ID" <? if($_POST["UserSelect"]=="CC_ID") {echo"selected";}?>>ปริมาตรน้ำผักผลไม้</option>
<option value="Pak_ID" <? if($_POST["UserSelect"]=="Pak_ID") {echo"selected";}?>>ชนิดบรรจุภัณฑ์</option>
</select></td>
<td width="42" align="center" valign="middle">คำค้น:</td>
<td width="213" align="center" valign="top"><input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_POST["txtKeyword"];?>"></td>
<td width="202" align="left" valign="top"><input type="submit" value="ค้นหา"></td>
</tr>
</form>
</table></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td height="18">
</td>
</tr>
<tr>
<td align="center">
<?
$objConnect =include("conn.php");
$objDB = mysql_select_db("excepttaxdb_new");
//ลองแก้ไปแก้มา มั่วไปหมดเลย
$strSQL = "
SELECT authorization.Aut_ID,
authorization.Aut_Number,
authorization.Prompted_Date,
corporation.ID_Cor,
corporation.Cor_name,
factory.Fac_ID,
factory.FacName,
trademarks.Trade_ID,
trademarks.Trade_Name,
type.Type_ID,
type.Type_Name,
capacitance.CC_ID,
capacitance.CC,
package.Pak_ID,
package.Pak_Name
FROM authorization
LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor
LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID
LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID
LEFT JOIN type ON type.Type_ID = authorization.Type_ID
LEFT JOIN capacitance ON capacitance.CC_ID = authorization.CC_ID
LEFT JOIN package ON package.Pak_ID = authorization.Pak_ID
";
if($_POST["UserSelect"] != "" and $_POST["txtKeyword"] != '')
{
//มึน ๆ งง ๆ
$strSQL .= "
WHERE
corporation.Cor_name && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR factory.FacName && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR trademarks.Trade_Name && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR type.Type_Name && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR capacitance.CC && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR package.Pak_Name && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
";
}
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]" . "<br>" . mysql_error() );
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 10; // 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 Aut_ID ASC LIMIT $Page_Start , $Per_Page";
$objQuery = mysql_query($strSQL);
?>
<table width="714" id="box-table-a">
<tr>
<th width="107" align="center"><div align="center">ผู้ประกอบการ</div></th>
<th width="124" align="center"><div align="center">ชื่อโรงอุตสาหกรรม</div></th>
<th width="119" align="center"><div align="center">ชื่อตรา</div></th>
<th width="128" align="center"><div align="center">ผลการวิเคราะห์</div></th>
<th width="96" align="center"><div align="center">ผลการอนุมัติ<br>ยกเว้นภาษี</div></th>
<th width="118" align="center">เลขที่หนังสือ<br>อนุมัติ</th>
<th width="76" align="center">ระบุ|แก้ไขสถานะ</th>
</tr>
<?
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td align="left"><? //=$objResult["ID_Cor"];?>
<?
$strSQL00 = "SELECT * FROM corporation WHERE ID_Cor = '".$objResult["ID_Cor"]."' ";
$objQuery00 = mysql_query($strSQL00);
$objResult00 = mysql_fetch_array($objQuery00);?>
<?=$objResult00["Cor_name"];?>
</td>
<td align="left"><? //=$objResult["ID_Cor"];?>
<?
$strSQL0 = "SELECT * FROM factory WHERE Fac_ID = '".$objResult["Fac_ID"]."' ";
$objQuery0 = mysql_query($strSQL0);
$objResult0 = mysql_fetch_array($objQuery0);?>
<?=$objResult0["FacName"];?>
</td>
<td align="left"><? //=$objResult["Trade_ID"];?>
<? $objConnect =include("conn.php");
$strSQL1 = "SELECT * FROM trademarks WHERE Trade_ID = '".$objResult["Trade_ID"]."' ";
$objQuery1 = mysql_query($strSQL1);
$objResult1 = mysql_fetch_array($objQuery1);?>
<?=$objResult1["Trade_Name"];?>
</td>
<td align="center"><?=$objResult["Analysis_result"];?></td>
<td align="center"><?=$objResult["Analysis_result"];?></td>
<td align="center"><?=$objResult["Approved_Number"];?></td>
<td align="center">
<script language="javascript">
function js_popup(theURL,width,height)
{ //v2.0
leftpos = (screen.availWidth - width) / 2;
toppos = (screen.availHeight - height) / 2;
window.open(theURL, "viewdetails","width=" + width + ",height=" + height + ",left=" + leftpos + ",top=" + toppos);
}
</script>
<a href="Pak_StatusEditForm.php?Aut_ID=<?=$objResult["Aut_ID"];?>">Click</a>
</td>
</tr>
<?
}
?>
</table>
<br>
Total
<?= $Num_Rows;?> Record
<?
$pages = new Paginator;
$pages->items_total = $Num_Rows;
$pages->mid_range = 10;
$pages->current_page = $Page;
$pages->default_ipp = $Per_Page;
$pages->url_next = $_SERVER["PHP_SELF"]."?QueryString=value&Page=";
$pages->paginate();
echo $pages->display_pages()
?>
<?
//mysql_close($objConnect);
?>
</td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td height="71" align="right"><a href="Pak_Apply_StatusViewList.php"><<ย้อนกลับ</a> </td>
</tr>
<tr>
<td><?php require_once('foot.php'); ?></td>
</tr>
</table>
</body>
</html>
|
ประวัติการแก้ไข 2014-11-28 10:55:51 2014-11-28 11:02:05
 |
 |
 |
 |
Date :
2014-11-28 10:54:49 |
By :
momiya123 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
งืมๆ ตรงนี้ไม่ได้อ่านเหรอครับ ดูโค๊ดของเก่านะครับ
ผิดบันทัดนี้
27. if($_POST["UserSelect"] != "" and $_POST["txtKeyword"] != '')
แก้เป้น
27.if($_POST["UserSelect"] != "" && $_POST["txtKeyword"] != '')
ส่วนอันนี้โค๊ดใหม่
Code (PHP)
263. if($_POST["UserSelect"] != "" and $_POST["txtKeyword"] != '')
ก็ยังไม่ได้เปลี่ยน โค๊ดมันผิดอะครับ เลยไม่เข้าเคส ซักที
|
 |
 |
 |
 |
Date :
2014-11-28 11:05:32 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 15 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-11-28 11:05:32
รายละเอียดของการตอบ ::
Code (PHP)
<?
$objConnect =include("conn.php");
$objDB = mysql_select_db("excepttaxdb_new");
$strSQL = "
SELECT authorization.Aut_ID,
authorization.Aut_Number,
authorization.Prompted_Date,
corporation.ID_Cor,
corporation.Cor_name,
factory.Fac_ID,
factory.FacName,
trademarks.Trade_ID,
trademarks.Trade_Name,
type.Type_ID,
type.Type_Name,
capacitance.CC_ID,
capacitance.CC,
package.Pak_ID,
package.Pak_Name
FROM authorization
LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor
LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID
LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID
LEFT JOIN type ON type.Type_ID = authorization.Type_ID
LEFT JOIN capacitance ON capacitance.CC_ID = authorization.CC_ID
LEFT JOIN package ON package.Pak_ID = authorization.Pak_ID
";
if($_POST["UserSelect"] != "" && $_POST["txtKeyword"] != '')
{
$strSQL .= "
WHERE
corporation.Cor_name && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR factory.FacName && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR trademarks.Trade_Name && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR type.Type_Name && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR capacitance.CC && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
OR package.Pak_Name && (".$_POST["UserSelect"]." LIKE '%".$_POST["txtKeyword"]."%' )
";
}
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]" . "<br>" . mysql_error() );
Error
Error Query [ SELECT authorization.Aut_ID, authorization.Aut_Number, authorization.Prompted_Date, corporation.ID_Cor, corporation.Cor_name, factory.Fac_ID, factory.FacName, trademarks.Trade_ID, trademarks.Trade_Name, type.Type_ID, type.Type_Name, capacitance.CC_ID, capacitance.CC, package.Pak_ID, package.Pak_Name FROM authorization LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID LEFT JOIN type ON type.Type_ID = authorization.Type_ID LEFT JOIN capacitance ON capacitance.CC_ID = authorization.CC_ID LEFT JOIN package ON package.Pak_ID = authorization.Pak_ID WHERE corporation.Cor_name && (ID_Cor LIKE '%1%' ) OR factory.FacName && (ID_Cor LIKE '%1%' ) OR trademarks.Trade_Name && (ID_Cor LIKE '%1%' ) OR type.Type_Name && (ID_Cor LIKE '%1%' ) OR capacitance.CC && (ID_Cor LIKE '%1%' ) OR package.Pak_Name && (ID_Cor LIKE '%1%' ) ]
Column 'ID_Cor' in where clause is ambiguous
|
 |
 |
 |
 |
Date :
2014-11-28 11:33:58 |
By :
momiya123 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code
SELECT authorization.Aut_ID
, authorization.Aut_Number, authorization.Prompted_Date
, corporation.ID_Cor, corporation.Cor_name
, factory.Fac_ID, factory.FacName
, trademarks.Trade_ID, trademarks.Trade_Name
, type.Type_ID, type.Type_Name
, capacitance.CC_ID, capacitance.CC
, package.Pak_ID, package.Pak_Name
FROM authorization
LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor
LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID
LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID
LEFT JOIN type ON type.Type_ID = authorization.Type_ID
LEFT JOIN capacitance ON capacitance.CC_ID = authorization.CC_ID
LEFT JOIN package ON package.Pak_ID = authorization.Pak_ID
WHERE corporation.Cor_name && (ID_Cor LIKE '%1%' )
OR factory.FacName && (ID_CorLIKE '%1%' )
OR trademarks.Trade_Name && (ID_CorLIKE '%1%' )
OR type.Type_Name && (ID_CorLIKE '%1%' )
OR capacitance.CC && (ID_CorLIKE '%1%' )
OR package.Pak_Name && (ID_CorLIKE '%1%' ) ]
Column 'ID_Cor' in where clause is ambiguous
ต้องกำหนดชื่อ ตารางให้มันด้วยนะครับ
|
 |
 |
 |
 |
Date :
2014-11-28 11:38:05 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
WHERE corporation.Cor_name && (ID_Cor LIKE '%1%' )
OR factory.FacName && (ID_Cor LIKE '%1%' )
OR trademarks.Trade_Name && (ID_Cor LIKE '%1%' )
OR type.Type_Name && (ID_Cor LIKE '%1%' )
OR capacitance.CC && (ID_Cor LIKE '%1%' )
OR package.Pak_Name && (ID_Cor LIKE '%1%' )
สีแดงใส่ ชื่อตารางหรือยังครับ เช่น corporation.ID_Cor LIKE '%1%'
ส่วนสี เหลือง ใน sql ใช้ and ครับ
และสีเขียว เปรียบเทียบกับอะไรครับ
คือรูปแบบการเปรียบเทียบ ผิดไวยกรณ์ครับ
ควรจะเป็นแบบนี้
Code (SQL)
WHERE authorization.ID_Cor LIKE '%ตัวเปรียบเทียบ%'
and
( corporation.Cor_name like '%ตัวค้นหา%'
OR factory.FacName like '%ตัวค้นหา%'
OR trademarks.Trade_Name like '%ตัวค้นหา%'
OR type.Type_Name like '%ตัวค้นหา%'
OR capacitance.CC like '%ตัวค้นหา%'
OR package.Pak_Name like '%ตัวค้นหา%'
)
ก็ต้องลองดูครับ ผมอ่านแล้วไม่รู้ว่าต้องการเปรียบเทียบกับอะไรแน่ ส่วนการจอยกัน ก็อยู่อีกส่วน
|
 |
 |
 |
 |
Date :
2014-12-04 11:01:52 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
เพิ่งไปเห็น form ข้างบน เพิ่งเข้าใจ
แก้ฟอร์มตามนี้ยเลยครับ คือฟอร์ม ส่งไปแคร่ชื่อ field ซึ่งไม่ได้มีอยู่แค่ในตารางเดียวครับ
จำเป็นต้องใส่ ชื่อตารางเข้าไปด้วย
Code (PHP)
<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<tr>
<td width="68" align="center" valign="middle"> </td>
<td width="68" align="center" valign="middle">ค้นหาจาก: </td>
<td width="231" align="center" valign="top">
<select name="UserSelect" id="UserSelect">
<option>- กรุณาเลือก -</option>
<option value="authorization.ID_Cor" <? if($_POST["UserSelect"]=="authorization.ID_Cor"){echo"selected";}?>>ผู้ประกอบการ</option>
<option value="factory.Fac_ID" <? if($_POST["UserSelect"]=="factory.Fac_ID"){echo"selected";}?>>โรงอุตสาหกรรม</option>
<option value="trademarks.Trade_ID" <? if($_POST["UserSelect"]=="trademarks.Trade_ID"){echo"selected";}?>>เครื่องหมายการค้า | ชื่อตรา</option>
<option value="type.Type_ID" <? if($_POST["UserSelect"]=="type.Type_ID"){echo"selected";}?>>ชนิดน้ำผักผลไม้</option>
<option value="capacitance.CC_ID" <? if($_POST["UserSelect"]=="capacitance.CC_ID"){echo"selected";}?>>ปริมาตรน้ำผักผลไม้</option>
<option value="package.Pak_ID" <? if($_POST["UserSelect"]=="package.Pak_ID"){echo"selected";}?>>ชนิดบรรจุภัณฑ์</option>
</select></td>
<td width="42" align="center" valign="middle">คำค้น:</td>
<td width="213" align="center" valign="top"><input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_POST["txtKeyword"];?>"></td>
<td width="202" align="left" valign="top"><input type="submit" value="ค้นหา"></td>
</tr>
</form>
ส่วน php ตัวรับ
Code (PHP)
<?
$objConnect =include("conn.php");
$objDB = mysql_select_db("excepttaxdb_new");
$strSQL = "
SELECT authorization.Aut_ID,
authorization.Aut_Number,
authorization.Prompted_Date,
corporation.ID_Cor,
corporation.Cor_name,
factory.Fac_ID,
factory.FacName,
trademarks.Trade_ID,
trademarks.Trade_Name,
type.Type_ID,
type.Type_Name,
capacitance.CC_ID,
capacitance.CC,
package.Pak_ID,
package.Pak_Name
FROM authorization
LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor
LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID
LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID
LEFT JOIN type ON type.Type_ID = authorization.Type_ID
LEFT JOIN capacitance ON capacitance.CC_ID = authorization.CC_ID
LEFT JOIN package ON package.Pak_ID = authorization.Pak_ID
";
if($_POST["UserSelect"] != "" && $_POST["txtKeyword"] != ''){
$strSQL .= ' WHERE '.$_POST['UserSelect']." LIKE '%$_POST[txtKeyword]%' ";
}
?>
|
 |
 |
 |
 |
Date :
2014-12-04 11:28:33 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ตอบความคิดเห็นที่ : 20 เขียนโดย : Chaidhanan เมื่อวันที่ 2014-12-04 11:28:33
รายละเอียดของการตอบ ::
แก้แล้วค่ะ
ส่วนของฟอร์ม
Code (PHP)
<form name="frmSearch" method="post" action="<?=$_SERVER['SCRIPT_NAME'];?>">
<tr>
<td width="68" align="center" valign="middle"> </td>
<td width="68" align="center" valign="middle">ค้นหาจาก: </td>
<td width="231" align="center" valign="top">
<select name="UserSelect" id="UserSelect">
<option>- กรุณาเลือก -</option>
<option value="ID_Cor" <? if($_POST["UserSelect"]=="authorization.ID_Cor") {echo"selected";}?>>ผู้ประกอบการ</option>
<option value="Fac_ID" <? if($_POST["UserSelect"]=="factory.Fac_ID") {echo"selected";}?>>โรงอุตสาหกรรม</option>
<option value="Trade_ID" <? if($_POST["UserSelect"]=="trademarks.Trade_ID") {echo"selected";}?>>เครื่องหมายการค้า | ชื่อตรา</option>
<option value="Type_ID" <? if($_POST["UserSelect"]=="type.Type_ID") {echo"selected";}?>>ชนิดน้ำผักผลไม้</option>
<option value="CC_ID" <? if($_POST["UserSelect"]=="capacitance.CC_ID") {echo"selected";}?>>ปริมาตรน้ำผักผลไม้</option>
<option value="Pak_ID" <? if($_POST["UserSelect"]=="package.Pak_ID") {echo"selected";}?>>ชนิดบรรจุภัณฑ์</option>
</select></td>
<td width="42" align="center" valign="middle">คำค้น:</td>
<td width="213" align="center" valign="top"><input name="txtKeyword" type="text" id="txtKeyword" value="<?=$_POST["txtKeyword"];?>"></td>
<td width="202" align="left" valign="top"><input type="submit" value="ค้นหา"></td>
</tr>
</form>
ส่วนโค้ด
Code (PHP)
<?
$objConnect =include("conn.php");
$objDB = mysql_select_db("excepttaxdb_new");
$strSQL = "
SELECT
authorization.Aut_ID,
authorization.Aut_Number,
authorization.Prompted_Date,
corporation.ID_Cor,
corporation.Cor_name,
factory.Fac_ID,
factory.FacName,
trademarks.Trade_ID,
trademarks.Trade_Name,
type.Type_ID,
type.Type_Name,
capacitance.CC_ID,
capacitance.CC,
package.Pak_ID,
package.Pak_Name
FROM authorization
LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor
LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID
LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID
LEFT JOIN type ON authorization.Type_ID = type.Type_ID
LEFT JOIN capacitance ON authorization.CC_ID = capacitance.CC_ID
LEFT JOIN package ON authorization.Pak_ID = package.Pak_ID
";
if($_POST["UserSelect"] != "" && $_POST["txtKeyword"] != ''){
$strSQL .= ' WHERE '.$_POST['UserSelect']." LIKE '%$_POST[txtKeyword]%' ";
}
mysql_query("SET NAMES UTF8");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]" . "<br>" . mysql_error() );
ผลเป็นดังนี้ค่ะ  
พรีวิวหน้านี้ได้ แต่เมื่อเลือกเงื่อนไข และค้นหา ขึ้นแบบนี้ค่ะ
Error Query [ SELECT authorization.Aut_ID, authorization.Aut_Number, authorization.Prompted_Date, corporation.ID_Cor, corporation.Cor_name, factory.Fac_ID, factory.FacName, trademarks.Trade_ID, trademarks.Trade_Name, type.Type_ID, type.Type_Name, capacitance.CC_ID, capacitance.CC, package.Pak_ID, package.Pak_Name FROM authorization LEFT JOIN corporation ON authorization.ID_Cor = corporation.ID_Cor LEFT JOIN factory ON authorization.Fac_ID = factory.Fac_ID LEFT JOIN trademarks ON authorization.Trade_ID = trademarks.Trade_ID LEFT JOIN type ON authorization.Type_ID = type.Type_ID LEFT JOIN capacitance ON authorization.CC_ID = capacitance.CC_ID LEFT JOIN package ON authorization.Pak_ID = package.Pak_ID WHERE ID_Cor LIKE '%ท%' ]
***Column 'ID_Cor' in where clause is ambiguous
|
ประวัติการแก้ไข 2014-12-08 11:15:59 2014-12-08 11:20:09 2014-12-08 11:57:29 2014-12-08 11:57:37 2014-12-08 11:58:37
 |
 |
 |
 |
Date :
2014-12-08 11:14:26 |
By :
momiya123 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
ไม่รู้จะร้องไห้หรือหัวเราะดี อย่าว่ากันเลยนะครับ ขอหัวเราะดีกว่า 55555555
แบบว่า value มันไม่ได้ถูกแก้ครับ ตัวอย่างผม แก้ 2 ที่ value กับ แสดง selected ครับ
value เป็นส่วนที่ถุกส่งไปยัง page ตัวรับ
ลองเปรียบเทียบดูครับ คห 20 กับที่ทำใหม่
<option value="????????" <?=( select )?> >
|
 |
 |
 |
 |
Date :
2014-12-08 12:30:41 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
โค๊ดตัวรับหลังจากนี้มีอะไรไหมครับ
38.mysql_query("SET NAMES UTF8");
39.$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]" . "<br>" . mysql_error() );
ส่วนการแสดงผลต่อจาก บันทัด 38 39 มีอะไรต่อไป
ทดสอบ
Code (PHP)
echo mysql_numrows($objQuery);
ปล. โค๊ดตัวรับอาจมี critical error เลยไม่แสดงผลอะไรออกมา ลองดูใน error report ของ php ครับ
|
ประวัติการแก้ไข 2014-12-08 14:05:04
 |
 |
 |
 |
Date :
2014-12-08 14:00:05 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
  
|
 |
 |
 |
 |
Date :
2014-12-09 09:35:40 |
By :
momiya123 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
if($UserSelect>'' && $txtKeyword>''){
switch($UserSelect){
case "authorization.ID_Cor": $or=" or corporation.Cor_name like '%$txtKeyword%' "; break;
case "factory.Fac_ID": $or=" or factory.FacName like '%$txtKeyword%' "; break;
case "trademarks.Trade_ID": $or=" or trademarks.Trade_Name like '%$txtKeyword%' "; break;
case "type.Type_ID": $or=" or type.Type_Name like '%$txtKeyword%' "; break;
case "capacitance.CC_ID": $or=" or capacitance.CC like '%$txtKeyword%' "; break;
case "package.Pak_ID": $or=" or package.Pak_Name like '%$txtKeyword%' "; break;
}
$strSQL .= " WHERE $UserSelect LIKE '%$txtKeyword%' ".$or;
}
|
ประวัติการแก้ไข 2014-12-17 13:47:56
 |
 |
 |
 |
Date :
2014-12-17 13:45:30 |
By :
Chaidhanan |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|