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

HOME > PHP > PHP Forum > php: รบกวนสอบถาม และขอคำแนะนำ code เรื่อ session ทำไมไม่วน loop ให้ มันแสดงค่าเดียว (ค่าล่าสุด) แต่ไม่แสดงผลค่าทั้งหมด



 

php: รบกวนสอบถาม และขอคำแนะนำ code เรื่อ session ทำไมไม่วน loop ให้ มันแสดงค่าเดียว (ค่าล่าสุด) แต่ไม่แสดงผลค่าทั้งหมด

 



Topic : 120075



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



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




ทำ shopping cart โดยปรับปรุงจาก code เดิมที่เคยทำโดย
เปลี่ยน mysql เป็น mysqli

Code (SQL)
--
-- Table structure for table `tb_product`
--

CREATE TABLE IF NOT EXISTS `tb_product` (
  `id_prd` int(5) NOT NULL,
  `name_prd` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
   `detail_prd1` mediumtext COLLATE utf8_unicode_ci NOT NULL,
  `price_prd1` int(7) NOT NULL,
) ENGINE=MyISAM AUTO_INCREMENT=36 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;




หน้า productView.php

Code (PHP)
<?php
session_start();
 

if(isset($_GET["id_edit"]))
{
	echo $id_edit=$_GET["id_edit"];
}
	
	require("storeScripts/dbConnect.php");
	$conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
	$conn->set_charset('utf8');
 	$sql3 = "SELECT * FROM tb_product WHERE id_prd='$id_edit'";
 	$query3=mysqli_query($conn,$sql3);
	$result3=mysqli_fetch_array($query3,MYSQLI_ASSOC);

	$id_prd= $result3["id_prd"];
	$name_prd= $result3["name_prd"];
	$detail_prd1= $result3["detail_prd1"];
	$price_prd1= $result3["price_prd1"];
	

echo "<p>".$name_prd."</p>";
echo "<p>".$detail_prd1."</p";
echo "<p>".$price_prd1."</p>";
  ?>
<a href="basket_add.php?id_edit=<?php echo $id_prd; ?>" class="pr1"> <img src="imgs/icon/cart2.gif" width="30" height="30" /><br />Add to Cart </a>


basket_add.php
Code (PHP)
<?php
session_start();
if (isset($_GET["id_edit"]))
{
	$id_edit=$_GET["id_edit"];
	echo $id_edit;
}  
$_SESSION["sess_userid"]=session_id();
$_SESSION["sess_id"]=array();

$sess_id=$_SESSION["sess_id"];

$sess_name=array();
$sess_price1=array();
$sess_num=array();

if(count($sess_id)=="0")
{
	$check=1;
}else if(!in_array($id_edit, $sess_id))
{
	$check=1;
}

if ($check==1)
{

   $serverName = "localhost";
   $userName = "root";
   $userPassword = "";
   $dbName = "bus_21";
 $conn = mysqli_connect($serverName,$userName,$userPassword,$dbName);
 $conn->set_charset('utf8');

 $sql="select * from tb_product where id_prd=$id_edit";
 $query=mysqli_query($conn,$sql);
 $rs=mysqli_fetch_array($query, MYSQLI_ASSOC);

 $sess_id[]=$rs["id_prd"];
 $sess_name[]=$rs["name_prd"];
 $sess_price1[]=$rs["price_prd1"];
 $sess_num[]=1;

$_SESSION["sess_id"]=$sess_id;
$_SESSION["sess_name"]=$sess_name;
$_SESSION["sess_price1"]=$sess_price1;
$_SESSION["sess_num"]=$sess_num;

}

echo"<script>document.location.href='basket.php'</script>";
?>



หน้า basket.php

Code (PHP)
<?php
session_start();

