ถ้าไม่เลือก Checkbox ข้อมูลทั้งแถวไม่บันทึกในฐานข้อมูล

ถ้าไม่เลือก Checkbox (แบบ array)  ข้อมูลทั้งแถวไม่บันทึกในฐานข้อมูลนะคะ

คือว่า หนูทำการบันทึกข้อมูล โดยเลือก Checbox และให้ข้อมูลทั้งแถวบันทึกเข้าไปพร้อมกัน

แต่ว่า Checkbox ที่เลือกก็สามารถบันทึกข้อมูลได้ค่ะ แต่ว่า Checkbox ไหนไม่ได้เลือก

ค่าว่างของ textbox ที่อยู่ในแถวนั้น ๆ กับบันทึกเป็นค่าว่าง เลยทำให้ในฐานข้อมูลไม่ว่ามีตรงกันค่ะ



จะต้องเขียนโค้ดยังไงค่ะเพื่อที่จะไม่ให้มันบันทึกค่าว่างลงไปด้วย

รบกวนด้วยนะคะ ทำอยู่หลายวันแล้้วค่ะยังไม่ได้เลย 

ขอบคุณนะคะ

 ผลลัพธ์

//-----------------เป็น Checkbox----------------

value of Type[0]='T00001'

value of Type[1]='T00002'

value of Type[2]='T00004'

//-------------------เป็น textbox-----------------

value of SN[0]='S1'

value of SN[1]='S2'

value of SN[3]='S4'

**ซึ่งarray ตัวที่ [2] มันเป็นค่าว่างค่ะ





15 ก.พ. 2555 4 2,592


// ------------- หน้านี้ ฟอร์ม ค่ะ----------------------------------------

<center>


<form method="post"  name='form1' action="SaveEquip1.php?" >


<h4><font color=#6600FF> ::เพิ่มข้อมูล ::</h4>


<center>


<table>


<tr><td> IP : </td><td><input type = "Text" name ="IP"> </td> 


</tr>


</table>


<table border="1" cellspacing="1" cellpadding="0" >


<tr  bgcolor="#C0C0C0"><th >ประเภทอุปกรณ์ </th><th> Serail Number  </th><th> ยี่ห้อ </th><th> สี  </th><th>หมายเหตุ </th></tr>


<td>


 


<?//  --------------------------------------------------------------------- List Type -----------------------------------------------------


include("./connect.php");


 $sql1="select * from Type";


$query1= mySql_query($sql1) or die (mySql_error());


while($rs1=mysql_fetch_array($query1))


       {   $TID=$rs1[TID];


       $TName=$rs1[TName];


?>


</tr>


<tr>


 <td> <input type="checkbox" name="chkType[]" value=<?echo $TID?>>


 <? echo $TName ;?>


</td><td><input type = "text" name ="SN[]"></td>


<td>


<? //  ---------------------------------------------------------------------------------- List Brand ---------------------------------------------------


include("./connect.php");


$sql2="select * from Brand";


$query2=mySql_query($sql2) or die (mySql_error());


echo"<SELECT NAME='Brand[]'>";


echo"<OPTION VALUE=''>--------กรุณาเลือกยี่ห้อ----------";


while($rs2=mysql_fetch_array($query2))


       {   $BaID=$rs2[BaID];


       $BaName=$rs2[BaName];


   echo"<OPTION VALUE=$BaID>$BaName";


}


echo"</select>";


mysql_close();


?>


</td>


<td><input type="Text" name="Color[]" ></td>


<td><input type="Text" name="Note[]" ></td>


 <?} ?>


</td>


</tr>


</table>


<br>


<input type ="Submit" value ="บันทึก" >


<input type ="Reset" value ="ยกเลิก" >


</form>


 

#1


/----------------------------------/หน้า บันทึกค่ะ-----------------------------------

<?


  global $_POST, $_GET;


  include("./connect.php");


 $IP=  $_POST[IP];


$SN= $_POST[SN];


$Brand = $_POST[Brand];


$Type = $_POST[chkType];


$Color= $_POST[Color];


$Note = $_POST[Note];


 


//------------------------ตัดค่าว่างใน array---------------------------------------------------------


$SN = array_diff($SN,array(""));


$Brand = array_diff($Brand,array(""));


$Type = array_diff($Type,array(""));


$Color = array_diff($Color,array(""));


$Note = array_diff($Note,array(""));


//----------------------อ่านค่าตัวแปรออกมาดู----------------------------------------------------


foreach( $SN  AS $a => $SN1) {   


echo "value of SN[$a]='$SN1'<br />"; 


}


foreach( $Type AS $b => $Type1) {


echo "value of Type[$b]='$Type1'<br/>"; 


}


 


 


 for($i=0; $i<=count($Type); $i++) {


if($Type[$i]!="")                                             // วนลูปบันทึก


{


$sql ="insert into equipment(IP,SN,TID,BaID,Color,Note)  values('$IP','$SN[$i]','$Type[$i]','$Brand[$i]','$Color[$i]','$Note[$i]')  ";


$qry = mysql_query($sql) or die(mysql_error());


}


}    


          


?>

#2

#3

ขอบคุณมากนะคะ อาจารย์ 

ตอนนี้หนูบันทึกในฐานข้อมูลทำได้แล้วค่ะ ^-^



---------------------------------------------------------------

แต่ทำทดลองบันทึกในฟอร์มที่เป็น textbox ธรรมดาอ่ะคะ

แต่ว่าหนูต้องการจะ select ค่าจากฐานข้อมูลมาแสดงเพื่อที่จะทำการบันทึก

จะมี (type) ที่จะแสดงใน Checkbox

และ (Brand) ที่จะแสดงใน  Listbox คือว่าที่หนูเก็บค่าไว้ในฐานข้อมูลอ่ะคะ 



ตอนนี้กำลังพยายามทำอยู่ค่ะ

แนะนำด้วยนะคะ.ขอบคุณค่ะ.







#4
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^