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 > ช่วยดูโค๊ด shopping cart หน่อยนะคะ อ่านหนังสือแล้วลองทำตามดู แต่พอคลิกปุ่ม save ทำไมค่าที่อยู่ใน text ถึงไม่คำนวณตามตัวเลขที่เราใส่เข้าไป



 

ช่วยดูโค๊ด shopping cart หน่อยนะคะ อ่านหนังสือแล้วลองทำตามดู แต่พอคลิกปุ่ม save ทำไมค่าที่อยู่ใน text ถึงไม่คำนวณตามตัวเลขที่เราใส่เข้าไป

 



Topic : 006653

Guest




อ่านหนังสือแล้วลองทำตามดู แต่พอคลิกปุ่ม save ทำไมค่าที่อยู่ใน text ถึงไม่คำนวณตามตัวเลขที่เราใส่เข้าไป แต่กลับเพิ่มค่าทีละ 1
เช่น เปลี่ยนค่าใน echo"<input type = text name =\"$pid\" value = $qty size = 2>"; เป็น 5 กดปุ่มsave มันกลับเป็นเลข 2 แทนที่จะเอา 5 ที่ใส่ไปคำนวณ อยากทราบว่าเป็นเพราะอะไรคะ สงสัยมาก ในหนังสือไม่มีคำอธิบาย วานผู้รู้ช่วยดูแล้วก็แนะนำด้วยค่ะ ขอบคุณพี่ๆมากๆค่ะ

ตัวอย่างโค๊ด
showcart.php
<?
session_start();
include"function.php";
include"connect_db.php";
if (empty ($cart)) $cart=NULL;
if (empty ($index)) $index=NULL;
if(empty ($new)) $new=NULL;
if($new)
{
if(!session_is_registered("cart"))
{
$cart = array();
session_register("cart");
$items = 0;
$total_price = "0.00";
session_register("items");
session_register("total_price");
}
if($cart[$new])
$cart[$new]++;
else
$cart[$new]=1;
$total_price = calculate_price($cart);
$items=calculate_items($cart);
}
else
{
if($save)
{
foreach($cart as $pid=>$qty)
{
if($$pid=="0")
unset($cart[$pid]);
else
$cart[$pid]=$$pid;
}
$total_price = calculate_price($cart);
$items = calculate_items($cart);
}
}
include "headshopcart.php";
if($cart&&array_count_values($cart))
display_cart($cart,true);
else
{
echo"<center>no product</center><br>";
}
?>
<table align = "center">
<tr width = "100%">
<td align = "center">
<form action = "checkout.php" method = "post">
<input type = "submit" value = "exit">
</form>
</td>
<td align = "center">
<form action = "../index.php" method = "post">
<input type = "submit" value = "home">
</form>
</td>
</tr>
</table>

โค๊ด function
<?
function calculate_price($cart)
{
$price = 0.0;
if(is_array($cart))
{
$conn = connect_db("onlineshop");
foreach($cart as $pid => $qty)
{
$query = "select price from products where pid = '$pid' ";
$result = mysql_query($query);
if ($result)
{
$item_price = mysql_result($result,0,"price");
$price+=$item_price*$qty;
}
}
}
return $price;
}

function calculate_items($cart)
{
$items = 0;
if(is_array($cart))
{
foreach($cart as $pid => $qty)
{
$items+=$qty;
}
}
return $items;
}

function display_cart($cart,$change)
{
global $items;
global $total_price;
echo"<table border = 0 width = 100% cellspacing=0 align=center>
<form action = show_cart.php method=post>
<tr bgcolor=FFBBBB>
<th><font face = MS Sans Serif size=3>no</font></th>
<th><font face = MS Sans Serif size=3>name</font></th>
<th><font face = MS Sans Serif size=3>price</font></th>
<th><font face = MS Sans Serif size=3>num</font></th>
<th><font face = MS Sans Serif size=3>total</font></th>
</tr>";

foreach ($cart as $pid => $qty)
{
$mobile=get_book_details($pid);
echo"<tr>";
echo"<td>";
echo "<a href =\"thdata.php?pid=".$pid."\"><font face = \"MS Sans Serif\" size=2>".$mobile["pid"]."</font></a></td>";
echo "<td><font face = \"MS Sans serif\" size=2>".$mobile["pname"]."</font></td>";
echo"<td align = center><font face =\"MS Sans serif\" size=2>".number_format($mobile["price"],2)."</font></td>";
echo"<td align = center>";
if ($change == true)
echo"<input type = text name =\"$pid\" value = $qty size = 2>";
else
echo "<font face =\"MS Sans serif\" size=2>".$qty."</font>";
echo"</td><td align = right><font face=\"MS Sans Serif\" size=2>".number_format($mobile["price"]*$qty,2)." &#65402;&#65426;&#65399;</font></td></tr>\n";
}

echo "<tr bgcolor=#FFAAAA>
<th align = left colspan=3>total product</th>
<th align = center>$items</th>
<th align = right>".number_format($total_price,2)."&#65402;&#65426;&#65399;</th></tr>";
if($change== true)
{
echo"<tr>
<td colspan=4>&nbsp;</td>
<td align = center>
<input type = hidden name = new value=0>
<input type = hidden name = save value = true>
<input type = submit value = \"save\"></td>
<td>&nbsp;</td>
</tr>";
}
echo"</form></table>";
}

function get_book_details($pid)
{
if(!$pid||$pid=="")
return false;
$con=connect_db("onlineshop");
$query = "select*from products where pid = '$pid'";
$result = mysql_query($query);
if (!$result)
return false;
$result = mysql_fetch_array($result);
return $result;
}
?>



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 22 ธ.ค. 2548 17:23:49 By : .. View : 2437 Reply : 6
 

 

No. 1



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



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


ตรงนี้นะครับ คิดว่าการคำนวณน่าจะผิด เพราะยังไม่เห็นเอาราคาสินค้ามาคูณเลยอ่ะครับ...

function calculate_items($cart)
{
$items = 0;
if(is_array($cart))
{
foreach($cart as $pid => $qty)
{
// ตรงนี้ให้ใช้คำสั่งเลือกราคาสินค้าออกมาก่อนนะครับ


$items+=$qty; //เปลี่ยนเป็น $items+=$qty*ราคาที่ Select มา
}
}
return $items;
}










Date : 23 ธ.ค. 2548 09:48:46 By : noomna19
 


 

No. 2

Guest


ม่ายยยย ได้
Date : 23 ธ.ค. 2548 19:20:49 By : ..
 

 

No. 3

Guest


ใครทำได้ให้ 10 บาท
Date : 23 ธ.ค. 2548 19:23:33 By : ..
 


 

No. 4

Guest


ฮื่อๆ
Date : 2009-10-26 11:41:45 By : nut
 


 

No. 5

Guest


เจอปัญหาเดียวกันเลยคะ ไม่รู้จะทำยังไงดี
มัน error แบบนี้ด้วยคะ

Warning: array_count_values() [function.array-count-values]: Can only count STRING and INTEGER values! in .....

จะบ้าตาย
Date : 2009-10-26 11:43:29 By : nut
 


   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูโค๊ด shopping cart หน่อยนะคะ อ่านหนังสือแล้วลองทำตามดู แต่พอคลิกปุ่ม save ทำไมค่าที่อยู่ใน text ถึงไม่คำนวณตามตัวเลขที่เราใส่เข้าไป
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 01
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 อัตราราคา คลิกที่นี่