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 > มีปัญหาเรื่องสร้างเงื่อนไขก่อนการบันทึกข้อมูล กับข้อมูลที่ใช้ loop for



 

มีปัญหาเรื่องสร้างเงื่อนไขก่อนการบันทึกข้อมูล กับข้อมูลที่ใช้ loop for

 



Topic : 122439



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



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



คือติดปัญหาเรื่องการสร้างเงื่อนไขให้กับข้อมูล ดังนี้
1. กำหนดเงื่อนไขว่า ตัวแปล A ต้องไม่เท่ากับ ฟิลล์ A ในตาราง A
หรือ ตัวแปล B ต้องไม่เท่ากับ ฟิลล์ B ในตาราง B
ซึ่งหากเข้าเงื่อนไข ตัวใดตัวหนึ่ง ข้อมูลต้องไม่บันทึก
แต่กลับเข้าเงื่อนไขตาราง A เท่านั้น ซึ่งตาราง B ยังสามารถบันทึกข้อมูลได้

2. ตัวแปล B มีข้อมูลมากกว่า 1 ตัว ซึ่งใช้ loop for ในการเลือกจำนวนและเด้ง textfild ขึ้นมาตามจำนวนที่เลือก ดังรูป

หกฟหก

3. ความต้องการ : หากข้อมูลซ้ำแม้แต่ตัวเดียว ทั้งของตัวแปล A และ B จะไม่สามารถบันทึกข้อมูลได้ มีวิธีทำอย่างไรค่ะ ขอคำแนะนำด้วยค่ะ >/\<


ฟอร์มการกรอกข้อมูล
Code (PHP)
<form name="drb_add" id="drb_add" method="POST" enctype="multipart/form-data" action="drb_addNew.php">
        <table width="784" border="0">  
        <tr>
        <td style="padding:10px"><font color="#2A5FAA">จำนวน</font><font color="#FF0000"><strong>*</strong></font></td>
        <td style="padding:10px"><div class="row"><div class="col-xs-3">
        <select name="menu1" id="menu1" onChange="MM_jumpMenu('parent',this,0)" class="btn btn-default dropdown-toggle">
		<?php
		for($i=0;$i<=20;$i++)
		{
			if($_GET["Line"] == $i)
		{
			$sel = "selected";
		}
		else
		{
			$sel = "";
		}
		?> 
		<option value="<?php echo $_SERVER["PHP_SELF"];?>?Line=<?php echo $i;?>"<?php echo $sel;?> ><?php echo $i;?></option>        
        <?php } ?></select> 
        <input type="hidden" name="drb_pd_amount" value="<?php echo $_GET["Line"];?>"> <!--- >> เก็บค่าจำนวน ----->
        </div><font size="2"><strong>**กรุณาเลือกจำนวนตั้งแต่ 1 ขึ้นไป**</strong></font>
        </div></td></tr>
        
        <tr>
        <td style="padding:10px"><font color="#2A5FAA">รหัสเฉพาะของครุภัณฑ์</font><font color="#FF0000"><strong>*</strong></font></td>
        <td style="padding:10px">
        <?php
		$line = $_GET["Line"];
		if($line == 0){$line=1;}
		for($i=1;$i<=$line;$i++)
		{
		?>
        <div class="row"><div class="col-xs-5">
       	<input type="text" name="drb_pd_codeT<?php echo $i;?>" id="drb_pd_codeT" placeholder="เช่น GE-001-999-9999/59" minlength="15" maxlength=20 
        class="form-control" style="font-size:14px" onKeyPress="return KeyCodeT(drb_pd_codeT)" OnChange="JavaScript:doCallAjaxT();" required>
        <span id="mySpanT"></span></div>
        
        <strong><font size="2">เช่น GE-001-999-9999/</font><font size="2" color="#FF0000">59</font>
        <font size="2"> (</font><font size="2" color="#FF0000">59</font><font size="2">=ปีที่รับเข้า)</font><br>
        <font size="2">**ระบุตัวเลข/อักษร อย่างน้อย 15 หลัก**</font></strong></div>   
        <?php } ?></td></tr>
        
    	<tr>
        <td height="10" width="120" style="padding:10px"><font color="#2A5FAA">หมวดหมู่</font><font color="#FF0000"><strong>*</strong></font></td>
        <td style="padding:10px">
        <select id="drb_cg_id" name="drb_cg_id" class="btn btn-default dropdown-toggle" onChange="explain(this)" required>
        <option value="">เลือกหมวดหมู่</option>
        <option value="01">01 - เครื่องมือไฟฟ้า</option>
        <option value="02">02 - เครื่องมือวัด</option>
        <option value="03">03 - เครื่องมือสื่อสาร</option>
        <option value="04">04 - เครื่องมือทั่วไป</option>
        <option value="05">05 - เครื่องมือลม</option>
        <option value="06">06 - เครื่องมืออื่นๆ</option>
        </select></td>
        </tr>
           
        <tr>
        <td style="padding:10px"><font color="#2A5FAA">รหัสครุภัณฑ์</font><font color="#FF0000"><strong>*</strong></font></td>
        <td style="padding:10px">
        <div class="row"><div class="col-xs-3">
        <input type="text" size="5" class="form-control" id="drb_pd_codeSE" name="drb_pd_codeSE" style="font-size:14px"
        placeholder="เช่น GL-ES-00" value="" readonly required>
        </div>
		<input type="hidden" id="drb_cg" value=""> <!--ใช้เก็บค่ารหัสหมวดหมู่เพื่อนำไปเช็คค่าซ้ำ-->
		<div class="col-xs-3">
        <input type="text" id="drb_pd_codeChk" name="drb_pd_codeChk" minlength="3" maxlength=3 placeholder="เช่น 001" value="" 
        onKeyUp="if(isNaN(this.value)){ alert('กรุณากรอกตัวเลข'); this.value='';}" class="form-control" style="font-size:14px" 
        OnChange="JavaScript:doCallAjax();" required><span id="mySpan"></span>
        </div>
        <font size="2"><strong>**ระบุตัวเลข 3 หลัก**</strong></font>
        </div></td></tr>
        
        <tr>
        <td></td>
        <td style="padding:20px">
        <input type="submit" name="add_drb" id="add_drb" class="btn btn-success" value="บันทึก" onClick="return check();">
        <input type="hidden" name="hdnLine" value="<?php echo $i;?>"><!---- แถวรหัสเฉพาะหลายแถว ---->
        <input type="button" name="can_drb" id="can_drb" class="btn btn-danger" onClick="window.location.href='drb_list.php'" value="ยกเลิก">
        </td>
        </tr></table></form>



