2016-09-13 5 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을 해제 할 수 있습니다

이 코드가 작동합니다 :

공공 기능 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 속성 귀하의 DB에 열 emp_id합니다. UI에서 해당 EMP ID 필드를 제거하십시오.

AUTO_INCREMENT 속성은 새 행에 대한 고유 ID를 생성하는 데 사용할 수 있습니다. 수단은, AUTO_INCREMENT가 자동으로다는 EmpID에서 AUTO_INCREMENT을 포함하는 데이터베이스를 수정할 수 있습니다 각 INSERT query

Reference

+0

도와 주셔서 감사합니다. :) –

+0

게시물 중 어느 것이 유용하다면, 당신은 그 투표를 클릭하고 그 대답을 선택한다고 가정합니다. 그것은 다른 회원들을 도울 것입니다. – AkshayP

+0

오. ok2. 하하. :) 나는 아직도이 새로운, btw 감사합니다. –

0

에 해당 필드에 대한 새로운 증분 ID를 삽입합니다.

당신이 EMP001 같은다는 EmpID를 원한다면 당신은 <input type="text" name="emp" placeholder="Emp ID" required disabled />

+0

도와 주셔서 감사합니다. :) –

0

당신을 Emp ID 코드를 숨기고 input type="text"input type="hidden"으로 변경하고을 삭제할 수 있습니다. 양식에. 테이블에 EmpId의 경우 AUTO_INCREMENT을 사용하십시오.

관련 문제