Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 107,995

HOME > PHP > PHP Forum > ช่วยหน่อยครับเกี่ยวกับการส่ง-คืนเครื่องจักรแล้วทำdropdown list ในหน้าบันทึกให้บันทึกใน SESSION ไม่ได้



 

ช่วยหน่อยครับเกี่ยวกับการส่ง-คืนเครื่องจักรแล้วทำdropdown list ในหน้าบันทึกให้บันทึกใน SESSION ไม่ได้

 



Topic : 132928



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



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



-รหัสเครื่องจักรใน db = mac_id(PK)
-mac_status สถานะการเครื่องจักร (0="ว่าง",1="ไม่ว่าง")
ผมได้ทำการกำหนด $sql = "SELECT * FROM machine where machine.mac_status = 0";
$result = mysqli_query($conn,$sql);
$row = mysqli_fetch_array($result);
$mac_id = $row[0];
เพื่อแสดงเฉพาะเครื่องจักรที่ว่าง
และผมได้เลือกเครื่องจักรเพื่อบันทึกในตะกร้าเครื่องจักรโดยการเก็บใน SESSION['cart']
พอเลือกเสร็จก็จะไปหน้าบันทึกการส่ง
บันทึกการส่ง

Code : ของ ลิสเครื่องจักร
Code (PHP)
<?php
    $conn = mysqli_connect("localhost","root","123456789");
		mysqli_set_charset($conn,'utf8');
		$sql = "use machinerental_db";
		$result = mysqli_query($conn,$sql); 
