Code : Simple Store for AmaZon AFF.

เริ่มโดย EThaiZone, 30 มกราคม 2007, 09:57:19

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

EThaiZone

ผมงมหาตั้งนาน กว่าจะเจอ เหอๆ
แถมเจอตอนติดบั๊ด นี้แก้หน่อยแระ

ใช้ทำร้านค้าได้ หวังว่ายังไม่มีคนเอามาแจกนะ

<html>
<title>A Simple Store</title>
<table width='100%' cols='2' border='3px'>
<colgroup span='2'>
<col width='20%'></col>
<col width='80%'></col>
</colgroup>
<tr><td colspan='2'><center><h1>Simple Store</h1></center></td></tr>
<tr><td  valign='top'>
<table width='100%' align='left' height='100%'>
<?php
define&#40;'KEYID','ใส่คีย์ของตัวเอง'&#41;;
define&#40;'AssocTag','test'&#41;;
if&#40;$_GET['Action'&#93; != 'Search'&#41;&#123;
  print&#40;"
<form name='SearchTerms' action=SimpleStore.php method='GET'>
<tr><td valign='top'>
<b>Choose a Category</b><br>
<div align='center'>
<select name='SearchIndex'>
<option value='Books'>Books</option>
<option value='DVD'>DVD</option>
<option value='Music'>Music</option>
</select>
</div>
</td></tr>
<tr><td><b>Eneter Key Words</b><br><input type='text' name='Keywords' size='40'/></td></tr>
<input type='hidden' name='Action' value='Search'>
<input type='hidden' name='ItemPage' value='1'>
<input type='hidden' name='CartId' value=$CartId>
<input type='hidden' name='HMAC' value=$HMAC>
<tr align='center'><td><input type='submit'/></td></tr>
</form"&#41;;
&#125;
?>

</table>
<td>
<?php
if&#40;$_GET['Action'&#93; == 'Search'&#41;&#123;
if&#40;$_GET['Keywords'&#93; == ''&#41;&#123;
print&#40;"Please enter keywords for your search."&#41;;
&#125;else&#123;
$keywords urlencode&#40;$_GET['Keywords'&#93;&#41;;
ItemSearch&#40;$_GET['SearchIndex'&#93;, $keywords, $_GET['ItemPage'&#93;&#41;;
&#125;
&#125;
if&#40;$_GET['Action'&#93; == 'SeeDetails'&#41;&#123;
ItemLookup&#40;$_GET['ASIN'&#93;, $_GET['SearchIndex'&#93;&#41;;
&#125;
if&#40;$_GET['Action'&#93; == 'CartAdd'&#41;&#123;
if&#40;$_GET['CartId'&#93; != ''&#41;&#123;
CartAdd&#40;$_GET['ASIN'&#93;&#41;;
&#125;else&#123;
CartCreate&#40;$_GET['ASIN'&#93;&#41;;
&#125;
&#125;
if&#40;$_GET['Action'&#93; == 'Remove'&#41;&#123;
removeFromCart&#40;$_GET['CartItemId'&#93;&#41;;
&#125;
?>

