GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ถามเรื่อง ajax เกี่ยวกับการตารางรายการสินค้าค่ะ

 อยากจะถามโค๊ดเกียวกับการซื้อสินค้า แล้วให้มันโชว์รายการสินค้าที่เราซื้อค่ะ
ลองทำแล้วแต่มันขึ้นแค่อันเดียว มันไม่ขึ้นรายการสินค้าชิ้นต่อๆไปค่ะ ช่วยหน่อยนะคะ
หนูเพิ่งลองศึกษา ajax ค่ะ เลยไม่ค่อยเข้าใจเท่าไรค่ะ
30 ต.ค. 2552 3 2,500

ไม่มีข้อมูลของ คำถาม ที่พอจะให้ความช่วยเหลือได้เลย...

ปกติแล้ว เราอาจจะเลือกเก็บรายการสินค้า ที่เลือกไว้ใน SESSION COOKIE หรือ db เวลาเพิ่มสินค้า ก็เพิ่มลงไป เวลาจะแสดงก็ต้องอ่านออกมาทั้งหมด มันถึงจะแสดงได้ครบถ้วน ถ้าเลือกรายการแล้วส่งกลับแค่อันเดียว มันย่อมแสดงแค่อันเดียว เป็นเรื่องปกติ

ไม่รู้จะเดาคำถามถูกหรือเปล่า
#1

 <?php
 
session_start();
$strProductID = $_POST["tProductID"];
$strQty = $_POST["tQty"];
 
$objConnect = mysql_connect("localhost","root","1234") or die("Error Connect to Database");
$objDB = mysql_select_db("test");
 
if($strProductID != "" and $strQty  != "")
{
$strSQL = "INSERT INTO cart ";
$strSQL .="(SID,ProductID,Qty) ";
$strSQL .="VALUES ";
$strSQL .="('".session_id()."','".$strProductID."','".$strQty."') ";
$objQuery = mysql_query($strSQL);
}
 
?>
<center>
<h2>Sale Price</h2> 
<table width="408" border="1" cellspacing="0" cellpadding="0">
  <tr>
    <td width="51"><div align="center">ID</div></td>
    <td width="154" height="26"><div align="center">Product</div></td>
    <td width="69"><div align="center">Price</div></td>
    <td width="57"><div align="center">Qty</div></td>
    <td width="65"><div align="center">Total</div></td>
  </tr>
<?
$intSumTotal = 0;
$intRows = 0;
$strSQL = "SELECT * FROM cart  WHERE SID = '".session_id(4)."' ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
while($objResult = mysql_fetch_array($objQuery))
{
$intRows ++;
//*** Product ***//
$strSQL = "SELECT * FROM product  WHERE ProductID = '".$objResult["ProductID"]."' ";
$objQueryPro = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$objResultPro = mysql_fetch_array($objQueryPro);
$intTotal = $objResult["Qty"] * $objResultPro["Price"];
$intSumTotal = $intSumTotal + $intTotal;
?>
  <tr>
    <td><div align="center"><?=$intRows;?></div></td>
    <td><?=$objResultPro["ProductName"];?></td>
    <td><div align="right"><?=number_format($objResultPro["Price"],2);?></div></td>
    <td><div align="center"><?=$objResult["Qty"];?></div></td>
    <td><div align="right"><?=number_format($intTotal,2);?></div></td>
  </tr>
<?
}
?>    
  <tr>
    <td colspan="4"><div align="right">Total Amount </div></td>
    <td>
<div align="right"><?=number_format($intSumTotal,2);?></div></td>
  </tr>
</table>
<?
if($intSumTotal > 0)
{
?>
<br><input name="btnCheckOut" type="submit" id="btnCheckOut" value="Receipt" onClick="JavaScript:CheckOut();">
<?
}
?>
</center>


ช่วยดูให้หน่อยนะคะ หนูไม่เข้าใจจริงๆค่ะ
 
#2

ดุจากขั้นตอนคร่าวๆ ก็น่าจะ โอเค อยู่ แต่ที่ผิด ดูแบบนี้มันไม่รู้เรื่อง

ลองตรวจสอบ query ต่างๆ ดูว่ามันถูกต้องหรือไม่ ด้วยการ echo คำสั่งนั้นๆ มาดู อาจทำให้เห็นข้อผิดพลาดได้ง่ายขึ้น เช่น

<?php
echo $strSQL; // ตรวจสอบ ว่า query ถูกต้องหรือไม่
$objQuery = mysql_query($strSQL);
?>

ทำซ้ำสำหรับ query อื่นๆ ทุกอันว่าถูกต้องตามขั้นตอนหรือไม่ จะทำทีเดียวทั้งหมด หรือว่าจะทำทีละคำสั่งก็ได้

การตรวจสอบว่า query นั้นๆ ทำงานถูกต้องหรือไม่ ด้วยการ copy คำสั่งที่ได้ไปทดสอบบน phpmyadmin
#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 2M
^