?>
    <?php
	$total=0;
	foreach($_SESSION['cart'] as $mac_id=>$qty)
	{
		$sql	= "select * from machine where mac_id=$mac_id";
		$query	= mysqli_query($conn, $sql);
		$row	= mysqli_fetch_array($query);
 ?>
		
<?php
	mysql_connect("localhost","root","123456789") or die(mysql_error());
	mysql_select_db("machinerental_db");
?>

            <?php
    echo "<tr>";
    echo "<td align='center'>" . $row["mac_id"] . "</td>";
    echo "<td width='180'>" . $row["mac_name"] . "</td>";
    echo "<td align='center'>" . $row["mac_type"] . "</td>";
    echo "<td align='center'>" . $row["license_plate"] . "</td>"; 
    echo "<td align='center'>"  ?>
     <select name="lmName1">
			<option value=""><-- Please Select Item --></option>
			<?php
			$strSQL = "SELECT * FROM employee ORDER BY emp_id ASC";
			$objQuery = mysql_query($strSQL);
			while($objResuut = mysql_fetch_array($objQuery))
			{
			?>
			<option value="<?php echo $objResuut["emp_id"];?>"><?php echo $objResuut["emp_id"]." - ".$objResuut["emp_name"];?></option>
			<?php
			}
			?>
		  </select>


โดยบันทึกการส่ง จะแสดงลิสเครื่องจักรทั้งหมดที่เลือกส่งผ่าน foreach ของ SESSION['cart'] ที่ได้ผ่านการเพิ่มข้อมูลตาม $mac_id ที่เลือก
ใน foreach ผมได้เพิ่มข้อมูล dropdown list ของพนักงาน เพื่อเลือกพนักงานที่จะส่งเครื่องจักรไป
โดยข้อมูลต่างๆจะถูกส่งแบบ POST

Code : insert
Code (PHP)
<?php
	session_start();
	$del_send = $_REQUEST['del_send'];
	$del_senddate = $_SESSION['del_senddate'];
    	$mac_id = $_SESSION['mac_id'];
   	$ren_id = $_SESSION['ren_id'];
	$del_status = 0;
	$listdel_status = 0;
	?>
            
         <?php 
	$conn = mysqli_connect("localhost","root","123456789");
	mysqli_set_charset($conn,'utf8');
	$sql1 = "use machinerental_db";
	$result = mysqli_query($conn, $sql1);
	$sql1 = "INSERT INTO delivery (del_senddate, del_send, del_status, ren_id) VALUES ('$del_senddate', '$del_send', '$del_status', '$ren_id')";
	$result = mysqli_query($conn,$sql1);
	//ฟังก์ชั่น MAX() จะคืนค่าที่มากที่สุดในคอลัมน์ที่ระบุ ออกมา หรือจะพูดง่ายๆก็ว่า ใช้สำหรับหาค่าที่มากที่สุด นั่นเอง.
	$sql2 = "SELECT MAX(del_id) as del_id FROM delivery WHERE del_senddate = '$del_senddate' and del_send = '$del_send' and del_status = '$del_status' and ren_id = '$ren_id'";
	$query2	= mysqli_query($conn, $sql2);
	$row = mysqli_fetch_array($query2);
	$del_id = $row["del_id"];
	
	//PHP foreach() เป็นคำสั่งเพื่อนำข้อมูลออกมาจากตัวแปลที่เป็นประเภท array โดยสามารถเรียกค่าได้ทั้ง $key และ $value ของ array
	foreach($_SESSION['cart'] as $mac_id=>$qty)
	{
		mysql_connect("localhost","root","123456789") or die(mysql_error());
		mysql_select_db("machinerental_db");
        //ยังส่งมาแค่ค่าเดียวที่เลือกเพราะส่งแบบ POST*******
		$strSQL = "SELECT * FROM employee WHERE emp_id = '".$_POST["lmName1"]."' ";
		$objQuery = mysql_query($strSQL);
		$objResult = mysql_fetch_array($objQuery);
		$emp_id = $objResult['emp_id'];
		$emp_name = $objResult['emp_name'];
		$sql3	= "SELECT * FROM machine WHERE mac_id=$mac_id";
		$query3	= mysqli_query($conn, $sql3);
		$row3	= mysqli_fetch_array($query3);
		$mac_id 	= $row3['mac_id'];
		$sql4	= "INSERT INTO list_delivery (listdel_status, mac_id, emp_id, del_id)VALUES('$listdel_status', '$mac_id','$emp_id','$del_id')";
	
		$query4	= mysqli_query($conn, $sql4); 
	}	
if($query4){
		mysqli_query($conn, "COMMIT");
		$msg = "บันทึกข้อมูลเรียบร้อยแล้ว ";
		foreach($_SESSION['cart'] as $mac_id)
		{	
			//unset($_SESSION['cart'][$p_id]);
			unset($_SESSION['cart']);
		}
	}
	else{
		mysqli_query($conn, "ROLLBACK");  
		$msg = "บันทึกข้อมูลไม่สำเร็จ กรุณาติดต่อเจ้าหน้าที่ค่ะ ";	
	}
	
?>	 


จากโค๊ดหน้าบันทึกจะถูกส่งมาแค่ค่าเดียวคือค่า dropdown ที่เลือกอันแรก

-สมมติมีเครื่องจักรแสดงตามรูป
อยากทราบว่ามีวิธีไหนบ้างคับที่เรากด dropdown list เลือกคนขับคนที่ 1 แล้ว พอกด dropdown list อีกอันให้มันไม่แสดงคนขับที่เราเลือกตอนแรก

และนำตัวข้อมูลคนขับทั้ง 2 dropdownlist ไปเก็บ ใน SESSION แทนะการส่งแบบ POST เพื่อที่จะได้ส่งข้อมูลคนขับที่เลือก(2คน)ไปยังหน้าโค๊ดที่จะ insert ข้อมูลลงไป โดยการ insert ก็จะ insert ผ่าน foreach เหมือนกัน insert ลง table การคืน และจะต้องอัพเดตให้สถานะเครื่องจักรที่เลือกและคนขับเป็น ไม่ว่างด้วย



Tag : PHP, MySQL









ประวัติการแก้ไข
2019-01-16 16:14:39
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2019-01-16 16:13:14 By : 10215890978539437 View : 265 Reply : 7
 

 

No. 1



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



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

ชีวิตคุณ เหมือนสับสนเกินไปหรือเปล่า?

If (mysql) {
echo "you must to used Mysql only ";
}else{
echo "you must to used Mysqli only";
}
===========================
เขียนแบบนี้สับสนครับ ช่วยคุณยาก ไปหาตัวตนโตเองก่อนครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-16 16:49:12 By : Hararock
 


 

No. 2



โพสกระทู้ ( 8,015 )
บทความ ( 2 )



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


ตอบความคิดเห็นที่ : 1 เขียนโดย : Hararock เมื่อวันที่ 2019-01-16 16:49:12
รายละเอียดของการตอบ ::
+1 555555555


เจ้าของกระทู้ เอา ของเก่ากะใหม่มาผสมกันไม่ได้นะครับ
ใช้ mysqli อย่างเดียวเลยครับ และศีกษาเรื่องการใช้ oop ไปด้วยยิ่งดีใหญ่
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-16 17:47:00 By : Chaidhanan
 

 

No. 3



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



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

ตอบความคิดเห็นที่ : 1 เขียนโดย : Hararock เมื่อวันที่ 2019-01-16 16:49:12
รายละเอียดของการตอบ ::
พอดีพึ่งเคยทำครับ เลยไม่ค่อยเข้าใจเกี่ยวกับ php เท่าไหร่ 555555

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-16 18:49:43 By : 10215890978539437
 


 

No. 4



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-01-16 17:47:00
รายละเอียดของการตอบ ::
พอดีเจอสถานะการณ์บังคับ ครับ เลยต้องรีบทำละไม่ได้ศึกษาข้อมูลมากเท่าไหร่
เลยออกมาเป็นแบบนี้ครับ เดี๋ยวจะไปศึกษาต่อครับ 555555

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-16 18:56:06 By : 10215890978539437
 


 

No. 5



โพสกระทู้ ( 8,015 )
บทความ ( 2 )



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


ลืมตอบปัญหาเรื่อง session การใช้ session จำเป็นต้องประกาศ ให้ sever รู้ว่าเราต้องการใช้มัน เพื่อที่ มันจะได้ บันทึก session ให้เรา
ด้วยคำสั่ง
session_start(); ไว้ที่ส่วนหัวของโปรแกรม ก่อนการ ส่งค่าอื่นๆ ออกไปให้ client ครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-16 20:00:08 By : Chaidhanan
 


 

No. 6



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



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

ตอบความคิดเห็นที่ : 2 เขียนโดย : Chaidhanan เมื่อวันที่ 2019-01-16 17:47:00
รายละเอียดของการตอบ ::
ถืงว่าและ เขียนวนไปวนมา ทั้งๆที่ Process ไม่ได้ยากนิ่

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-17 08:03:12 By : Hararock
 


 

No. 7



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



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

ตอบความคิดเห็นที่ : 3 เขียนโดย : 10215890978539437 เมื่อวันที่ 2019-01-16 18:49:43
รายละเอียดของการตอบ ::
ครับผม มันไม่ได้ยากหรอกครับ
1. เพียงแค่เข้าใจหลักการ
2. กำหนดเป้าหมาย
3. Process Step by Step ว่าไปมาอย่างไร
4. เขียน Code ให้ Show Massages Box Errors ด้วยเมื่อเกิดข้อผิดพลาด
5. ถ้าไม่เข้าใจงานตัวเองจริงๆ เขียน Flowchart ใน Process นี้ก่อน แล้วค่อยมา Coding
============================================================
ลองปรับดูก่อน ใช้ Mysqli เถอะ ครับ
แก้ Code มาใหม่ ว่างๆจะเข้ามาตอบให้ครับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2019-01-17 08:12:22 By : Hararock
 

   

ค้นหาข้อมูล


   
 

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

Load balance : Server 05
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2019 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 , 08-9968-0655 อัตราราคา คลิกที่นี่