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

HOME > PHP > PHP Forum > รบกวนอีกครั้งคะ ตอนนี้มีปัญหาอยู่ 2 อย่างคือเรื่อง Join ตารางกับตะกร้าสินค้าค่ะ



 

รบกวนอีกครั้งคะ ตอนนี้มีปัญหาอยู่ 2 อย่างคือเรื่อง Join ตารางกับตะกร้าสินค้าค่ะ

 



Topic : 121402



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



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




เรื่องแรกคือ เราต้องการที่จะ Join ตารางราคากับสินค้าโดยใช้ตัว product_id เป็นคีย์เชื่อมตารางซึ่งก็สามารถเรียกข้อมูลออกมาได้แล้ว แต่ติดตรงที่ว่าเราต้องการให้มันเป็น Auto คือเปิดหน้าสินค้าตัวไหนก็เป็นราคาของกับวันที่ของสินค้าตัวนั้น ซึ่งตอนนี้มันแสดงค่าโดยเราใส่ค่า id_product อยู่อะค่ะ

1

โค้ด Join
<?php
              
              $strSQL = "SELECT product.*,price_compared.* FROM product,price_compared WHERE product.id_product = price_compared.id_product AND product.id_product = '1'";
              $objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]"); 
              $Num_Rows = mysql_num_rows($objQuery);
              while($objResult = mysql_fetch_array($objQuery))
                        {
          ?>
         <div id="h-comp-right">
              <div id="c-right1"><h4><?php echo $objResult ["price1"];?></h4></div>
              <div id="c-right2"><h4>ชื่อร้าค้า</h4></div>
              <div id="c-right3"><h4>ปรับปรุงวันที่</h4></div>
              <div id="c-right4"><h4><?php echo $objResult ["date"];?></h4></div>
         </div>


หมายเลข 1 ที่อยู่ใน product.id_product = '1'"; ก็คือ id_product อะค่ะ ถ้าเราเปลี่ยนเป็นเลข 2 มันก็จะเป็นอีกราคาหนึ่ง



Tag : PHP, MySQL









ประวัติการแก้ไข
2016-02-15 01:28:14
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-02-15 01:27:23 By : mineymin View : 753 Reply : 3
 

 

No. 1



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



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


เรื่องที่ 2 ก็คือเรื่องตะกร้าสินค้าค่ะ คือพอเรากดปุ่มสั่งซื้อสินค้าแล้วพอมันไปหน้า Show.php มันกับไม่แสดงสินค้าที่เรากดสั่งซื้ออะค่ะ เราเอาโค้ดมาจากในนี้มาบวกกับที่สอนใน YT อะค่ะ

2

ปุ่มสั่งซื้อสินค้า
<div id="submit"><button type="button"><a href="order.php?id_product=<?php echo $objResult["id_product"];?>">สั่งซื้อสินค้า</a></button></div>



order.php
<?php
ob_start();
session_start();
	
if(!isset($_SESSION["intLine"]))
{

	 $_SESSION["intLine"] = 0;
	 $_SESSION["strProductID"][0] = $_GET["id_product"];//อันนี้เก็ทค่ามากจาก id ของสินค้านั้นๆใช่มั้ยคะ
	 $_SESSION["strQty"][0] = 1;

	 header("location:show.php");
}
else
{
	
	$key = array_search($_GET["id_product"], $_SESSION["strProductID"]);
	if((string)$key != "")
	{
		 $_SESSION["strQty"][$key] = $_SESSION["strQty"][$key] + 1;
	}
	else
	{
		
		 $_SESSION["intLine"] = $_SESSION["intLine"] + 1;
		 $intNewLine = $_SESSION["intLine"];
		 $_SESSION["strProductID"][$intNewLine] = $_GET["id_product"];
		 $_SESSION["strQty"][$intNewLine] = 1;
	}
	
	 header("location:show.php");

}
?>



หน้า Show.php
<?php
session_start();
?>
<html>
<head>
<title>ตระกร้าสินค้า</title>
</head>
<?php
	$con = mysqli_connect("localhost","root","");

?>
<table width="400"  border="1">
  <tr>
    <td width="101">รหัสสินค้า</td>
    <td width="82">ชื่อสินค้า</td>
    <td width="82">ราคา</td>
    <td width="79">จำนวน</td>
    <td width="79">รวม</td>
    <td width="10">ลบ</td>
  </tr>
  <?php
	  	$Total = 0;
	  	$SumTotal = 0;
	  	$_SESSION["intLine"] = isset($_SESSION["intLine"]) ? $_SESSION["intLine"] : '';
	  	if ($_SESSION["intLine"] !=''){

  		for($i=0;$i<=(int)$_SESSION["intLine"];$i++)
  			{
	 			 if(isset($_SESSION["strProductID"][$i]) && $_SESSION["strProductID"][$i] != "")
					  {
						$strSQL = "SELECT * FROM product WHERE id_product = '".$_SESSION["strProductID"][$i]."' ";
						//$objQuery = mysql_query($strSQL)  or die(mysql_error());
						$objQuery = mysqli_query($con,$strSQL) or die(mysqli_error($con));
						$objResult = mysqli_fetch_array($objQuery);
						$Total = $_SESSION["strQty"][$i] * $objResult["price"];
						$SumTotal = $SumTotal + $Total;
					  ?>
					  <tr>
						<td><?php echo $_SESSION["strProductID"][$i];?></td>
						<td><?php echo $objResult["product"];?></td>
						<td><?php echo $objResult["price"];?></td>
						<td><?php echo $_SESSION["strQty"][$i];?></td>
						<td><?php echo number_format($Total,2);?></td>
						<td><a href="delete.php?Line=<?php echo $i;?>">ลบ</a></td>
					  </tr>
	  			<?php
	  				}
  			}
  		}
  ?>
</table>
ราคารวม <?php echo number_format($SumTotal,2);?>
<br><br><a href="product.php">ไปที่หน้าแสดงสินค้า</a>
<?php
	if($SumTotal > 0)
	{
?>
	| <a href="checkout.php">CheckOut</a>
<?php
	}
?>
<?php mysqli_close($con); ?>
</body>
</html>







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-02-15 01:34:12 By : mineymin
 


 

No. 2



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



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


อ่านคำถามแรกงงนิดหน่อย หมายถึงเอาราคาล่าสุดมาแสดงหรือเปล่าครับ ถ้าใช่ ก็ตามตัวอย่าง
Code (SQL)
SELECT p.*,c.* 
FROM product p
inner join price_compared c on p.id_product = c.id_product
inner join (select max(date) max_date, id_product  from price_compared group by id_product) as m
     on c.date=m.max_date and c.id_product = m.id_product
WHERE p.id_product = $id_product


ปล. ต้องเช็คตัวแปร ชื่อฟีลด์เอาหน่อยนะครับผมไม่เห็น structure ของแต่ละตาราง


ส่วน การใช้ session เก็บตะกร้าสินค้า ผมไม่แน่ะนำให้ใช้ เพราะมันจะต้องวนลูปคิวรี่ ตามจำนวนสินค้าแต่ละชนิด
ต้อง connect กับ db server ตามจำนวนลูป เปลือง resource

แนะนำให้เก็บลง database สร้างตารางมาเก็บ สามารถจอยกันได้ง่าย connection เดียว ด้วยคำสั่งเดียว
แถม เก็บไว้ พรุ่งนี้มาซื้อต่อได้อีก กรณี่ผู้ซื้อยังไม่ตัดสินใจซื้อ (แบบเลือกเอาให้คุ้มกับค่าส่ง)
แบบเลือกมากๆ แล้วง่วงนอน พรุ่งนี้มาสั่งต่อ

ถ้าใช้ session คุณต้อง config session ให้ดี ต้องคำนึงระยะเวลา เพราะ ถ้าหลุด session หาย ต้องมานับหนึ่งใหม่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-02-15 06:25:49 By : Chaidhanan
 

 

No. 3



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



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


เรื่องการคิวรี่อะค่ะ คือเราต้องการที่จะเรียกข้อมูลราคาสินค้าจากอีกตารางซึ่งเป็นราคาเปรียบเทียบกับร้านอื่นอะค่ะ โดยเรามี Id_product เป็นตัวเชื่อมระหว่าง 2 ตารางคือตาราง product และ Price_comp. แบบในรูปอะค่ะ

ตารางราคาสินค้า โดย Price 1 กับ Price 2 เป็นราคาเปรียบเทียบของตัวสินค้าซึ่งมาจากร้านค้าอื่นๆ ตัวสินค้าจะมีราคาของมันที่ร้านค้าหลักอยู่แล้วอะค่ะ
1

นี่ตาราง product คะ price คือราคาที่ร้านหลักกำหนดไว้ค่ะ

2

ส่วนที่เราติดปัญหาอะค่ะในหน้าแสดงผลหากเราคลิกสินค้านั้นมันก็จะต้องแสดงราคาของตัวมันเองอะค่ะ คือถ้าสินค้าเปลี่ยนราคาสินค้ามันต้องเปลี่ยนอะค่ะ หมายถึงในช่องสีฟ้า 2 อัน คือตอนนี้ที่ติดก็คือ จะทำยังไงให้มันเปลี่ยนไปตาม id ของสินค้าอะค่ะ ให้เหมือนรายละเอียดสินค้าอะค่ะ ที่เปลี่ยนไปตามตัวสินค้านั้น โดยที่ไม่ต้องใส่ค่าเลข 1 2 3 (รหัสสินค้า) อะค่ะ

3

พอมันเปลี่ยนสินค้าราคายังไม่เปลี่ยนอะค่ะ

4

ส่วนเรื่องตะกร้าสินค้าตอนนี้ทำได้แล้วนะคะง่ายกว่าเก็บ Session เยอะเลย ตอนนี้เราทำโปรเจคอยู่ ขอบคุณสำหรับคำแนะนำมากๆค่ะ ไม่งั้นตายแน่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-02-15 22:13:22 By : mineymin
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รบกวนอีกครั้งคะ ตอนนี้มีปัญหาอยู่ 2 อย่างคือเรื่อง Join ตารางกับตะกร้าสินค้าค่ะ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 04
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 อัตราราคา คลิกที่นี่