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 > ถามเรื่องการบันทึกค่าการชำระเงินจาก checkbox ลงฐานข้อมูลแล้วแสดงข้อความว่าจ่ายแล้ว ไม่ทราบว่าทำยังไงคะ อยากได้แนวทางค่ะ



 

ถามเรื่องการบันทึกค่าการชำระเงินจาก checkbox ลงฐานข้อมูลแล้วแสดงข้อความว่าจ่ายแล้ว ไม่ทราบว่าทำยังไงคะ อยากได้แนวทางค่ะ

 



Topic : 098538



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



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




หน้าสถานะการชำระเงินของหนูเป็นแบบนี้ค่ะ

chkbox1

อยากได้แบบว่า ถ้ากด submit แล้วจะขึันว่า จ่ายแล้ว แบบนี้ค่ะ

chk2

ไม่ทราบว่าต้องทำยังไงคะ โดยที่ หากคลิกตรง checkbox แล้วเอาค่าไปลงในฐานข้อมูลในส่วนของ payment ในตารางค่ะ

db

ให้เก็บเป็นค่า 0, 1 หรือว่า จ่ายแล้ว, ยังไม่ได้จ่าย ประมาณนี้ค่ะ
อยากได้เป็นแนวทางค่ะ ขอบคุณมากค่ะ



Tag : PHP







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2013-07-31 21:32:57 By : redkimono View : 2102 Reply : 8
 

 

No. 1



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

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

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

ตรง value ของ checkbox ให้กำหนดเป็น id ของแถวนั้นๆ ครับ ถ้าตามรูปก็ให้เป็นค่าของ ReservID
และ name ของ checkbox ให้กำหนดเป็น array เช่น paid[]
จะได้ input ประมาณนี้
<input name="paid[]" type="checkbox" value="ค่าของ ReservID" />

และในโค้ดที่ submit ให้วนลูป array ดังกล่าวเพื่อ escape ค่า และทำให้เป็น string
และ UPDATE ด้วยเงื่อนไขโดยใช้ IN จะทำให้ UPDATE ทุกแถวในคราวเดียว

Code (PHP)
<?php
// ตรวจสอบว่ามีการเลือก checkbox หรือไม่ และตรวจสอบให้แน่ใจว่ามันเป็น array
if (isset($_POST['paid']) && is_array($_POST['paid'])) {
    $ids = $_POST['paid'];
    // ทำ array $_POST['paid'] ให้เป็น string ที่คั่นด้วย , เพื่อสามารถนำไปใช้กับ IN ได้
    // วนลูป $ids ทุกตัว by reference
    foreach ($ids as &$id) {
        // ทำให้เป็น string ที่ครอบด้วย ' และ escape ค่าเพื่อป้องกัน SQL Injection
        $id = "'" . mysql_real_escape_string($id) . "'";
    }
    // ทำ array ให้เป็น string โดยการเชื่อมด้วย ,
    $ids = implode(',', $ids);
    mysql_query("UPDATE `ชื่อตาราง` SET `payment` = '1' WHERE `ReservID` IN ($ids)");
}







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-31 21:46:24 By : cookiephp
 


 

No. 2



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

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

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

และตอนแสดงผล ก็ใส่เงื่อนไขลงไปว่า หากคอลัมน์ payment ของแถวนั้น ไม่เท่ากับค่าว่าง หรือเท่ากับ '1' ก็ให้แสดงคำว่าจ่ายแล้ว

Code (PHP)
<?php
if ($row['payment'] === '1') {
?>
จ่ายแล้ว
<?php
} else {
?>
<input name="paid[]" type="checkbox" value="<?php echo $row['ReservID']; ?>" />
<?php
}
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-31 21:49:35 By : cookiephp
 

 

No. 3



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : cookiephp เมื่อวันที่ 2013-07-31 21:49:35
รายละเอียดของการตอบ ::
ขอบคุณมากค่ะ เดี๋ยวจะลองดูนะคะ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-31 22:07:56 By : redkimono
 


 

No. 4



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



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


ตอบความคิดเห็นที่ : 2 เขียนโดย : cookiephp เมื่อวันที่ 2013-07-31 21:49:35
รายละเอียดของการตอบ ::
ในส่วนของแสดงผล หนูต้องทำหน้ามาอีกหน้าเลยใช่มั้ยคะ หรือว่าสามารถแสดงภายในหน้านั้นได้เลย

