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 > สอบถาม การใช้ foreach() ที่มีตัวแปร หลายตัว ครับ เนื่องจาก สินค้าผมมีหลายไซต์ หลายสีครับ



 

สอบถาม การใช้ foreach() ที่มีตัวแปร หลายตัว ครับ เนื่องจาก สินค้าผมมีหลายไซต์ หลายสีครับ

 



Topic : 118862



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



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




ปัญหาคือ ไม่สามารถเพิ่ม size ถัดไปที่ ติ๊กถูกได้ครับ
dx

dx2

Code (PHP)
//--------------------------เพิ่มSIZEสินค้า 32-----------------------------//
$size32="32/70";
$chkcolor32=$_POST['chkcolor32'];
$color32=$_POST['color32'];
$chknum32=$_POST['chknum32'];
if($_POST["chksize32"]!=""){
	if(count($chkcolor32)>0){  // ตรวจสอบ checkbox ว่ามีการเลือกมาอย่างน้อย 1 รายการหรือไม่
		foreach($chkcolor32 as $key=>$value){
			$strSQL = "INSERT INTO product_size ";
			$strSQL .="(Product_Id,Product_Size,Product_Color,size_num) 
			VALUES ('".$_POST["Product_Id"]."','$size32','".$color32[$value]."','".$chknum32[$value]."')";
			$objQuery = mysql_query($strSQL);
			
		}
		
	}
	
}else{}
if($_POST["chksize34"]!=""){
//--------------------------เพิ่มSIZEสินค้า 34-----------------------------//

$size34="34/75";
$chkcolor34=$_POST['chkcolor34'];
$color34=$_POST['color34'];
$chknum34=$_POST['chknum34'];
if(count($chkcolor34)>0){  // ตรวจสอบ checkbox ว่ามีการเลือกมาอย่างน้อย 1 รายการหรือไม่
	foreach($chkcolor34 as $key=>$value){

		$strSQL2 = "INSERT INTO product_size ";
		$strSQL2 .="(Product_Id,Product_Size,Product_Color,size_num) 
		VALUES ('".$_POST["Product_Id"]."','$size34','".$color34[$value]."','".$chknum34[$value]."')";
		$objQuery2 = mysql_query($strSQL2);
	}
}
}




Tag : PHP, MySQL







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2015-09-13 23:16:23 By : ifirstinw View : 1708 Reply : 12
 

 

No. 1



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



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

