2017-03-25 18 views
1

私はmysqlデータベースにエントリを追加するPHPフォームを持っています。私は、PHPフォームの番号フィールドに自動的に番号を付けようとしています。そのため、各エントリの番号を自分で入力するのではなく、自動的に番号フィールドボックスに表示され、次のエントリの次の番号に自動的に増加します。 phpmyadminの数字フィールドを自動インクリメントに設定しました。もし誰かがこれをコード化する方法を私に見せることができたら、本当に感謝しています。自動番号PHPフォームフィールド

ここに私が現在使っている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

数値が新しいレコードの追加中に値を提供する必要はありません。 –

答えて

2

あなたは1を作成することができ、自動インクリメントの主キーを持っていない(または作成に直接でテーブルを作成する)

ALTER TABLE crypto CHANGE Number Number INT(10) AUTO_INCREMENT PRIMARY KEY; 
関連する問題