2017-03-25 1 views
1

나는 mysql 데이터베이스에 항목을 추가하는 PHP 양식이 있습니다. 나는 자동으로 번호가 매겨진 PHP 폼의 숫자 필드를 갖기 위해 노력하고있다. 따라서 각 항목에 대해 직접 번호를 입력해야하는 대신 번호 필드 상자에 자동으로 표시되며 다음 항목에서 자동으로 다음 숫자로 증가합니다. phpmyadmin의 숫자 필드를 자동 증가로 설정했습니다. 누군가가 이것을 코딩하는 법을 보여줄 수 있다면 정말 고맙겠습니다.자동 전화 번호 양식 필드

다음은 현재 사용중인 PHP 코드 및 HTML입니다.

PHP 코드

<html> 
<head> 
    <title>Add Data</title> 
</head> 

<body> 
<?php 
//including the database connection file 
include_once("config.php"); 

if(isset($_POST['Submit'])) {  
    $Number = $_POST['Number']; 
    $Link = $_POST['Link']; 
    $Article = $_POST['Article']; 
    $Date = $_POST['Date']; 
    $Name = $_POST['Name']; 

    // checking empty fields 
    if(empty($Number) || empty($Link) || empty($Article) || empty($Date) || empty($Name)) { 

     if(empty($Number)) { 
      echo "<font color='red'>Number field is empty.</font><br/>"; 
     } 

     if(empty($Link)) { 
      echo "<font color='red'>Link field is empty.</font><br/>"; 
     } 

     if(empty($Article)) { 
      echo "<font color='red'>Article field is empty.</font><br/>"; 
     } 

     if(empty($Date)) { 
      echo "<font color='red'>Date field is empty.</font><br/>"; 
     } 

     if(empty($Name)) { 
      echo "<font color='red'>Name field is empty.</font><br/>"; 
     } 
     //link to the previous page 
     echo "<br/><a href='javascript:self.history.back();'>Go Back</a>"; 
    } else { 
     // if all the fields are filled (not empty) 

     //insert data to database   
     $sql = "INSERT INTO crypto(Number, Link, Article, Date, Name) VALUES(:Number, :Link, :Article, :Date, :Name)"; 
     $query = $dbConn->prepare($sql); 

     $query->bindparam(':Number', $Number); 
     $query->bindparam(':Link', $Link); 
     $query->bindparam(':Article', $Article); 
     $query->bindparam(':Date', $Date); 
     $query->bindparam(':Name', $Name); 
     $query->execute(); 

     // Alternative to above bindparam and execute 
     // $query->execute(array(':Number' => $Number, ':Date' => $Date, ':Name' => $Name, ':Link' => $Link, ':Article' => $Article)); 

     //display success message 
     echo "<font color='green'>Data added successfully."; 
     echo "<br/><a href='index.php'>View Result</a>"; 
    } 
} 
?> 
</body> 
</html> 

HTML 코드

<html> 
<head> 
    <title>Add Data</title> 
    <!-- append ?v=2 to icon url --> 
    <link rel="shortcut icon" href="/logo.jpg"> 
    <link rel="apple-touch-icon" href="/logo.jpg" /> 
</head> 

<body> 
    <a href="index.php">Home</a> 
    <br/><br/> 

    <form action="add.php" method="post" name="form1"> 
     <table width="25%" border="0"> 
      <tr> 
       <td>Number</td> 
       <td><input type="text" name="Number"></td> 
      </tr> 
         <tr> 
       <td>Link</td> 
       <td><input type="text" name="Link" style="width: 450px;" /></td> 

      </tr> 
      <tr> 
       <td>Article</td> 
       <td><input type="text" name="Article" style="width: 800px;" /></td> 

      </tr> 
      <tr> 
       <td>Date</td> 
       <td><input type="text" name="Date"></td> 
      </tr> 
      <tr> 
       <td>Name</td> 
       <td><input type="text" name="Name"></td> 
         </tr> 
      <tr> 
       <td></td> 
       <td><input type="submit" name="Submit" value="Add"></td> 
      </tr> 
     </table> 
    </form> 
</body> 
</html> 
+1

숫자가 SQL의 자동 증가 일 경우 새 레코드를 추가하는 동안 해당 값을 제공 할 필요가 없습니다. –

답변

2

당신이 하나를 만들 수 있습니다 자동 증가와 기본 키를하지 않은 (또는 생성에 직접 테이블을 만들 수)

ALTER TABLE crypto CHANGE Number Number INT(10) AUTO_INCREMENT PRIMARY KEY; 

그러면 자동으로 관리되기 때문에이 열은 필요하지 않음).

$sql = "INSERT INTO crypto(Link, Article, Date, Name) 
       VALUES(:Link, :Article, :Date, :Name)";