มีงู มีปลา มาขายค่ะ (อย่าเขกหัวนะคะ) ขอการส่งค่าและการแสดงผลแบบ session อ่ะค่ะ น้องเขียนแบบงู ๆ ปลา
<a href=addcart.php?id=01&name=room1&price=100>
id name price ไม่ใช่ session น่ะครับ มันเป็น HTTP GET ส่งค่าแบบ get ครับ
ดังนั้น
addcart.php
รับค่า id คือ $_GET['id']
รับค่า name คือ $_GET['name']
รับค่า price คือ $_GET['price']
ผมลองแก้ให้คร่าวๆ addcart.php
Code (PHP)
<?php
ob_start();
session_start();
if(!isset($_SESSION['total'])){
$_SESSION['total']=0;
}
$_SESSION['total']=$_SESSION['total']+$_GET['price'];
echo $_SESSION['total'];
?>
<a href=index.php>กลับเลือกซื้อ</a> <a href=confirm.php>ยืนยันซื้อ</a>
Date :
2009-10-16 16:10:10
By :
xbeginner01
ขนมจีบ .. ซาลาเปา เพิ่มไม๊ครับ
Date :
2009-10-16 16:21:13
By :
deawx
555++++ พี่ deawx นะ มาหยอกกันนะ ไม่ช่วยนุ่งช่วยน้องเลยนะคะ
Date :
2009-10-16 16:26:36
By :
gigza
ก้อลองม่ายนุ้งสิค่ะ พี่เดี่ยวจารีบบบบบบบบบบบ...ช่วยค่า
Date :
2009-10-16 16:32:11
By :
gummezaka
<?php
ob_start();
session_start();
if(!isset($_SESSION['total'])){
$_SESSION['total']=0;
}
$_SESSION['total']=$_SESSION['total']+$_GET['price'];
echo $_SESSION['total'];
?>
<a href=index.php>กลับเลือกซื้อ</a> <a href=confirm.php>ยืนยันซื้อ</a>
พี่ ๆ คะ ถ้าตาม code นี้แล้ว ให้แสดงเป็นแถว ๆ ลงมา แล้วเป็นยอดรวมได้มั้ย
อย่างเลือกอันแรก ให้แสดง id , ชื่อ และราคา เลือกอีกครั้ง ก็มีเหมือนกัน และบรรทัดที่ 3 ก็แสดงผลรวม เขียนยังไงเหรอคะ
Date :
2009-10-16 16:32:12
By :
gigza
จะจ่ายเงินสด หรือตัดบัตรเครดิต ดีล่ะครับ
5555 แก้เครียดช่วงบ่าย
Date :
2009-10-16 16:34:35
By :
ddsure
ทำเหมือนรู้ดีนะเรา... น้องมี่
Date :
2009-10-16 16:35:03
By :
deawx
ง่า ... มาต่อยกันมา ถ้าแน่จริงมาต่อยกะพี่เดี่ยวเยย แย่งตำแหน่งกาน 555+
Date :
2009-10-16 16:38:49
By :
gummezaka
อยากรู้อะไร add มา เดี๋ยวจัดให้ [email protected]
Date :
2009-10-16 17:23:34
By :
ดอน
Code (PHP)
<?php
session_start();
$_SESSION['nameID'.(int)$_GET['id']]=$_GET['name']; // เก็บชื่อแต่ละ ID
$_SESSION['priceID'.(int)$_GET['id']]=$_GET['price']; // เก็บราคาแต่ละ ID
$_SESSION['sid'.(int)$_GET['id']]= $_SESSION['sid'.(int)$_GET['id']]+$_GET['price']; // เก็บราคารวมแต่ละ ID
$_SESSION['nid'.(int)$_GET['id']]= $_SESSION['nid'.(int)$_GET['id']]+1; //เก็บจำนวนแต่ละ ID
$_SESSION['sumPrice']=$_SESSION['sumPrice']+$_GET['price']; //เก็บราคารวมทั้งสิ้น
if($_GET['id']>$_SESSION['nums_cart']) $_SESSION['nums_cart']=$_GET['id']; //เก็บจำนวน ID ที่เพิ่มเข้ามา
echo "<table>\n";
echo "<tr><td>id</td><td>name</td><td>ราคา</td><td>จำนวน</td><td>ราคารวม</td></tr>\n";
for($i=1; $i<=$_SESSION['nums_cart'];$i++){
if(isset($_SESSION['nameID'.$i])){ // แสดง ID ที่ถูกเพิ่มเท่านั้น
echo "<tr><td>$i</td>\n";
echo "<td>".$_SESSION['nameID'.$i]."</td>\n";
echo "<td>".$_SESSION['priceID'.$i]."</td>\n";
echo "<td>".$_SESSION['nid'.$i]."</td>\n";
echo "<td>".$_SESSION['sid'.$i]."</td>\n";
echo "</tr>\n";
}
}
echo "<tr><td colspan=4>ราคารวมทั้งสิ้น</d><td>".$_SESSION['sumPrice']."</td></tr></table>";
?>
ลองดัดแปลงใหม่ดูน่ะอันนี้เพิ่มให้เกือบหมดเลย
Date :
2009-10-16 17:51:29
By :
xbeginner01
อันนี้ทำวิธียกเลิกมาให้ด้วย
ไฟล์ index.php
Code (PHP)
<a href=addcart.php?id=01&name=room1&price=100&type=add>จอง1</a><br>
<a href=addcart.php?id=02&name=room2&price=200&type=add>จอง2</a><br>
<a href=addcart.php?id=01&name=room1&price=100&type=cancel>ยกเลิก1</a><br>
<a href=addcart.php?id=02&name=room2&price=200&type=cencel>ยกเลิก2</a><br>
ไฟล์ addcart.php
Code (PHP)
<?php
session_start();
$_SESSION['nameID'.(int)$_GET['id']]=$_GET['name']; // เก็บชื่อแต่ละ ID
$_SESSION['priceID'.(int)$_GET['id']]=$_GET['price']; // เก็บราคาแต่ละ ID
if($_GET['type']=='add'){
$_SESSION['sid'.(int)$_GET['id']]= $_SESSION['sid'.(int)$_GET['id']]+$_GET['price']; // เก็บราคารวมแต่ละ ID
$_SESSION['nid'.(int)$_GET['id']]= $_SESSION['nid'.(int)$_GET['id']]+1; //เก็บจำนวนแต่ละ ID
$_SESSION['sumPrice']=$_SESSION['sumPrice']+$_GET['price']; //เก็บราคารวมทั้งสิ้น
}else if($_GET['type']=='cancel'){
if( ($_SESSION['sid'.(int)$_GET['id']]-$_GET['price']) <=0){ // ถ้าจำนวนเท่ากับ 0 หรือติดลบ ให้ลบ ID นี้ออกจากการแสดงผล
header("Cache-control:private"); // fixed ie6
unset($_SESSION['nameID'.(int)$_GET['id']]);
session_destroy();
}else{
$_SESSION['sid'.(int)$_GET['id']]= $_SESSION['sid'.(int)$_GET['id']]-$_GET['price']; // เก็บราคารวมแต่ละ ID
$_SESSION['nid'.(int)$_GET['id']]= $_SESSION['nid'.(int)$_GET['id']]-1; //เก็บจำนวนแต่ละ ID
$_SESSION['sumPrice']=$_SESSION['sumPrice']-$_GET['price']; //เก็บราคารวมทั้งสิ้น
}
}
if($_GET['id']>$_SESSION['nums_cart']) $_SESSION['nums_cart']=$_GET['id']; //เก็บจำนวน ID ที่เพิ่มเข้ามา
echo "<table>\n";
echo "<tr><td>id</td><td>name</td><td>ราคา</td><td>จำนวน</td><td>ราคารวม</td></tr>\n";
for($i=1; $i<=$_SESSION['nums_cart'];$i++){
if(isset($_SESSION['nameID'.$i])){ // แสดง ID ที่ถูกเพิ่มเท่านั้น
echo "<tr><td>$i</td>\n";
echo "<td>".$_SESSION['nameID'.$i]."</td>\n";
echo "<td>".$_SESSION['priceID'.$i]."</td>\n";
echo "<td>".$_SESSION['nid'.$i]."</td>\n";
echo "<td>".$_SESSION['sid'.$i]."</td>\n";
echo "</tr>\n";
}
}
echo "<tr><td colspan=4>ราคารวมทั้งสิ้น</d><td>".$_SESSION['sumPrice']."</td></tr></table>";
?>
<a href=index.php>กลับเลือกซื้อ</a> <a href=confirm.php>ยืนยันซื้อ</a>
คงพอจะเห็นวิธีใช้ session แล้วใช่ป่ะ
Date :
2009-10-16 18:09:54
By :
xbeginner01
อันนี้กำลังทำ แพทฟอร์มใช้งานต่อไปของพี่อยู่
ยังไม่สมบูรณ์แต่อาจเป็นแนวทางให้น้องคิดอะไรใหม่ๆได้น่ะ
Code (PHP)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html xmlns="www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Cart platform</title>
<style>
*{margin:0; padding:0; font-size:14px; font-family:"Times New Roman",Georgia,Serif}
.clear{
clear:both:
line-height:none;
font-size:1px;
}
#fldCart{
margin:0 auto;
width:960px;
}
#fldCart #detail{
margin:10px;
float:left;
width:330px;
}
#fldCart #cart{
margin:0 auto;
width:600px;
float:left;
}
.ccart{
text-align:center;
width:600px;
}
.ccode,.name_code,.pcode,.ncode,.spcode,.action,.spDetail{
border-collapse:collapse;
float:left;
border:solid 1px #000033;
height:30px;
}
.ccode{width:70px;}
.name_code{width:130px;}
.pcode{width:100px;}
.ncode{width:50px;}
.spcode{width:100px;}
.action{width:138px;}
.spDetail{width:356px;}
</style>
<script>
function addCart(code,name,price){
var tblc= document.getElementById('tblCart').innerHTML;
var re = new RegExp(code);
var m = re.exec(tblc);
if(m ==null){
document.getElementById('tblCart').innerHTML=
tblc+"<div id="+code+" class=ccart>"
+"<div id=c'"+code+"' class=ccode>"+code+" </div>"
+"<div id='name_"+code+"' class=name_code>"+name+" </div>"
+"<div id='p"+code+"' class=pcode>"+price+"</div>"
+"<div id='n"+code+"' class=ncode>1</div>"
+"<div id='sp"+code+"' class=spcode>"+price+"</div>"
+"<div class=action >"
+" <input type=button onclick=\"moveCart('"+code+"','"+name+"','"+price+"')\" value=move />"
+"<input type=button onclick=\"moveAllCart('"+code+"','"+name+"','"+price+"')\" value=moveAll />"
+"</div></div>";
var sp=document.getElementById('sumPrice').innerHTML;
if(isNaN(parseInt(sp))) document.getElementById('sumPrice').innerHTML =parseInt(price);
else document.getElementById('sumPrice').innerHTML =parseInt(sp)+parseInt(price);
}else{
var n = document.getElementById('n'+code).innerHTML;
var p= document.getElementById('sp'+code).innerHTML;
var sp=document.getElementById('sumPrice').innerHTML;
document.getElementById('n'+code).innerHTML =parseInt(n)+1;
document.getElementById('sp'+code).innerHTML=parseInt(p)+parseInt(price);
document.getElementById('sumPrice').innerHTML =parseInt(sp)+parseInt(price);
}
}
function moveCart(code,name,price){
var n = document.getElementById('n'+code).innerHTML;
var p= document.getElementById('sp'+code).innerHTML;
var sp=document.getElementById('sumPrice').innerHTML;
document.getElementById('n'+code).innerHTML =parseInt(n)-1;
document.getElementById('sp'+code).innerHTML=parseInt(p)-parseInt(price);
document.getElementById('sumPrice').innerHTML =parseInt(sp)-parseInt(price);
if(parseInt(n)-1 == 0){
document.getElementById('tblCart').removeChild(document.getElementById(code));
}
}
function moveAllCart(code,name,price){
var n = document.getElementById('n'+code).innerHTML;
var p= document.getElementById('sp'+code).innerHTML;
var sp=document.getElementById('sumPrice').innerHTML;
document.getElementById('sumPrice').innerHTML =parseInt(sp)- parseInt(n)*parseInt(price);
document.getElementById('tblCart').removeChild(document.getElementById(code));
}
</script>
</head>
<body>
<div id="fldCart">
<div id="detail">
<p><b>รายการสินค้า</b></p>
<table border=1>
<tr><td width="100px">สินค้า</td><td width="50px">ราคา</td><td>action</td></tr>
<tr><td>ปากกา</td><td>13</td><td> <input type="button" onclick="addCart('tc001','ปากกา','13')" value="add"></td></tr>
<tr><td>ดินสอ</td><td>15</td><td> <input type="button" onclick="addCart('tc002','ดินสอ','15')" value="add"></td></tr>
<tr><td>ยางลบ</td><td>7</td><td> <input type="button" onclick="addCart('tc003','ยางลบ','7')" value="add"></td></tr>
<tr><td>สมุด</td><td>21</td><td> <input type="button" onclick="addCart('tc004','สมุด','21')" value="add"></td></tr>
<tr><td>เบอร์โทรคนขาย</td><td>1100</td><td> <input type="button" onclick="addCart('tc005','เบอร์โทรคนขาย','1100')" value="add"></td></tr>
</table>
</div>
<div id="cart">
<p><b>ใบแสดงการสั่งซื้อ</b></p>
<div class="ccart">
<div class="ccode"> รหัสสินค้า</div>
<div class="name_code">ชื่อสินค้า</div>
<div class="pcode">ราคา(บาท)</div>
<div class="ncode">จำนวน</div>
<div class="spcode">ราคารวม(บาท)</div>
<div class="action">action</div>
</div>
<div class="clear"></div>
<div id="tblCart" ></div>
<div class="clear"></div>
<div class="ccart">
<div class="spDetail" >ราคารวมทั้งสิ้น </div>
<div id="sumPrice" class="spcode"></div>
<div class="action"></div>
</div>
<div class="clear"></div>
<div style="float:right;"><a href="print.php">print</a></div>
</div>
</div>
</body>
</html>
Date :
2009-10-16 18:23:29
By :
xbeginner01
ตาลาย ลายตา นอนดีกว่า
Date :
2009-10-16 18:59:16
By :
somparn
แหมๆๆๆๆๆๆๆๆๆๆๆๆๆม่ายอยู่มากันเป็นชุดเลยนะ น้องนุ่งอยู่ตลอดแหละ ตอนไม่นุ่งงจะเรียกแล้วกันเน้อออออ ขอบคุณทุก ๆคำตอบจ้า
Date :
2009-10-16 21:47:32
By :
gigza
Load balance : Server 00