เนื่องจากไม่เห็น โค๊ด HTML
Code (PHP)
//--------------------------เพิ่มSIZEสินค้า 32-----------------------------//
//$size32="32/70";
//$chkcolor32=$_POST['chkcolor32']; // เดาเอาว่าเป็น ปุ่มสีบานเย็น
//$color32=$_POST['color32']; // เดาเอาว่าเป็นปุ่ม สี
//$chknum32=$_POST['chknum32']; เดาเอาว่าเป็น textbox จำนวน
if(isset($_POST["chksize32"])){
	if(isset($_POST['color32']){  // ตรวจสอบ checkbox ว่ามีการเลือกมาอย่างน้อย 1 รายการหรือไม่
		foreach($_POST['color32'] as $key=>$value){
			$pd_id=intval($_POST['Product_id']);
			$color=mysql_real_escape_string($value);
			$num=intval($_POST['chknum32'][$key]);
			$strSQL = "INSERT INTO product_size ";
			$strSQL .="(Product_Id,Product_Size,Product_Color,size_num) 
			VALUES ( $pd_Id, '32/70','$color', $num)";
			$objQuery = mysql_query($strSQL);
		}
	}
}

อันอื่นก็ประยุกต์เอานะครับ

ถ้าจะให้ดี เอาส่วนของ HTML มาแสดงดัวยครับ จะได้รู้ว่าข้อมูลที่ส่งมาเป็นอะไรแน่
คอมฯ จะทำงานได้ต้องมี 3 อย่าง INPUT CPU OUTPUT ขาดอะไรไปซักอย่างก็เดาเอาแล้วละ่ครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 02:07:42 By : NewbiePHP
 


 

No. 2



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



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


อันนี้เป็น input ที่ส่งมาครับ
Code (PHP)
 <?php
$setColumn=2;//แสดง3คอลัมน์ต่อ1แถว ถ้าต้องการให้แสดงกี่คอลัมน์ให้กำหนดตรงนี้
$ColumnStart=1;//คอลัมน์เริ่มต้นเป็น 1 เสมอ
$i_32=0;
			$strSQL2 = "SELECT * FROM product_color ORDER BY id ASC";
			$objQuery2 = mysql_query($strSQL2);
			while($objResuut2 = mysql_fetch_array($objQuery2))
			{?>
                      
                      <td width="174" align="center" scope="col"><input name="chkcolor32[]"  type="checkbox" id="chkcolor32[]" value="<? echo $i_32;?>">
                        <input name="color32[]" type="hidden" id="color32[]" value="<?php echo $objResuut2["color"];?>" />
                        <?php echo $objResuut2["color"];?>
                        <td width="168" align="center" scope="col"> จำนวน
                          <input name="chknum32[]" type="text" id="chknum32[]" size="4" ></td>
 <?php                  
if($ColumnStart==$setColumn){//หากคอลัมน์เท่ากับจำนวนคอลัมน์ที่กำหนดไว้
echo '</tr><tr>';//สร้างแท็ก </tr> ปิด เพื่อจบแถว และสร้าง <tr>เพื่อสร้างแถวใหม่
$ColumnStart=0;//เซตเป็น 0 เพื่อเริ่มนับคอลัมน์ใหม่
}
 
$ColumnStart++;//เพิ่มคอลัมน์ทีละ1คอลัมน์
$i_32++;
			}
			?>


 <?php
$setColumn=2;//แสดง3คอลัมน์ต่อ1แถว ถ้าต้องการให้แสดงกี่คอลัมน์ให้กำหนดตรงนี้
$ColumnStart=1;//คอลัมน์เริ่มต้นเป็น 1 เสมอ
$i_34=0;
			$strSQL2 = "SELECT * FROM product_color ORDER BY id ASC";
			$objQuery2 = mysql_query($strSQL2);
			while($objResuut2 = mysql_fetch_array($objQuery2))
			{?>
                        <td width="174" align="center" scope="col"><input name="chkcolor34"  type="checkbox" id="chkcolor34" value="<?php echo $i_34;?>">
                          <input name="color34[]" type="hidden" id="color34[]" value="<?php echo $objResuut2["color"];?>" />
                          <?php echo $objResuut2["color"];?>
                          <td width="168" align="center" scope="col"> จำนวน
                            <input name="chknum34[]" type="text" id="chknum34[]" size="4"></td>
                        <P>
                          <?php
if($ColumnStart==$setColumn){//หากคอลัมน์เท่ากับจำนวนคอลัมน์ที่กำหนดไว้
echo '</tr><tr>';//สร้างแท็ก </tr> ปิด เพื่อจบแถว และสร้าง <tr>เพื่อสร้างแถวใหม่
$ColumnStart=0;//เซตเป็น 0 เพื่อเริ่มนับคอลัมน์ใหม่
}

$ColumnStart++;//เพิ่มคอลัมน์ทีละ1คอลัมน์
$i_34++;
			}
			?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 07:45:36 By : ifirstinw
 

 

No. 3



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



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


ผมใช้ checkbox เก็บค่า array (0,1,2,....) เเละใช้ hidden เป็นตัวเก็บค่าข้อมูลเเทนครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 07:48:54 By : ifirstinw
 


 

No. 4



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



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

Code (PHP)
<?php
$setColumn=2;//แสดง3คอลัมน์ต่อ1แถว ถ้าต้องการให้แสดงกี่คอลัมน์ให้กำหนดตรงนี้
$strSQL2 = "SELECT * FROM product_color ORDER BY id ASC";
$objQuery2 = mysql_query($strSQL2);
$tr = ''; $chk_col=0; $color_ar = array();
while($ro = mysql_fetch_assoc($objQuery2)) $color_ar[]=$ro;
//////////////////////////////////////////////////////////////////////////////
$size = array( '32/70','34/75' );
//////////////////////////////////////////////////////////////////////////////
foreach($size as $size_key=>$size_nm){
?>
	<tr><td width="174" align="center" colspan="<?php echo $setColumn; ?>" >
			<input name="chksize[]" type="checkbox" value="<?php echo $size_key;?>" >
			<input name="sizenm[<?php echo $size_key;?>]" type="hidden" value="<?php echo $size_nm;?>" >
			<?php echo size_nm;?>
	</td></tr>
<?php
	$ColumnStart=0;//คอลัมน์เริ่มต้นเป็น 1 เสมอ
	foreach($color_ar as $key=>$ro){
		if($chk_col==0) echo '<tr>'; // ถ้า column แรก เปิด tag <tr>
		echo '
		<td>
			<table><tr>
				<td><input name="color['.$size_key.'][]" type="checkbox" value="'.$ro['color'].'" /> '.$ro['color'].' </td>
				<td width=168 align=center > จำนวน <input name="num['.$size_key.'][]" type="text" size=4 ></td>
			</tr></table>
		</td>';
		$chk_col = ($chk_col+1) % $setColumn;
		if( $chk_col==0) echo '</tr>'; // ถ้า column สุดท้าย  ปิด tag </tr>
	}
	//////////////////////////// เพิ่ม column ว่าง ให้ครบ
	for($chk_col; $chk_col<$setColumn; $chk_col++) echo '<td><td>';  
	echo '<tr>'; 
}



Code (PHP)
////////////////////////////////////////////////////////////////////////
//////////////////////////php ตัวรับ ///////////////////////////////////
if(isset($_POST["chksize"])){ // ตรวจสอบ checkbox ของ size
	$pd_id=intval($_POST['Product_id']);
	foreach($_POST['chksize'] as $size_key){
		$size_nm=mysql_real_escape_string($_POST['sizenm'][$size_key])
		if(isset($_POST['color'.$size_key]){  // ตรวจสอบ checkbox ว่ามีการเลือกมาอย่างน้อย 1 รายการหรือไม่
			foreach(($_POST['color'][$size_key] as $key=>$value ){
				$color=mysql_real_escape_string($value);
				$num=intval($_POST['chknum'][$size_key][$key]);
				$strSQL = "INSERT INTO product_size ";
				$strSQL .=" (Product_Id,Product_Size,Product_Color,size_num) ";
				$strSQL .=" VALUES ( $pd_Id, '$size_nm','$color', $num)";
				mysql_query($strSQL);
			}
		}
	}
}


แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 10:39:52 By : NewbiePHP
 


 

No. 5



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



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


ได้แบบนี้ครับ
dx

ส่วนหน้า php ตัวรับ ขึ้น error แบบนี้ครับ
ddx
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 14:03:45 By : ifirstinw
 


 

No. 6



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



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

169 วงเล็บปิดมันหายไปตัวครับ
ส่วน 170 วงเล็บเปิด เกินมาตัว 5555

ส่วน css ก็แก้ให้ได้ตามต้องการเองนะครับ ผมแค่ยกตัวอยาง โค๊ด

และผมไม่ได้ทดสอบน่ะครับคงมีตกหล่นบ้าง

ปล. อีกนิด
$chk_col++; เพิ่มบันทัดนี้ไปก่อน
32. for($chk_col; $chk_col<$setColumn; $chk_col++) echo '<td><td>';


ประวัติการแก้ไข
2015-09-14 14:45:13
2015-09-14 14:48:04
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 14:44:26 By : NewbiePHP
 


 

No. 7



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



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


บรรทัด 169 ครับ ยังติดอยู่

if(isset($_POST['color'.$size_key])){
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 15:08:45 By : ifirstinw
 


 

No. 8



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



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

if(isset($_POST['color'][$size_key])){
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 15:11:52 By : NewbiePHP
 


 

No. 9



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



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


เปลี่ยนดูเเล้วก็ยังไม่หายเลยครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 15:16:30 By : ifirstinw
 


 

No. 10



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



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

168 ปิดด้วย ; สงสัยต้องพักแล้ว หลุดหลายตัว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 15:37:26 By : NewbiePHP
 


 

No. 11



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



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


ทดสอบเเล้วครับ ไม่เข้า ฐานข้อมูล เลยครับผม
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 15:57:45 By : ifirstinw
 


 

No. 12



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



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

เช็คชื่อ ตัวแปร ตัวรับตัวส่งให้ดีครับ เหมือนกัน หรือ ต่างกัน แก้ไขให้ถูกครับ chknum กับ num มันคนละตัวกัน

ผมก็เบลอแล้ว หาเอาเองนะครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2015-09-14 16:04:37 By : NewbiePHP
 

   

ค้นหาข้อมูล


   
 

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