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

HOME > PHP > PHP Forum > พอดีเจอปัญหาคับ การเขียน php คับ ขอคำชี้แนะจากพี่ ๆ หน่อยนะครับ



 

พอดีเจอปัญหาคับ การเขียน php คับ ขอคำชี้แนะจากพี่ ๆ หน่อยนะครับ

 



Topic : 061541



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



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




1

Code (PHP)


]2

นี้โค็ตนะครับ

Code (PHP)
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ThinClientNetwork : Edit Qty and Price! For Quotation!!!</title>
<link rel="stylesheet" href="../cus/css/style_main.css"  />
<script>
function deleteCart(pid) {
	if(!confirm('ลบสินค้านี้ ?')) {
		return;
	}
	
	location = "<?php echo $_SERVER['PHP_SELF']; ?>?pid=" + pid;
}
</script>
</head>

<body>
<?php 
include("menutop.php"); 
include("conn.inc.php");
connect_db();
$cid = $_REQUEST['cid'];
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

<?php

if($_POST) {
	foreach($_POST as $pid => $qty) {
		if(!is_numeric($qty) || $qty <= 0) {
			continue;
		}
$cid = $_REQUEST['cid'];
$sql = "UPDATE request SET qty = $qty
		     WHERE pro_id = $pid AND cus_ord_id = '$cid';";
	//	$sql = "UPDATE request SET qty = $qty
//					WHERE pro_id = $pid AND cus_user = '$cus_user';";
		@mysql_query($sql);
	}
}
else if($_GET['pid']) {
	$pid = $_GET['pid'];
	$cid = $_REQUEST['cid'];
	$sql = "DELETE FROM request WHERE pro_id = $pid AND cus_ord_id = '$cid';";
	mysql_query($sql);
}
$cid = $_REQUEST['cid'];
$sql = "SELECT * FROM request
			WHERE cus_ord_id = '$cid';";
//$sql = "SELECT * FROM request
//			WHERE cus_user = '$cus_user';";
$result = mysql_query($sql);

if(mysql_num_rows($result) == 0) {
	echo "<p align=center>ไม่มีสินค้า! </p>";
	echo "</form></body></html>";
	exit;
}

?>

<table border=1 bordercolor=#cccccc cellpadding=3 align=center style="border-collapse: collapse;">
	<caption>รายการสินค้าที่ลูกค้าเลือก</caption>
<tr bgcolor=#ddddff>
<th align=center width=220>สินค้า</th><th width=50>จำนวน</th><th width=50>ราคา</th><th width=80>รวม</th>
</tr>

