A-AA+then

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

2,410
ถ้าไม่เลือก 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] มันเป็นค่าว่างค่ะ


4 ความคิดเห็น

    // ------------- หน้านี้ ฟอร์ม ค่ะ----------------------------------------
    <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
^