2016-09-13 144 views
0

我只想添加一個員工,之後員工ID也會增加。也是文本框必須被禁止自動增加員工ID

enter image description here

而且,這裏是我的代碼。我想要的只是在添加新員工時自動增加員工ID。我希望每個人都會幫助我。先謝謝你。 :)

<center> 
    <form class="contact_form" action="#" method="post"> 
      <h2>Register New Employee</h2> 
      <br/> 
      <table> 
       <tr> 
      <td><label for="emp">Emp ID:</label></td> 
      <td><input type="text" name="emp" placeholder="Emp ID" required /></td> 
     </tr> 
       <tr> 
      <td><label for="name">Name:</label></td> 
      <td><input type="text" name="fname" placeholder="First Name" required /> 
        <input type="text" name="lname" placeholder="Last Name" required /></td> 
     </tr> 
     <tr> 
      <td><label for="address">Address:</label></td> 
      <td><input type="text" name="address" placeholder="Full Address" required /></td> 
     </tr> 
     <tr> 
      <td><label for="contact">Contact:</label></td> 
      <td><input type="text" name="contact" placeholder="Contact Number" required /></td> 
     </tr> 
       <tr> 
        <td><label for="type">Type:</label></td> 
        <td><select name="type" id="type"> 
         <option>Type of Employee</option> 
         <option>Contractual</option> 
         <option>Regular</option> 
        </select> 
        </td> 
       </tr> 
       <tr> 
      <td><label for="salary">Salary:</label></td> 
      <td><input type="text" name="salary" placeholder="Emp Salary" required /></td> 
     </tr> 
     </table> 
      <br/> 
      <button class="submit" name="submit" type="submit" onclick="message()">Submit</button> 
      <button class="reset" name="reset" type="reset">Clear</button> 
     </form> 
     <?php 
     if (isset($_POST['submit'])) { 
      include 'alqdb.php'; 
       $emp=$_POST['emp']; 
       $fname= $_POST['fname']; 
       $lname=$_POST['lname']; 
       $address=$_POST['address']; 
       $contact=$_POST['contact']; 
       $type=$_POST['type']; 
       $salary=$_POST['salary']; 
      mysqli_query($con, "INSERT INTO employee (EmpID,EmpFName,EmpLName,EmpAddress,ContactNumber,TypeofEmployee,Salary) 
      VALUES ('$emp','$fname','$lname','$address','$contact','$type','$salary')"); 
     } 
     ?> 
    </center> 
</body> 
<script language="javascript"> 
    function message() { 
     alert("Successfully added!"); 
    } 
</script> 
+0

將這些查詢添加到表中EmpID INT NOT NULL AUTO_INCREMENT PRIMARY KEY – Prasad

+0

問題的一部分是,如果將其設置爲自動增量,則在數據庫中實際創建行之前,您不會知道密鑰是什麼。如果你只是希望它成爲表的主鍵,用戶永遠不需要看到它。請注意,ID實際上不是一個數字(即使它是一串數字),所以您通常需要某種主角。 –

+0

謝謝你的回答。我真的很感激,但你能編輯我的代碼嗎?想象它?先謝謝你。 :) –

回答

0

禁用input如果你想有一個的EmpID像EMP001

這個代碼將工作:

公共職能autoincemp()

{ 
    global $value2; 
    $query = "SELECT empid from tbemployee order by empid desc LIMIT 1"; 
    $stmt = $this->db->prepare($query); 
    $stmt->execute(); 

    if ($stmt->rowCount()>0) 
    { 
    $row=$stmt->fetch(PDO::FETCH_ASSOC); 

     $value2 =$row['empid']; 
     $value2 =substr($value2,3,5); 
     $value2 = (int)$value2 + 1; 
     $value2 = "EMP". sprintf('%04s',$value2); 

$value = $value2; 
return $value; 
    } 
    else { 
     $value2 = "EMP0001";  
    $value = $value2; 
    return $value; 
    } 
    } 
+0

我可以放在哪裏? :) –

+0

在將數據插入數據庫之前放置代碼 – Henry

+0

您可以向我展示它嗎?在我的代碼? –

0

廣場AUTO_INCREMENT屬性emp_id列在您的數據庫。從您的用戶界面中刪除該EMP ID字段。

AUTO_INCREMENT屬性可用於爲新行生成唯一標識。手段,AUTO_INCREMENT自動每個INSERT query

Reference

+0

謝謝你的幫助。 :) –

+0

如果有任何帖子是有用的,你應該投票並選擇該答案。這將有助於其他成員。 – AkshayP

+0

ohh。 OK2。哈哈。 :)我仍然是新的,順便說一句,謝謝。 –

0

插入新的遞增ID爲那場你可以修改你的數據庫中包括的EmpID AUTO_INCREMENT

您可以通過執行<input type="text" name="emp" placeholder="Emp ID" required disabled />

+0

感謝您的幫助Matu。 :) –

0

你可以隱藏Emp ID代碼並將input type="text"更改爲input type="hidden"並刪除required在您的窗體中。 現在只需在表格中使用AUTO_INCREMENT代替EmpId