<?php
$grand_total = 0;
while($cart = mysql_fetch_array($result)) {
	$sub_total = $cart['qty'] * $cart['price'] ;
	$pid = $cart['pro_id'];
	echo "
	<tr valign=top>
		<td>
			[<a href=\"javascript: deleteCart($pid)\" title=ลบรายการนี้>x</a>]
			{$cart['pro_name']}
 		</td>
		<td align=center>
			<input type=text size=3 name=$pid value={$cart['qty']} />
		</td>
		<td align=center>{$cart['price']}</td>
		<td align=right>$sub_total</td>
	</tr>";
	
	$grand_total += $sub_total;
}
?>

<tr>
	<td colspan=3 align=center>รวมทั้งหมด</td>
	<td align=right><?php echo $grand_total ?></td>
</tr>
</table>
<p align=center>

<input type="button" value="&laquo;&nbsp;ย้อนกลับ" onclick="location='req_list.php'" />
&nbsp;&nbsp;&nbsp;&nbsp;

<input type="submit" value="คำนวณใหม่" />
&nbsp;&nbsp;&nbsp;&nbsp;

</p>
</form>
</body>
</html>



พอดีผมติดปัญหานิดหน่อยนะครับ พอดีว่า ผมจะทำระบบใบเสนอราคา ที่นี้ ผมจะทำหน้าแก้ไข [edit_quopro.php ]
ติดอยู่ว่า ผมใช้ id ในการ วนลูปออกมา
[ รูปประกอบที่ 1 ]

จากรูป คือใช้ cus_ord_id 2011005 ในการ fetch ข้อมูล คือ pro_id 1101 , 1102

จะเป็นดังนี้ [ รูปประกอบที่ 2 ]


ที่นี้เวลาจะเขียนโค้ดแก้ไข ปรากฎว่า เวลาใส่ข้อมูลลงไปใหม่ ปรากฎว่า มันไม่สามารถแก้ไขได้
ช่วย แนะนำโค้ดแก้ไข จำนวน และ ราคาในรูปแบบประมาณนี้ หน่อยครับ



Tag : PHP, MySQL









ประวัติการแก้ไข
2011-06-11 21:48:51
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-06-11 20:57:59 By : finder View : 943 Reply : 17
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

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

ส่งเป็นแบบ Array หรือเปล่าครับ

Code (PHP)
//*** Update Condition ***//
if($_GET["Action"] == "Save")
{
	for($i=1;$i<=$_POST["hdnLine"];$i++)
	{
		$strSQL = "UPDATE customer SET ";
		$strSQL .="CustomerID = '".$_POST["txtCustomerID$i"]."' ";
		$strSQL .=",Name = '".$_POST["txtName$i"]."' ";
		$strSQL .=",Email = '".$_POST["txtEmail$i"]."' ";
		$strSQL .=",CountryCode = '".$_POST["txtCountryCode$i"]."' ";
		$strSQL .=",Budget = '".$_POST["txtBudget$i"]."' ";
		$strSQL .=",Used = '".$_POST["txtUsed$i"]."' ";
		$strSQL .="WHERE CustomerID = '".$_POST["hdnCustomerID$i"]."' ";
		$objQuery = mysql_query($strSQL);
	}
	//header("location:$_SERVER[PHP_SELF]");
	//exit();
}


Go to : PHP MySQL Multiple Rows Edit/Update Record






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-12 07:11:22 By : webmaster
 


 

No. 2



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



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


ขอบคุณครับ เดียวลองทำดูก่อน เดียวถ้าติดปัญหาจะมาถามวิธีใหม่นะครับ เดียวขอลองทำดูก่อนนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-12 18:59:16 By : finder
 

 

No. 3



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



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


ถ้าจะแก้เฉพาะ customerid c001 ที่เราเลือก ตามตัวอย่าง ไม่ให้แสดงหมดทุก customerid ต้อง เพิ่มเติมแก้ไขโค้ดอย่างไรครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-12 19:21:13 By : finder
 


 

No. 4



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



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


ข้อแรกตอนนี้ได้หรือยังครับ

ถ้ายังไม่ได้ช่วยอธิบายรายละเอียดหน่อยนะครับ

ส่วนข้อสองที่ถามมา customerid c001 อยู่ตรงไหนเหรอครับ หรือว่าลืม capture มาหรือเปล่าครับ หาไม่เจออ่า
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 09:46:13 By : MonkeyDoll
 


 

No. 5



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



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


ขอโทษครับ พิมพ์ผิด เป็นอันนี้ครับ
cus_ord_id : 2011005 ครับ จากรูปแรกนะครับ

คือไม่ให้แก้ทัั้งหมด ทุก record นะครับ ผมไม่ทราบว่า จะใส่เงื่อนไขยังไงแน่นะครับ

ขอบคุณมากๆครับ พอดีพึ่งฝึกฝนทำระบบนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 13:09:26 By : finder
 


 

No. 6



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



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


เท่าที่ดูก็น่าจะได้อยู่แล้วนะครับ

ลอง echo บรรทัดที่ 34 ออกมาดูครับ

echo $sql = "UPDATE request SET qty = $qty WHERE pro_id = $pid AND cus_ord_id = '$cid';";

แล้ว copy output มาให้ดูหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 13:57:09 By : MonkeyDoll
 


 

No. 7



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



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


ครับ output คือไม่มีการเปลี่ยนแปลงนะครับ ถ้าเข้าไปเช็คข้อมูลใน ตาราง

จะขึ้นข้อความเป็น " ไม่มีสินค้า" นะครับ เหมือนมันหลุดลูปไปเลยนะครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 14:34:06 By : finder
 


 

No. 8



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



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


งั้นช่วยเปลี่ยน Code บรรทัดที่ 27 ลองให้หน่อยครับ

Code
print_r($_POST);

if($_POST) {
foreach($_POST as $pid => $qty) {
echo $pid."_".$qty."<BR>";
if(!is_numeric($qty) || $qty <= 0) {
continue;
}
$cid = $_REQUEST['cid'];
echo $sql = "UPDATE request SET qty = $qty
WHERE pro_id = $pid AND cus_ord_id = '$cid';";
// $sql = "UPDATE request SET qty = $qty
// WHERE pro_id = $pid AND cus_user = '$cus_user';";
mysql_query($sql); //ยังไม่ต้องใส่ @
}
}


แล้วลอง output มาดูหน่อยครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 14:49:11 By : MonkeyDoll
 


 

No. 9



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



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


error

ข้อมูลไม่เปลี่ยนครับ แฮๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 15:40:59 By : finder
 


 

No. 10



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



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


อย่างแรก
$cid = $_REQUEST['cid'];
ไม่มีตัวแปร

แก้ได้โดย <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">

เป็น

<form action="<?php echo $_SERVER['PHP_SELF']; ?>?cid=<?php echo $_REQUEST['cid']?>" method="POST">
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 15:59:17 By : MonkeyDoll
 


 

No. 11



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



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


แก้ได้แล้วครับ! ตรงจำนวน แต่ถ้าผมจะเพิ่ม ตรงแก้ไขราคาด้วย ต้องทำแบบไหน หรือ อาเรย์หรือเปล่าครับ พอดีลองๆนั่งแก้ ยังไม่ได้อยู่นะครับ

ขอบคุณพี่มากๆเลยครับ ดีใจมากๆ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 16:22:32 By : finder
 


 

No. 12



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



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


Code
<?php
$grand_total = 0;
while($cart = mysql_fetch_array($result)) {
$sub_total = $cart['qty'] * $cart['price'] ;
$pid = $cart['pro_id'];
echo "
<tr valign=top>
<td>
[<a href=\"javascript: deleteCart($pid)\" title=ลบรายการนี้>x</a>]
{$cart['pro_name']}
</td>
<td align=center>
<input type=hidden size=3 name=pid[] value={$cart['qty']} />
<input type=text size=3 name=qty[] value={$cart['qty']} />
</td>
<td align=center>
<input type=text size=3 name=price[] value={$cart['price']} />
</td>
<td align=right>$sub_total</td>
</tr>";

$grand_total += $sub_total;
}
?>


Code
<?php
if($_POST) {
foreach($_POST[pid] as $pid => $pid_val) {
$sql = "UPDATE request SET qty = $qty[pid] ,
price = price[pid]
WHERE pro_id = $pid_val AND cus_ord_id = '$cid';";
@mysql_query($sql);
}
}

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 16:36:46 By : MonkeyDoll
 


 

No. 13



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



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


พอใส่ สองอันล่าสุด กลายเปนแก้ไข ไม่ได้เลย ทั้งสองช่อง ( จำนวน,ราคา ) เลยครับ แฮๆ
Code (PHP)
<head>
<script>
function deleteCart(pid) {
	if(!confirm('ลบสินค้านี้ ?')) {
		return;
	}
	
	location = "<?php echo $_SERVER['PHP_SELF']; ?>?pid=" + pid;
}
</script>
</head>

<body>
<?php 
include("menutop.php"); 
include("conn.inc.php");
connect_db();
$cid = $_REQUEST['cid'];
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>?cid=<?php echo $_REQUEST['cid']?>" method="POST">

<?php
if($_POST) {
foreach($_POST[pid] as $pid => $pid_val) {
$sql = "UPDATE request SET qty = $qty[pid] ,
price = price[pid]
WHERE pro_id = $pid_val AND cus_ord_id = '$cid';"; 
@mysql_query($sql);
}
}

else if($_GET['pid']) {
	$pid = $_GET['pid'];
	$cid = $_REQUEST['cid'];
	$sql = "DELETE FROM request WHERE pro_id = $pid AND cus_ord_id = '$cid';";
	mysql_query($sql);
}
$cid = $_REQUEST['cid'];
$sql = "SELECT * FROM request
			WHERE cus_ord_id = '$cid';";
//$sql = "SELECT * FROM request
//			WHERE cus_user = '$cus_user';";
$result = mysql_query($sql);

if(mysql_num_rows($result) == 0) {
	echo "<p align=center>ไม่มีสินค้า! </p>";
	echo "</form></body></html>";
	exit;
}

?>

<table border=1 bordercolor=#cccccc cellpadding=3 align=center style="border-collapse: collapse;">
	<caption>รายการสินค้าที่ลูกค้าเลือก</caption>
<tr bgcolor=#ddddff>
<th align=center width=220>สินค้า</th><th width=50>จำนวน</th><th width=50>ราคา</th><th width=80>รวม</th>
</tr>

<?php
$grand_total = 0;
while($cart = mysql_fetch_array($result)) {
$sub_total = $cart['qty'] * $cart['price'] ;
$pid = $cart['pro_id'];
echo "
<tr valign=top>
<td>
[<a href=\"javascript: deleteCart($pid)\" title=ลบรายการนี้>x</a>]
{$cart['pro_name']}
</td>
<td align=center>
<input type=hidden size=3 name=pid[] value={$cart['qty']} />
<input type=text size=3 name=qty[] value={$cart['qty']} />
</td>
<td align=center>
<input type=text size=3 name=price[] value={$cart['price']} />
</td> 
<td align=right>$sub_total</td>
</tr>";

$grand_total += $sub_total;
}

?>

<tr>
	<td colspan=3 align=center>รวมทั้งหมด</td>
	<td align=right><?php echo $grand_total ?></td>
</tr>
</table>
<p align=center>

<input type="button" value="&laquo;&nbsp;ย้อนกลับ" onclick="location='req_list.php'" />
&nbsp;&nbsp;&nbsp;&nbsp;

<input type="submit" value="คำนวณใหม่" />
&nbsp;&nbsp;&nbsp;&nbsp;

</p>
</form>
</body>
</html>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 17:11:43 By : finder
 


 

No. 14



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



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


งั้นลองเปลี่ยนเป็น

Code
<?php
if($_POST) {
foreach($_POST[pid] as $pid_key => $pid_val) {
$qty_val=$_POST[qty][$pid_key];
$price_val=$_POST[price][$pid_key];
$sql = "UPDATE request SET qty = $qty_val ,
price = $price_val
WHERE pro_id = $pid_val AND cus_ord_id = '$cid';";
@mysql_query($sql);
}
}


ถ้ายังไม่ได้ ลอง echo $sql ออกมาดูหน่อยนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 20:19:12 By : MonkeyDoll
 


 

No. 15



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



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


ยังไม่ได้นะครับ รูปแรก ก่อนใส่ข้อมูล รูปสอง ทดลองใส่เลขเปลี่ยนราคา รูปที่สาม ผลลัพธ์
1
2
3
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 20:40:23 By : finder
 


 

No. 16



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



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


อ้อ ผม copy แล้วลืมเปลี่ยน

Code
<?php
$grand_total = 0;
while($cart = mysql_fetch_array($result)) {
$sub_total = $cart['qty'] * $cart['price'] ;
$pid = $cart['pro_id'];
echo "
<tr valign=top>
<td>
[<a href=\"javascript: deleteCart($pid)\" title=ลบรายการนี้>x</a>]
{$cart['pro_name']}
</td>
<td align=center>
<input type=hidden size=3 name=pid[] value={$cart['qty']} />
<input type=text size=3 name=qty[] value={$cart['qty']} />
</td>
<td align=center>
<input type=text size=3 name=price[] value={$cart['price']} />
</td>
<td align=right>$sub_total</td>
</tr>";

$grand_total += $sub_total;
}
?>


เปลี่ยน
Code
<input type=hidden size=3 name=pid[] value={$cart['qty']} />


เป็น
Code
<input type=hidden size=3 name=pid[] value=$pid />

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 21:02:47 By : MonkeyDoll
 


 

No. 17



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



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


ได้แล้วครับบ! ขอบคุณมากๆๆครับผม!
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-06-14 21:26:59 By : finder
 

   

ค้นหาข้อมูล


   
 

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