นี่โค๊ดหน้านี้ของหนูค่ะ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Admin</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
<!--
body {
	background-color: #CCCCCC;
	margin-top: 3cm;
}
a:link {
	color: #FF9900;
	text-decoration: none;
}
a:visited {
	color: #FF6633;
	text-decoration: none;
}
a:hover {
	color: #FFCC66;
	text-decoration: none;
}
a:active {
	color: #FF9900;
	text-decoration: none;
}
.style1 {
	color: #660000;
	font-weight: bold;
}
.style2 {color: #FF0000}
-->
</style></head>
<body>
<?
include ("../config.php");
$strSQL = "SELECT * FROM reservation";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
<form action="<?=$_SERVER["PHP_SELF"];?>" method="post" name="form1" id="form1">
  <table width="969" border="0" align="center" cellpadding="1" cellspacing="0" bgcolor="#FFFFFF">
    <tr>
      <td colspan="5"><img src="../images/aaa.jpg" alt="intanon" width="228" height="105" />       </td>
    </tr>
    <tr>
      <td bgcolor="#666666">&nbsp;</td>
      <td bgcolor="#666666">&nbsp;</td>
      <td bgcolor="#666666">&nbsp;</td>
      <td bgcolor="#666666">&nbsp;</td>
      <td bgcolor="#666666">&nbsp;</td>
    </tr>
    <tr>
      <td width="29" bgcolor="#FFFFFF">&nbsp;</td>
      <td width="199" bgcolor="#FFFFFF">&nbsp;</td>
      <td width="44">&nbsp;</td>
      <td width="669">&nbsp;</td>
      <td width="18" rowspan="3">&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF"><a href="../index.php">หน้าแรกของเว็บ</a></td>
      <td colspan="2"><span class="style1">ข้อมูลการชำระเงิน</span></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF"><a href="../admin/edit_user.php">แก้ไขข้อมูลผู้ใช้</a></td>
      <td><span class="style2">**</span></td>
      <td><span class="style2">หากชำระแล้วให้เช็ดที่ช่อง สี่เหลี่ยม </span></td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF"><a href="../admin/edit_room.php">แก้ไขข้อมูลห้องพัก</a></td>
      <td colspan="2" rowspan="9">
	
        <table width="704" border="0" cellpadding="1" cellspacing="0">
          <tr>
            <td width="95" bgcolor="#FFCC99" class="style1"><div align="center"><strong>เลขที่การจอง</strong></div></td>
            <td width="148" bgcolor="#FFCC99" class="style1"><div align="center"><strong>ชื่อ</strong></div></td>
            <td width="141" bgcolor="#FFCC99" class="style1"><div align="center"><strong>นามสกุล</strong></div></td>
            <td width="167" bgcolor="#FFCC99" class="style1"><div align="center"><strong>วันที่ทำการจอง</strong></div></td>
            <td width="143" bgcolor="#FFCC99" class="style1"><div align="center"><strong>สถานะการชำระเงิน</strong></div></td>
          </tr>
		  <?
		while($objResult = mysql_fetch_array($objQuery))
		{
		?>
          <tr>
		  
            <td><div align="center">
              <?=$objResult["ReservID"];?>
            </div></td>
            <td><div align="center">
              <?=$objResult["FirstName"];?>
            </div></td>
            <td><div align="center">
              <?=$objResult["LastName"];?>
            </div></td>
            <td><div align="center">
              <?=$objResult["create_datetime"];?>
            </div></td>
            <td><div align="center">
              <label>
              <input name="paid[]" type="checkbox" value="ReservID" />
              </label>
            </div></td>
			 <?
	}
  ?>
<?php
// ตรวจสอบว่ามีการเลือก checkbox หรือไม่ และตรวจสอบให้แน่ใจว่ามันเป็น array
if (isset($_POST['paid']) && is_array($_POST['paid'])) {
    $ids = $_POST['paid'];
    // ทำ array $_POST['paid'] ให้เป็น string ที่คั่นด้วย , เพื่อสามารถนำไปใช้กับ IN ได้
    // วนลูป $ids ทุกตัว by reference
    foreach ($ids as &$id) {
        // ทำให้เป็น string ที่ครอบด้วย ' และ escape ค่าเพื่อป้องกัน SQL Injection
        $id = "'" . mysql_real_escape_string($id) . "'";
    }
    // ทำ array ให้เป็น string โดยการเชื่อมด้วย ,
    $ids = implode(',', $ids);
    mysql_query("UPDATE `reservation` SET `payment` = '1' WHERE `ReservID` IN ($ids)");
}
?>
          </tr>
          <tr>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
            <td><label>
              <div align="center">
                <input type="submit" name="Submit" value="Submit" />
                </div>
            </label></td>
          </tr>
        </table>        </td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF"><a href="../admin/edit_reserv.php">แก้ไขข้อมูลการจอง</a></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF"><a href="../admin/manage_webboard.php">จัดการข้อมูลเว็บบอร์ด</a></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF"><a href="../admin/chk_reserv.php">ดูสถานะการจอง</a></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF">ข้อมูลการชำระเงิน</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF"><a href="../admin/chk_report.php">ดูรายงานทั้งหมด</a></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF"><img src="../images/47d0e9ec8e7e9.gif" width="20" height="20" /></td>
      <td bgcolor="#FFFFFF"><a href="../admin/logout_admin.php">Logout</a></td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
      <td bgcolor="#FFFFFF">&nbsp;</td>
    </tr>
    <tr>
      <td bgcolor="#666666">&nbsp;</td>
      <td bgcolor="#666666">&nbsp;</td>
      <td bgcolor="#666666">&nbsp;</td>
      <td bgcolor="#666666">&nbsp;</td>
      <td bgcolor="#666666">&nbsp;</td>
    </tr>
  </table>
  <br />
  <br />
</form>
<?
mysql_close($Connect);
?>
</body>
</html>


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-07-31 22:22:31 By : redkimono
 


 

No. 5

Guest


ใบ้หน้าเดียวก็ได้ ใช้วิธีเช็คเอาว่าตรงส่วนที่แสดงสถานะว่าจ่ายแล้วยังไม่จ่าย
ก็เช็คเอาว่า ถ้าจ่ายแล้วให้แสดงข้อความนี้ และถ้ายังไม่จ่ายก็ให้แสดง checkbox แบบนี้น่ะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-01 01:06:29 By : บังเอิญผ่านมาเห็น
 


 

No. 6



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

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

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

โห คุณน้อง เล่นก็อปไปวางเลยเหรอครับ คือผมให้เป็นแนวทางนะ

ส่วน UPDATE ควรอยู่ก่อนการแสดงผลครับ เอาไปไว้ตรงนั้นไม่ถูกต้องเท่าไหร่

ควรย้าย บรรทัด 110 ตรงส่วนที่ผมเขียนให้มาไว้ก่อน <html> เลย

และบรรทัด 102

Code (PHP)
<td><div align="center">
<label>
<input name="paid[]" type="checkbox" value="ReservID" />
</label>
</div></td>


นี่ก็อปมาวางเฉยๆ ไม่ได้ครับ คือตรง ReservID ผมหมายถึง ให้น้องใส่ค่าคอลัมน์ ReservID ลงไป
ซึ่งผมไม่ได้เขียนให้ชัดเจนเนื่องจากก็ไม่รู้อยู่ดีว่าน้องใช้ตัวแปรชื่ออะไร แต่ตอนนี้รู้แล้ว

input ควรเป็นแบบนี้
<input name="paid[]" type="checkbox" value="<?php echo $objResult['ReservID']; ?>" />


และที่น้องถามว่าต้องทำหน้าใหม่หรือไม่นั้น ไม่ต้องทำครับ ซึ่งผมก็ได้ให้แนวทางไว้แล้วเหมือนกันใน No.2

ดังนั้นส่วนแสดงผล checkbox ที่สมบูรณ์จะเป็นแบบนี้ (บรรทัด 102)
<td><div align="center">
<?php
if ($objResult['payment'] === '1') {
?>
จ่ายแล้ว
<?php
} else {
?>
<input name="paid[]" type="checkbox" value="<?php echo $objResult['ReservID']; ?>" />
<?php
}
?>
</div></td>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-01 10:11:37 By : cookiephp
 


 

No. 7



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : cookiephp เมื่อวันที่ 2013-08-01 10:11:37
รายละเอียดของการตอบ ::
อ๋ออออ เข้าใจแล้วค่ะพี่ ขอบคุณมากนะคะ ฮ่าๆๆๆ



ประวัติการแก้ไข
2013-08-01 23:39:48
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-01 23:20:25 By : redkimono
 


 

No. 8



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



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


ตอบความคิดเห็นที่ : 6 เขียนโดย : cookiephp เมื่อวันที่ 2013-08-01 10:11:37
รายละเอียดของการตอบ ::
พี่คะ หนูขอรบกวนอีกรอบค่ะ คือหนูเอาไปใส่แบบที่พี่บอกแล้ว แต่ว่า พอแสดงผลแล้วกด submit ไม่ขึ้นว่าจ่ายแล้วเลยค่ะ และในฐานข้อมูลก็ไม่เก็บค่า 1 ไว้ด้วย หรือต้องเปลี่ยนจาก update เป็น insert แทนคะพี่

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2013-08-01 23:46:53 By : redkimono
 

   

ค้นหาข้อมูล


   
 

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