if(!isset($_SESSION['sess_id']))
{ echo "No item";
}else
{

?>
<FORM METHOD="POST" ACTION="basket_cal.php">
<table width="100%" border="0" cellspacing="10" cellpadding="10">
<tr align="center" bgcolor="#eaeaea"><td width="5%">Del</td><td width="60%">Product</td><td width="10%">Number</td><td width="15%">Price  (Unit/BTH)</td><td width="10%">Total (BTH)</td></tr>
<?php
	
  echo "Do Somthing";
$sess_id=$_SESSION["sess_id"];
$sess_name=$_SESSION["sess_name"];
$sess_price1=$_SESSION["sess_price1"];
$sess_num=$_SESSION["sess_num"];

$total = "";
 
	for($i=0; $i<count($sess_id); $i++)
	{

	  $total_unit=$sess_num[$i]*$sess_price1[$i];
	  $total=$total+$total_unit;

echo $sess_id[$i]." - ".$sess_num[$i]." - ".$sess_price1[$i]." - ";
?>

 <tr>
 <td align="center"><INPUT TYPE="checkbox" NAME="prd_del[]" VALUE="<?php echo $sess_id[$i]; ?>"></td>
 <td><?php echo $sess_name[$i]; ?></td>
 <td><INPUT TYPE="text" NAME="prd_num[]" VALUE="<?php echo $sess_price1[$i]; ?>" SIZE="4"></td>
 <td align="right"><?php echo $sess_num[$i]; ?></td>
 <td  align="right">
 
 <?php 
 echo $total_unit; ?>
 
 </td>
 </tr>
 <tr><td colspan="5" align="right">
 <hr>
 <?php

  echo "<br>Total &nbsp; ".$total."&nbsp; BTH &nbsp; &nbsp;";
  } 
?>
<br><br>&nbsp;
  <INPUT TYPE="submit" NAME="calculate" VALUE="Re-Calculate"> &nbsp;&nbsp;
  <INPUT TYPE="submit" NAME="complete" VALUE="Submit Order">&nbsp;&nbsp;&nbsp;
</td></tr>  </table>
  </FORM>
<?php  
} 
?>




Tag : PHP, MySQL









ประวัติการแก้ไข
2015-11-20 14:57:31
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-11-20 14:36:19 By : gju View : 764 Reply : 4
 

 

No. 1



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

ทำไม? ไม่วน loop ให้ มันแสดงค่าเดียว (ค่าล่าสุด) => อยากได้ค่าล่าสุดค่าเดียวใช่หรือไม่?
แต่ไม่แสดงผลค่าทั้งหมด => หรือว่าอยากให้แสดงทั้งหมด?

แล้วอยากให้หน้าไหนที่จะให้แสดงแบบที่ต้องการ?






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-20 14:43:18 By : {Cyberman}
 


 

No. 2



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



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


ขอบคุณคะ
ต้องการให้แสดงสินค้าที่เลือก ทั้งหมด ที่เก็บค่าใน session คะ
คือ เลือกสินค้า 1 ชิ้น program ก็แสดง 1 ชิ้น
ทีนี้ พอเลือกชิ้นที่ 2 แทนที่จะแสดงสินค้าชิ้นที่ 1 และชิ้นที่ 2
กลับแสดงสินค้าเฉพาะชิ้นที่ 2

หน้าที่ควรแสดงสินค้าทั้งหมดคือ basket.php คะ

รบกวนแนะนำด้วยคะ


ประวัติการแก้ไข
2015-11-20 15:01:13
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-20 14:59:54 By : gju
 

 

No. 3



โพสกระทู้ ( 1,994 )
บทความ ( 10 )



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

มันผิดที่ basket_add.php นะครับ

44. $_SESSION["sess_id"]=$sess_id;
45. $_SESSION["sess_name"]=$sess_name;
46. $_SESSION["sess_price1"]=$sess_price1;
47. $_SESSION["sess_num"]=$sess_num;

ข้างบนรับค่าเดียว แต่ด้านล่างนี้มีการ for ลูปแบบอาร์เรย์

16. $sess_id=$_SESSION["sess_id"];
.
.
.
23. for($i=0; $i<count($sess_id); $i++)

ดังนั้นค่าที่ได้ก็เลยมีค่าเดียว

ดูหลักการของตะกร้าสินค้าได้ที่นี่
https://www.thaicreate.com/community/php-mysql-mysqli-shopping-cart.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-20 16:32:53 By : {Cyberman}
 


 

No. 4

Guest


ตอบความคิดเห็นที่ : 1 เขียนโดย : {Cyberman} เมื่อวันที่ 2015-11-20 14:43:18
รายละเอียดของการตอบ ::
ขอบคุณคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-11-22 10:18:30 By : gju
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : php: รบกวนสอบถาม และขอคำแนะนำ code เรื่อ session ทำไมไม่วน loop ให้ มันแสดงค่าเดียว (ค่าล่าสุด) แต่ไม่แสดงผลค่าทั้งหมด
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ 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 อัตราราคา คลิกที่นี่