ค่าใดค่านึงหรือหลายค่ามี null จะ insert ข้อมูลลง table ได้ค่าแรกค่าเดียว

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ค่าใดค่านึงหรือหลายค่ามี null จะ insert ข้อมูลลง table ได้ค่าแรกค่าเดียว

ค่าใดค่านึงหรือหลายค่ามี null จะ insert ข้อมูลลง table ได้ค่าแรกค่าเดียว
(php)

มีข้อมูลตัวเลขติดๆกันความยาว 42 ตัว ตัดเป็น 6 ตัวอักษร ได้ 7 ค่า  ทีนี้จะ insert into 7 ค่านี้ลง table 
ถ้ามีตัวเลขครบทั้ง 7 ค่า สามารถ insert ลง table ได้  แต่ถ้าค่าใดค่านึงหรือหลายค่าใน 7 นั้นเป็น null จะ insert ลง table ได้ค่าแรกค่าเดียว  

ต้องทำงัยอ่ะค่ะ

ตัวอย่าง code
$aa =  "".$code1."".$code2."".$code3."".$code4."".$code5."".$code6."".$code7."";

$num = $aa;
$b = preg_replace('|^(\d{6})(\d{6})(\d{6})(\d{6})(\d{6})(\d{6})(\d{6})|','$1-$2-$3-$4-$5-$6-$7',$num);
$b = explode("-", $b);
for($i=0;$i<count($b);$i++)
{
//echo "$b[$i]<br>";
$sql5 = "insert into emp3 
		values (null , '$b[$i]' , '$ndate1' , '$copy')"; 
$sqlquery5=mysql_db_query($dbname, $sql5);


Errorหน่อยๆ 203.107.236.xxx 11-10-2017 11:55:15

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
ถ้ามีตัวอย่าง ตัวเลข 42 ตัว ที่ error
และ 42 ตัวที่ไม่ error น่าจะพอแนะนำได้


ninenik 122.155.46.xxx 11-10-2017
 ความคิดเห็นที่ 2
ตัวเลขคือ $aa คะ
ตัวเลขจะติดกันแบบนี้ 123456123456123456123456123456123456123456
จะเก็บลง table เป็น 123456  7 ค่า  แต่ถ้ามีค่าเป็น null ไม่เอาค่า null คะ 


errorหน่อยๆ 203.107.236.xxx 11-10-2017 14:02
 ความคิดเห็นที่ 3
ถ้าเป็นตัวเลขเรียง 42 ตัว เราสามารถใช้ ฟังก์ชั่น str_split() แยกทีละ 6 ตัวได้
จะได้คาเป็น array แล้วเอาไปวนลูป บันทึกข้อมูล ดูโค้ดนี้เป็นแนวทาง
 
<?php
$data ="123456123456123456123456123456123456123456";
$arr_data = str_split($data,6);
foreach($arr_data as $k=>$v){
	echo $k." - ".$v."<br>";
}
?>
 
ถ้าต้องการเช็คต่อว่าค่าที่แยกเป็น null ไม่ต้องบันทึก ก็ใส่เงื่อนไขเพิ่มเข้าไป ให้บันทึกเฉพาะที่ไม่เป็น null
 
<?php
$data ="123456123456123456123456123456123456123456";
$arr_data = str_split($data,6);
foreach($arr_data as $k=>$v){
	if(!is_null($v)){
		echo $k." - ".$v."<br>";
	}
}
?>


ninenik 14.207.81.xxx 11-10-2017
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