GORAGOD.com

freelance, web developer, web designer, hosting, domain name

ถ้าไม่เลือก 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 4,091


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

<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 ขนาดไฟล์ไม่เกิน 2M
^