</td>
</table>
<table width='100%'>
<tr><td colspan="2"><font size="2px"><br><center>Copyright 2006, Simple Store<br>Product information and pictures Copyright Amazon</center></font></td></tr>
</table>
<?php
function ItemSearch&#40;$SearchIndex, $Keywords, $ItemPage&#41;&#123;
$request="http&#58;//ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=".KEYID."&AssociateTag=".AssocTag."&Version=2006-09-11&Operation=ItemSearch&ResponseGroup=Medium,Offers";
$request.="&SearchIndex=$SearchIndex&Keywords=$Keywords&ItemPage=$ItemPage";
//The use of `file_get_contents` may not work on all servers because it relies on the ability to open remote URLs using the file manipulation functions. 
//PHP gives you the ability to disable this functionality in your php.ini file and many administrators do so for security reasons.
//If your administrator has not done so, you can comment out the following 5 lines of code and uncomment the 6th.  
$session curl_init&#40;$request&#41;;
curl_setopt&#40;$session, CURLOPT_HEADER, false&#41;;
curl_setopt&#40;$session, CURLOPT_RETURNTRANSFER, true&#41;;
$response curl_exec&#40;$session&#41;;
curl_close&#40;$session&#41;; 
//$response = file_get_contents&#40;$request&#41;;
$parsed_xml simplexml_load_string&#40;$response&#41;;
printSearchResults&#40;$parsed_xml, $SearchIndex&#41;;
&#125;
//------------------------------------------------------------------------------------------------------
function printSearchResults&#40;$parsed_xml, $SearchIndex&#41;&#123;
$numOfItems $parsed_xml->Items->TotalResults;
$totalPages $parsed_xml->Items->TotalPages;
$CartId $_GET['CartId'&#93;;
$HMAC $_GET['HMAC'&#93;;
print&#40;"<table>"&#41;;
if&#40;$numOfItems>0&#41;&#123;
foreach&#40;$parsed_xml->Items->Item as $current&#41;&#123;
print&#40;"<tr><td><img src='".$current->MediumImage->URL."'></td>"&#41;;
print&#40;"<td><font size='-1'><b>".$current->ItemAttributes->Title."</b>"&#41;;
if&#40;isset&#40;$current->ItemAttributes->Director&#41;&#41;&#123;
print&#40;"<br>Director&#58; ".$current->ItemAttributes->Director&#41;;
&#125; elseif&#40;isset&#40;$current->ItemAttributes->Author&#41;&#41; &#123;
print&#40;"<br>Author&#58; ".$current->ItemAttributes->Author&#41;;
&#125; elseif&#40;isset&#40;$current->ItemAttributes->Artist&#41;&#41; &#123;
print&#40;"<br>Artist&#58; ".$current->ItemAttributes->Artist&#41;;
&#125;
print&#40;"<br>Price&#58; ".$current->Offers->Offer->OfferListing->Price->FormattedPrice&#41;;
$asin $current->ASIN;
$details "SimpleStore.php?Action=SeeDetails&ASIN=$asin&SearchIndex=$SearchIndex&CartId=$CartId&HMAC=$HMAC";
print&#40;"<br><a href=$details>See Details</a>"&#41;;
$CartAdd "SimpleStore.php?Action=CartAdd&ASIN=$asin&CartId=$CartId&HMAC=$HMAC";
print&#40;"&nbsp;&nbsp;&nbsp; <a href=$CartAdd>Add to Cart</a>"&#41;;
print&#40;"<tr><td colspan=2>&nbsp;</td> </tr> "&#41;;
&#125;
&#125;else&#123;
print&#40;"<center>No matches found.</center>"&#41;;
&#125;
print&#40;"<tr><td align='left'>"&#41;;
if&#40;$_GET['ItemPage'&#93; > 1 && $totalPages > 1&#41;&#123;
$Keywords urlencode&#40;$_GET['Keywords'&#93;&#41;;
$ItemPage $_GET['ItemPage'&#93;-1;
$prevPage "SimpleStore.php?Action=Search&SearchIndex=$SearchIndex&Keywords=$Keywords&ItemPage=$ItemPage&CartId=$CartId&HMAC=$HMAC";
print&#40;"<a href=$prevPage>Previous Page</a></td><td align='right'>"&#41;;
&#125;
if&#40;$_GET['ItemPage'&#93; < $totalPages&#41;&#123;
$Keywords urlencode&#40;$_GET['Keywords'&#93;&#41;;
$ItemPage $_GET['ItemPage'&#93;+1;
$nextPage "SimpleStore.php?Action=Search&SearchIndex=$SearchIndex&Keywords=$Keywords&ItemPage=$ItemPage&CartId=$CartId&HMAC=$HMAC";
print&#40;"<a href=$nextPage>Next Page</a></td></tr>"&#41;;
&#125;
&#125;
//-------------------------------------------------------------------------------------------------------
function ItemLookup&#40;$asin, $SearchIndex&#41;&#123;
$request "http&#58;//ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=".KEYID."&AssociateTag=".AssocTag."&Version=2006-09-11&Operation=ItemLookup&ItemId=$asin&ResponseGroup=Medium,Offers";
//The use of `file_get_contents` may not work on all servers because it relies on the ability to open remote URLs using the file manipulation functions. 
//PHP gives you the ability to disable this functionality in your php.ini file and many administrators do so for security reasons.
//If your administrator has not done so, you can comment out the following 5 lines of code and uncomment the 6th.  
$session curl_init&#40;$request&#41;;
curl_setopt&#40;$session, CURLOPT_HEADER, false&#41;;
curl_setopt&#40;$session, CURLOPT_RETURNTRANSFER, true&#41;;
$response curl_exec&#40;$session&#41;;
curl_close&#40;$session&#41;;
//$response = file_get_contents&#40;$request&#41;;
$parsed_xml simplexml_load_string&#40;$response&#41;;
printDetails&#40;$parsed_xml, $SearchIndex&#41;;
&#125;
//-------------------------------------------------------------------------------------------------------
function printDetails&#40;$parsed_xml, $SearchIndex&#41;&#123;
print&#40;"<table>"&#41;;
if&#40;$SearchIndex == "Books"&#41;&#123;
print&#40;"<tr><td><img src='".$parsed_xml->Items->Item->LargeImage->URL."'></td>"&#41;;
print&#40;"<td>".$parsed_xml->Items->Item->ItemAttributes->Title&#41;;
print&#40;"<br>".$parsed_xml->Items->Item->ItemAttributes->Author&#41;;
print&#40;"<br>".$parsed_xml->Items->Item->ItemAttributes->Binding&#41;;
print&#40;"<br>".$parsed_xml->Items->Item->ItemAttributes->NumberOfPages." pages"&#41;;
print&#40;"<br><b>".$parsed_xml->Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice."</b>"&#41;;
&#125;
if&#40;$SearchIndex == "Music"&#41;&#123;
print&#40;"<tr><td><img src='".$parsed_xml->Items->Item->LargeImage->URL."'></td>"&#41;;
print&#40;"<td>".$parsed_xml->Items->Item->ItemAttributes->Title&#41;;
print&#40;"<br>".$parsed_xml->Items->Item->ItemAttributes->Artist&#41;;
print&#40;"<br>Label&#58; ".$parsed_xml->Items->Item->ItemAttributes->Label&#41;;
print&#40;"<br>Release Date&#58; ".$parsed_xml->Items->Item->ItemAttributes->ReleaseDate&#41;;
print&#40;"<br><b>".$parsed_xml->Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice."</b>"&#41;;
&#125;
if&#40;$SearchIndex == "DVD"&#41;&#123;
print&#40;"<tr><td><img src='".$parsed_xml->Items->Item->LargeImage->URL."'></td>"&#41;;
print&#40;"<td>".$parsed_xml->Items->Item->ItemAttributes->Title&#41;;
print&#40;"<br>Director&#58; ".$parsed_xml->Items->Item->ItemAttributes->Director&#41;;
print&#40;"<br>Rated ".$parsed_xml->Items->Item->ItemAttributes->AudienceRating&#41;;
print&#40;"<br>Label&#58; ".$parsed_xml->Items->Item->ItemAttributes->Label&#41;;
print&#40;"<br>Release Date&#58; ".$parsed_xml->Items->Item->ItemAttributes->ReleaseDate&#41;;
print&#40;"<br><b>".$parsed_xml->Items->Item->Offers->Offer->OfferListing->Price->FormattedPrice."</b>"&#41;;
&#125;
$asin $parsed_xml->Items->Item->ASIN;
$CartId $_GET['CartId'&#93;;
$HMAC $_GET['HMAC'&#93;;
$CartAdd "SimpleStore.php?Action=CartAdd&ASIN=$asin&CartId=$CartId&HMAC=$HMAC";
print&#40;"&nbsp;&nbsp;&nbsp; <a href=$CartAdd>Add to Cart</a>"&#41;;
$search "SimpleStore.php?Action=Search&CartId=$CartId&HMAC=$HMAC";
print&#40;"<br>&nbsp;&nbsp;&nbsp; <a href=$search>Continue Searching</a>"&#41;;
print&#40;"</table>"&#41;;
&#125;
//-------------------------------------------------------------------------------------------------------
function cartCreate&#40;$asin&#41;&#123;
$request="http&#58;//ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=".KEYID."&AssociateTag=".AssocTag."&Version=2006-09-11&Operation=CartCreate&Item.1.ASIN=$asin&Item.1.Quantity=1";
//The use of `file_get_contents` may not work on all servers because it relies on the ability to open remote URLs using the file manipulation functions. 
//PHP gives you the ability to disable this functionality in your php.ini file and many administrators do so for security reasons.
//If your administrator has not done so, you can comment out the following 5 lines of code and uncomment the 6th.  
$session curl_init&#40;$request&#41;;
curl_setopt&#40;$session, CURLOPT_HEADER, false&#41;;
curl_setopt&#40;$session, CURLOPT_RETURNTRANSFER, true&#41;;
$response curl_exec&#40;$session&#41;;
curl_close&#40;$session&#41;;
//$response = file_get_contents&#40;$request&#41;;
$parsed_xml simplexml_load_string&#40;$response&#41;;
showCartContents&#40;$parsed_xml&#41;;
&#125;
//-------------------------------------------------------------------------------------------------------
function cartAdd&#40;$asin&#41;&#123;
$CartId $_GET['CartId'&#93;;
$HMAC $_GET['HMAC'&#93;;
$request="http&#58;//ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=".KEYID."&AssociateTag=".AssocTag."&Version=2006-09-11&Operation=CartAdd&CartId=$CartId&HMAC=$HMAC&Item.1.ASIN=$asin&Item.1.Quantity=1";
//The use of `file_get_contents` may not work on all servers because it relies on the ability to open remote URLs using the file manipulation functions. 
//PHP gives you the ability to disable this functionality in your php.ini file and many administrators do so for security reasons.
//If your administrator has not done so, you can comment out the following 5 lines of code and uncomment the 6th.  
$session curl_init&#40;$request&#41;;
curl_setopt&#40;$session, CURLOPT_HEADER, false&#41;;
curl_setopt&#40;$session, CURLOPT_RETURNTRANSFER, true&#41;;
$response curl_exec&#40;$session&#41;;
curl_close&#40;$session&#41;;
//$response = file_get_contents&#40;$request&#41;;
$parsed_xml simplexml_load_string&#40;$response&#41;;
showCartContents&#40;$parsed_xml&#41;;
&#125;
//-------------------------------------------------------------------------------------------------------
function showCartContents&#40;$parsed_xml&#41;&#123;
print&#40;"<table>"&#41;;
$CartId $parsed_xml->Cart->CartId;
$HMAC $parsed_xml->Cart->URLEncodedHMAC;
foreach&#40;$parsed_xml->Cart->CartItems->CartItem as $current&#41;&#123;
$CartItemId $current->CartItemId;
$remove="SimpleStore.php?Action=Remove&CartId=$CartId&HMAC=$HMAC&CartItemId=$CartItemId";
print&#40;"<tr><td>".$current->Title."&#58; ".$current->Price->FormattedPrice."&nbsp;&nbsp;&nbsp;<a href=$remove>&#40;Remove from Cart&#41;</a></td></tr>"&#41;;
&#125;
print&#40;"<tr><td>Subtotal&#58; ".$parsed_xml->Cart->CartItems->SubTotal->FormattedPrice."</td></tr>"&#41;;
print&#40;"<tr><td>"&#41;;
$continue "SimpleStore.php?Action=Search&CartId=$CartId&HMAC=$HMAC";
print&#40;"<a href=$continue>Continue Shopping</a>"&#41;;
$checkout=$parsed_xml->Cart->PurchaseURL;
print&#40;"&nbsp;&nbsp;&nbsp;<a href=$checkout>Checkout</a>"&#41;;
print&#40;"</table>"&#41;;
&#125;
//------------------------------------------------------------------------------------------------------
function removeFromCart&#40;$CartItemId&#41;&#123;
$CartId $_GET['CartId'&#93;;
$HMAC $_GET['HMAC'&#93;;
$CartItemId $_GET['CartItemId'&#93;;
$request "http&#58;//ecs.amazonaws.com/onca/xml?Service=AWSECommerceService&AWSAccessKeyId=".KEYID."&AssociateTag=".AssocTag."&Version=2006-09-11&Operation=CartModify&CartId=$CartId&HMAC=$HMAC&Item.1.CartItemId=$CartItemId&Item.1.Quantity=0";
//The use of `file_get_contents` may not work on all servers because it relies on the ability to open remote URLs using the file manipulation functions. 
//PHP gives you the ability to disable this functionality in your php.ini file and many administrators do so for security reasons.
//If your administrator has not done so, you can comment out the following 5 lines of code and uncomment the 6th.  
$session curl_init&#40;$request&#41;;
curl_setopt&#40;$session, CURLOPT_HEADER, false&#41;;
curl_setopt&#40;$session, CURLOPT_RETURNTRANSFER, true&#41;;
$response curl_exec&#40;$session&#41;;
curl_close&#40;$session&#41;;
//$response = file_get_contents&#40;$request&#41;;
$parsed_xml simplexml_load_string&#40;$response&#41;;
showCartContents&#40;$parsed_xml&#41;;
&#125;
?>

</html>

xex

ยังไม่รู้ใช้ยังไง แต่ขอบคุณไว้ก่อนครับผม ผมยังหา api ตัวเองของ Amazon ไม่เจอเลย หุๆๆ

Tee++;

เยี่ยมเลยครับ ขอ Bookmark กระทู้นี้ไว้ก่อนนะครับ อิอิ
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


HARRY

ขอบคุณครับ

ไม่รู้ใช้ยังไงเหมือนกัน

แต่จะเก็บไว้ครับ  :P

EThaiZone

โค้ดนี้ลองใช้ได้ง่ายๆ นะครับ

หาคีย์มาใส่ก่อน

แล้วก็เซฟเอาไปรันดูก็พอใช้งานได้แล้วครับ  :D

joe

ยังใช้ไม่เป็นอะ แต่ขอเก็บไว้ก่อนนะครับ
ขอบคุณมากครับ (เอาไปหลายอย่างละ แต่ยังใช้ไม่ค่อยเป็นเลย) :lol:

golf98765

ขอบคุณคับ แต่ไม่รู้จะได้ใช้ป่าว อิๆๆ

อาจจะได้ใช้ในอนาโค๊ด

yeaw

ขอบคุณครับ เดี๋ยวเอาไปลองดู
:wink:

kingmaster

หุหุ ขายแล้วได้ตังค์ป่ะคับ

ผมลองแล้ว เอ๋อเหรออ่ะครับ

Fatal error: Call to undefined function: curl_init() in c:\appserv\www\acne\simplestore.php on line 73

:lol:  :lol:  :lol:

EThaiZone

ใน php.ini
ในโฟลเดอร์ c:\windows

เปิดไฟล์ ค้นหา curl

จะเจอ

;extension=php_curl.dll

เอา ; ออกเหลือแต่

extension=php_curl.dll

เซฟ แล้วรีสตาร์ท apache ใหม่ ก็ใช้งานได้ครับ  :D

jatuphum

ผม error เพราะไม่ได้ใช้ php5 มีแบบใช้กับ php4 เปล่าครับ   :D

kingmaster

key นี่อันไหนครับ

Your Access Key ID:
หรือ
Your Secret Access Key:

:lol:  :lol:  :lol:

EThaiZone


kingmaster

อ้างถึงจาก: EThaiZoneใน php.ini
ในโฟลเดอร์ c:\windows

เปิดไฟล์ ค้นหา curl

จะเจอ

;extension=php_curl.dll

เอา ; ออกเหลือแต่

extension=php_curl.dll

เซฟ แล้วรีสตาร์ท apache ใหม่ ก็ใช้งานได้ครับ  :D

หุหุ เอ๋อเหรอ ตอนรีสตาร์ท apache อ่ะครับ มันบอก ไม่มีไฟล์นี้อ่ะ php_curl.dll แล้วผมจะไปหาที่ไหนหว่า...

EThaiZone

ใช้อะไรคัรบ wmserver หรือเปล่า

แนะนำ appserv ครับ

kingmaster

อ้างถึงจาก: EThaiZoneใช้อะไรคัรบ wmserver หรือเปล่า

แนะนำ appserv ครับ

ผมใช้ appserv ครับ มันไม่มีไฟล์ C:\AppServ\php\extensions\php_curl.dll

อ่ะครับ... งง

Tee++;

เยี่ยมมาก จริงๆ ครับ สำหรับ API ตัวนี้ของ Amazon มีให้ Add Remove Cart เองด้วย ผมพอจะได้แนวคิดเพิ่มเติมแล้วครับ ขอบคุณ คุณ EThaiZone มากๆ แต่มีคำถามเพิ่มเติมอีกนิดหน่อย ไว้จะถามไปทาง MSN นะครับ
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


Tee++;

อ้างถึงจาก: kingmaster
อ้างถึงจาก: EThaiZoneใช้อะไรคัรบ wmserver หรือเปล่า

แนะนำ appserv ครับ

ผมใช้ appserv ครับ มันไม่มีไฟล์ C:\AppServ\php\extensions\php_curl.dll

อ่ะครับ... งง

โหลดเวอร์ชั่นใหม่เลยครับ ที่ http://www.appservnetwork.com/

ส่วนนี่เป็นวิธีการลง Curl ครับ

1. เอา ; ออกจาก extension=php_curl.dll
2. ต้องการ dll อีกสองตัว คือ libeay32.dll กับ ssleay32.dll เอาไปวางใน system32 นะ
*(ถ้าลง appserv) เอาจาก ในนั้นได้เลย
[direct=http://laravel.in.th]Laravel in Thai[/direct]
[direct=http://jquerytips.com]jQueryTips by Tee++;[/direct]
[direct=https://www.facebook.com/jQueryTips]jQueryTips Page[/direct]
[direct=https://www.facebook.com/Laravel.in.th]Laravel in Thai Page[/direct]
[direct=https://twitter.com/Teepluss]Teepluss's Twitter[/direct]


kingmaster

อ้างถึงจาก: tee++;
อ้างถึงจาก: kingmaster
อ้างถึงจาก: EThaiZoneใช้อะไรคัรบ wmserver หรือเปล่า

แนะนำ appserv ครับ

ผมใช้ appserv ครับ มันไม่มีไฟล์ C:\AppServ\php\extensions\php_curl.dll

อ่ะครับ... งง

โหลดเวอร์ชั่นใหม่เลยครับ ที่ http://www.appservnetwork.com/

ส่วนนี่เป็นวิธีการลง Curl ครับ

1. เอา ; ออกจาก extension=php_curl.dll
2. ต้องการ dll อีกสองตัว คือ libeay32.dll กับ ssleay32.dll เอาไปวางใน system32 นะ
*(ถ้าลง appserv) เอาจาก ในนั้นได้เลย

อ้อ ได้ละครับ ขอบคุณมาก ว่าแต่ว่าทำไมผมเสริจหาอะไรไม่ขึ้นเลยครับ ว่างเปล่า ต้องเซ็ตตรงไหนอีก AssocTag คือไรครับ...

EThaiZone

AssocTag อันนั้นผมก็ไม่รู้ครับ เลยใส่ test ไปงั้นๆ แหละครับ

แล้วที่ค้นไม่เจอ amazon ไม่ใช่เอาไว้ทำสคิรปปั่นหรอกนะครับ

มันคือร้านค้าดังนั้น ลองค้นหาของที่ควรจะมีสิครับ แฮะๆ

ผมลองกับเครื่องแล้วมันค้นหาได้ ไม่งั้นไม่เอามาแปะไว้หรอกครับ ขายขี้หน้าอะ  :lol:

ตอนผมไปโหลดจากเว็บ amazon มาเลย
ตอนแรกผมก็งง ช่องค้นหาหายไปไหน
แต่แค่แก้จาก == เป็น != ใช่ได้เลย  :lol: