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,037

HOME > PHP > PHP Forum > ติดปัญหาในเรื่องการ update ไฟล์รูป และ ข้อมูลที่ไม่สามารถซ้ำได้ครับ



 

ติดปัญหาในเรื่องการ update ไฟล์รูป และ ข้อมูลที่ไม่สามารถซ้ำได้ครับ

 



Topic : 108680



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



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




มีปัญหาในเรื่องการ Update ครับ ไฟล์รูปที่ว่าง และ รหัสนักศึกษาที่ไม่ให้ซ้ำครับ

พอผมเลือกข้อมูลที่จะ Update มาแล้วจากนั้น ผมเลือก Update เฉพาะข้อมูลอื่น ที่ไม่ใช้ 2 ตัวนี้ (ค่าที่ไม่ได้เปลี่ยนก็อยู่ของมันเหมือนเดิม)

พอผมกดบันทึก ส่วนที่ใช้เช็ครูปมันก็เด้งขึ้นมาว่า ให้เลือกรูปนักศึกษา (เพราะว่ามันเป็นค่าว่าง (เช็คใน javascript))

ส่วนรหัสนักศึกษาที่เช็คว่าไม่ให้บันทึกซ้ำได้ (ค่าเก่ามันก็เหมือนเดิมใช่ไหมครับ (เช็คใน php))

แต่ผมไม่ได้จะ Update ตรงนี้ พอเวลาจะบันทึก มันก็เด้งว่า รหัสนักศึกษานี้ซ้ำ จะแก้ได้อย่างไรครับ

Code (PHP)
<script type="text/javascript">
   function fncSubmit()
   {
   // เช็ครูป
      if(document.studentAdd.stu_picture.value == "")
      {
         alert('กรุณาเลือกรูปนักศึกษา');
         document.studentAdd.stu_picture.focus();
         return false;
      }
      {
   // เช็คนามสกุลไฟล์รูป
         var extall="jpg, gif, png";

         file = document.studentAdd.stu_picture.value;
         ext = file.split('.').pop().toLowerCase();
         if(parseInt(extall.indexOf(ext)) < 0)
         {
            alert('กรุณาใช้ภาพนามสกุล  ' + extall + ' เท่านั้น');
            return false;
         }
      }
   // เช็ครหัสนักศึกษา 10 หลัก และเป็นตัวเลข
      if((document.studentAdd.number.value == "") || (isNaN(document.studentAdd.number.value)) || (document.studentAdd.number.value.length!=10))
      {
         alert('กรุณาระบุรหัสนักศึกษา 10 หลัก และเป็นตัวเลขเท่านั้น');
         document.studentAdd.number.focus();
         return false;
      }
   // เช็คเลขบัตรประชาชน 13 หลักและเป็นตัวเลขเท่านั้น
      if((document.studentAdd.stu_card.value == "") || (isNaN(document.studentAdd.stu_card.value)) || (document.studentAdd.stu_card.value.length!=13))
      {
         alert('กรุณาระบุเลขบัตรประชาชน 13 หลัก และเป็นตัวเลขเท่านั้น');
         document.studentAdd.stu_card.focus();
         return false;
      }
   // เช็คภาค
      if(document.studentAdd.rdo1.checked == false && document.studentAdd.rdo2.checked == false )
      {
         alert('กรุณาเลือกภาค');
         return false;
      }
   // เช็คคำนำหน้าชื่อ
      if(document.studentAdd.pre_id.value == "")
      {
         alert('กรุณาเลือกคำนำหน้าชื่อ');
         document.studentAdd.pre_id.focus();
         return false;
      }
   // เช็คชื่อ - นามสกุล
      if((document.studentAdd.stu_thname.value == "") || (document.studentAdd.stu_thname.value.replace(/^\s*|\s*$/g,"") == ""))
      {
         alert('กรุณาระบุชื่อ - นามสกุล');
         document.studentAdd.stu_thname.focus();
         return false;
      }
   // เช็คสาขาวิชา
      if(document.studentAdd.cou_id.value == "")
      {
         alert('กรุณาเลือกสาขาวิชา');
         document.studentAdd.cou_id.focus();
         return false;
      }
   // เช็คระดับ
      if(document.studentAdd.stu_level.value == "")
      {
         alert('กรุณาเลือกระดับ');
         document.studentAdd.stu_level.focus();
         return false;
      }
   document.studentAdd.submit();
   }
</script>

<?PHP
      // Insert
      if(isset($_POST['submit'])){
         $number      = $_POST['number'];
         $fileName    = date("YmdHis")."_".$_FILES["stu_picture"]["name"];
         if(move_uploaded_file($_FILES["stu_picture"]["tmp_name"],"upfile/".$fileName))
         $password    = "$stu_card";
         $stu_card    = $_POST['stu_card'];
         $pre_id      = $_POST['pre_id'];
         $stu_thname  = $_POST['stu_thname']; $stu_thname = trim($stu_thname);
         $stu_sector  = $_POST['stu_sector'];
         $cou_id      = $_POST['cou_id'];
         $stu_level   = $_POST['stu_level'];
         $cyp_id      = $_POST['cyp_id'];

         // เช็คไม่ให้มีรหัสนักศึกษาซ้ำ
         $sql = "SELECT * FROM student WHERE number = '$number'";
         $result = mysql_query($sql);
         if(mysql_num_rows($result) > 0){
            echo "<script>alert('มีรหัสนักศึกษา $number ในระบบแล้ว');history.back();</script>";
            exit();
         }else if(empty($stu_id)){
            $sql  = "INSERT INTO student (number, stu_picture, password, stu_card, stu_sector, pre_id, stu_thname, cou_id, stu_level, cyp_id)";
            $sql .= " VALUES ('$number','$fileName','$password','$stu_card','$stu_sector','$pre_id','$stu_thname','$cou_id','$stu_level','$cyp_id')";
         }else{
            $sql  = "UPDATE student SET number = '$number', stu_picture = '$fileName', password = '$password', stu_card = '$stu_card', stu_sector = '$stu_sector', pre_id = '$pre_id', stu_thname = '$stu_thname', cou_id = '$cou_id', stu_level = '$stu_level', cyp_id = '$cyp_id'";
            $sql .= " WHERE stu_id = '$stu_id'";
         }
         $result = mysql_query($sql);
                        
         echo "<script>alert('บันทึกข้อมูลเรียบร้อยแล้ว');window.location='studentView.php';</script>";
   }
?>


ใน form จะแสดงภาพแบบ preview อยู่ครับ แต่ type file ยังเป็นค่าว่าง

สามารถใช้ textbox ร่วมด้วยได้หรือป่าวครับแล้วให้ไปเช็คใน textbox เอา จะสามารถทำได้อย่างไรครับ
form

FORM ครับ
<form name="studentAdd" action="<?PHP $_SERVER['PHP_SELF']?>" method="post" enctype="multipart/form-data" onSubmit="JavaScript:return fncSubmit();">
   script type="text/javascript">//Preview รูป
      function showPreview(ele)
      {
         $('#imgAvatar').attr('src', ele.value); // for IE
         if (ele.files && ele.files[0]) {
         var reader = new FileReader();
         reader.onload = function (e) {
         $('#imgAvatar').attr('src', e.target.result);
      }
      reader.readAsDataURL(ele.files[0]);
      }
   }
   </script>
   <table width="100%" cellpadding="0" cellspacing="1" class="fmk">
      <tr>
         <th colspan="2">เพื่มรายชื่อนักศึกษา</th>
      </tr>
      <tr>
         <td colspan="2"><!-- บรรทัดว่าง --></td>
      </tr>
      <tr>
         <td><!-- บรรทัดว่าง --></td>
         <td>
            <img class="img" id="imgAvatar" src="<?if($show['stu_picture']==""){ echo "images/no_picture.jpg"; }else{ echo "upfile/".$show['stu_picture'].""; }?>" alt=""/>
         </td>
      </tr>
      <tr>
         <td width="30%">&emsp;รูป</td>
         <td width="70%">
            <input id="tmpPath" type="file" name="stu_picture" OnChange="showPreview(this)" style="display: none;"/>
            <input class="fil" type="button" name="tmpPath" onClick="stu_picture.click();tmpPath.value=stu_picture.value;" value="เลือกไฟล์"/>
            <font color="red">&nbsp;ไฟล์ jpg, gif, png เท่านั้น</font>
         </td>
      </tr>
      <tr>
         <td>&emsp;รหัสนักศึกษา</td>
         <td><input class="txt" type="text" name="number" maxlength="10" value="<?=$show['number']?>"/></td>
      </tr>
      <tr>
         <td>&emsp;เลขบัตรประชาชน</td>
         <td><input class="txt" type="text" name="stu_card"  maxlength="13" value="<?=$show['stu_card']?>"/></td>
      </tr>
      <tr>
         <td>&emsp;ภาค</td>
         <td>
            <input type="radio" name="stu_sector" id="rdo1" value="0" <?PHP if($show['stu_sector']=="0"){echo "checked";}?>/>ปกติ
            <input type="radio" name="stu_sector" id="rdo2" value="1" <?PHP if($show['stu_sector']=="1"){echo "checked";}?>/>กศ.ปช.
         </td>
      </tr>
      <tr>
         <td>&emsp;คำนำหน้า</td>
         <td>
            <select class="sel" name="pre_id">
               <option value="">เลือกคำนำหน้า</option>
               <?PHP
               $sqlPre = "SELECT * FROM prefix ORDER BY pre_name ASC";
               $resultPre = mysql_query($sqlPre);
                  while($showPre = mysql_fetch_array($resultPre)){
               if($show['pre_id'] == $showPre['pre_id']){ $sel="selected"; }else{$sel=""; }
               ?>
               <option value="<?=$showPre['pre_id']?>" <?=$sel;?>><?=$showPre['pre_name']?></option>
               <?PHP } ?>
            </select>
         </td>
      </tr>
      <tr>
         <td>&emsp;ชื่อ - นามสกุล</td>
         <td><input class="txt" type="text" name="stu_thname" value="<?=$show['stu_thname']?>"/></td>
      </tr>
      <tr>
         <td>&emsp;สาขาวิชา</td>
         <td>
            <select class="sel" name="cou_id">
               <option value="">เลือกสาขาวิชา</option>
               <?PHP
               $sqlCou = "SELECT * FROM course ORDER BY cou_name ASC";
               $resultCou = mysql_query($sqlCou);
                  while($showCou = mysql_fetch_array($resultCou)){
               if($show['cou_id'] == $showCou['cou_id']){ $sel="selected"; }else{$sel=""; }
               ?>
               <option value="<?=$showCou['cou_id']?>" <?=$sel;?>><?=$showCou['cou_name']?></option>
               <?PHP } ?>
            </select>
         </td>
      </tr>
      <tr>
         <td>&emsp;ระดับ</td>
         <td>
            <select class="sel" name="stu_level">
               <option value="">เลือกระดับ</option>
               <option value="0">ปริญญาตรี (4 ปี)</option>
            </select>
         </td>
      </tr>
      <tr>
         <td>&emsp;ประเภท</td>
            <?PHP
               $sql = "SELECT * FROM category_personnel WHERE cyp_id = '00003'";
               $result = mysql_query($sql);
               $show = mysql_fetch_array($result);
            ?>
         <td>
            <input type="hidden" name="cyp_id" value="<?=$show['cyp_id']?>"/>
            <input class="txt" type="text" name="cyp_name" disabled="disabled" value="<?=$show['cyp_name']?>"/>
         </td>
      </tr>
      <tr>
         <td colspan="2"><!-- บรรทัดว่าง --></td>
      </tr>
   </table><br/>
                    
   <input type="hidden" name="stu_id" value="<?=$show['stu_id']?>"/>
   <input class="btn" type="button" onclick="window.location.href='studentView.php'" style="float: left" value="แสดงรายชื่อ"/>
   <input class="btn" type="submit" name="submit" value="บันทึก"/>
</form>




Tag : PHP, JavaScript









ประวัติการแก้ไข
2014-05-27 12:13:05
2014-05-27 12:15:05
2014-05-27 12:16:04
2014-05-27 12:24:35
2014-05-27 12:26:47
2014-05-27 12:28:25
2014-05-27 13:16:49
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-05-27 12:12:09 By : sabaitip View : 811 Reply : 2
 

 

No. 1



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



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

สร้าง hidden field ซ่อนรหัสไว้ 2 ตัวครับ
ตัวที่ 1 อ้างอิงว่าเลือกรูปแล้ว
ตัวที่ 2 อ้างอิงว่าเป็นการอัพเดตนะ ไม่ต้องเช็ครหัสซ้ำหรอก เพราะไม่ใช่เพิ่มใหม่






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-28 08:01:36 By : {Cyberman}
 


 

No. 2



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



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


เรื่องรหัสนักศึกษาอ่ะครับ
ถ้าไม่เช็คว่าซ้ำหรือป่าว แล้วถ้าเรา update รหัสไปซ้ำกับที่มีอยู่อ่ะครับ
หรือว่าเค้าไม่เช็คกันตรงนี้อ่ะครับ
ถ้าจำเป็นต้องเช็ค สามารถใช้ javascript เช็คแบบเงื่อนไขอื่นๆได้หรือป่าวครับ
ผมหาอยู่หลายหนแต่ยังไม่เจอเลย


ประวัติการแก้ไข
2014-05-29 06:53:32
2014-05-29 06:55:30
2014-05-29 07:01:02
2014-05-29 07:23:53
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-05-29 06:51:38 By : sabaitip
 

   

ค้นหาข้อมูล


   
 

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