โค้ดที่ใช้บันทึกข้อมูล A(ตัวแปล $_POST["drb_pd_codeSE"] และ $_POST["drb_pd_codeChk"] ,ตาราง drb_product)
และ B(ตัวแปล $_POST["drb_pd_codeT$i"] ,ตาราง drb_product_up)
Code (PHP)
<!--------------------- การ ADD ลงฐานข้อมูล ---------------------->
<?php
	$drb_pd_img = $_POST['drb_pd_img'];
	
	// เช็ครหัสครุภัณฑ์ ไม่ให้ซ้ำกับที่มีในฐานข้อมูล หากซ้ำจะไม่สามารถบันทึกข้อมูลได้ //
	$strSQL1 = " SELECT * FROM drb_product WHERE drb_pd_code = 'GL-ES-".$_POST["drb_pd_codeSE"]."' ";
	$objQuery1 = mysql_query($strSQL1) or die ("Error Query [".$strSQL1."]");
	$objResult1 = mysql_fetch_array($objQuery1);
		
	$strSQL2 = " SELECT * FROM drb_product_up WHERE drb_pd_codeT = '".$_POST["drb_pd_codeT"]."' ";
	$objQuery2 = mysql_query($strSQL2) or die ("Error Query [".$strSQL2."]");
	$objResult2 = mysql_fetch_array($objQuery2);
	//-----------------------------------------------------------------------------------------------//

	if(isset($_POST['add_drb']))
	{
		if(!$objResult1 || !$objResult2)
		{
			// การเพิ่มข้อมูล ตางราง drb_product //
			$in = " INSERT INTO drb_product(drb_cg_id,drb_pd_code,drb_pd_name,drb_pd_amount,drb_pd_amt,drb_pd_type,drb_pd_state,drb_pd_img)
					VALUES('".$_POST["drb_cg_id"]."','".$_POST["drb_pd_codeSE"]."".$_POST["drb_pd_codeChk"]."','".$_POST["drb_pd_name"]."',
					'".$_POST["drb_pd_amount"]."','".$_POST["drb_pd_amount"]."','".$_POST["drb_pd_type"]."','".$_POST["drb_pd_state"]."','$drb_pd_img') ";
			$q = mysql_query($in,$durable_connect);	
			

			for($i=1;$i<=$_POST["hdnLine"];$i++)
			{
				if($_POST["drb_pd_codeT$i"] != "")
				{
					$sqlPD = "INSERT INTO drb_product_up ";
					$sqlPD .="(drb_pd_code,drb_pd_codeT,drb_pd_price,drb_pd_shop,drb_pd_date,drb_pdup_amt,drb_st_after) ";
					$sqlPD .="VALUES ";
					$sqlPD .="( '".$_POST["drb_pd_codeSE"]."".$_POST["drb_pd_codeChk"]."','".$_POST["drb_pd_codeT$i"]."', ";
					$sqlPD .=" '".$_POST["drb_pd_price"]."','".$_POST["drb_pd_shop"]."','".$_POST["drb_pd_date"]."','1','1' ) ";
					$qryPD = mysql_query($sqlPD,$durable_connect);
				}
			}
		}
		if($q && $qryPD)
		{ echo "<script>alert('ทำรายการสำเร็จ!')</script>"; }
		
		else if($q)
		{ echo "<script>alert('บันทึกตัวหลัก')</script>"; }
		
		else if($qryPD)
		{ echo "<script>alert('บันทึกรับเข้า')</script>"; }
		
		else
		{ echo "<script>alert('ทำรายการไม่สำเร็จ! โปรดตรวจสอบให้แน่ใจก่อนการบันทึก ว่าระบุข้อมูลถูกต้องครบถ้วนแล้วหรือไหม?')</script>"; }
	}mysql_close($durable_connect); ?>




Tag : PHP, MySQL









ประวัติการแก้ไข
2016-04-16 14:29:37
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2016-04-16 14:26:59 By : hiyingzha View : 774 Reply : 1
 

 

No. 1



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



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

มีใครพอมีแนวทางหรือวิธีแนะนำการเขียนบ้างไหมค่ะ T/\T






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2016-04-19 18:01:22 By : hiyingzha
 

   

ค้นหาข้อมูล


   
 

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