2017-06-25 4 views
0

私の大学のデータベースプロジェクトでは、自分のSQLに自動増分フィールドロールナンバーがあります。私が望むのは、新しい入学が行われ、生徒記録が挿入されると、ロール番号を含む同じページにすべての検索が表示されるということです。しかし、私の最善の努力にもかかわらず、すべてロール数で0を返します。ここで自動インクリメントデータフォームをPHPで表示する方法

コードです:

<?php 

$con = mysqli_connect("localhost", "root", "") or die("conection error"); 
mysqli_select_db($con, "hamdard university") or die("dbase error"); 

if (isset($_POST['subbtn'])) { 

    $r  = "SELECT RollNo FROM admission_form"; 
    $result = mysqli_query($con, $r); 
    if (mysqli_query($con, $r)) { 
     $last_id = mysqli_insert_id($con); 
    } 


    $n = $_POST['txtname']; 
    $f = $_POST['txtfac']; 
    $s = $_POST['txtsem']; 

    $sql = "insert into admission_form(name,faculty,semester)values    ('$n','$f','$s')"; 
    mysqli_query($con, $sql); 



    echo "<table border=1> 
      <th>RollNo</th> 
      <th>Name</th> 
      <th>Faculty</th> 
      <th>Semester</th>"; 



    echo "<tr>"; 

    echo "<td>"; 
    echo $last_id; 
    echo "</td>"; 

    echo "<td>"; 
    echo $n; 
    echo "</td>"; 

    echo "<td>"; 
    echo $f; 
    echo "</td>"; 

    echo "<td>"; 
    echo $s; 
    echo "</td>"; 

    echo "<br>"; 


} 
?> 

<html> 

<head></head> 

<body> 
    <form name="f1" action="" method="POST"> 
     RollNo: 
     <input type="text" name="txtroll" readonly> Name: 
     <input type="text" name="txtname"> Faculty: 
     <input type="text" name="txtfac"> Semester: 
     <input type="text" name="txtsem"> 
     <input type="submit" value="done" name="subbtn"> 
    </form> 
</body> 

</html> 
+0

?多分あなたは友達を意味しますか?もしそうなら、友情はどのように記録されますか? – Strawberry

答えて

1

あなたは、INSERTクエリ

$sql="insert into admission_form(name,faculty,semester)values ... 
mysqli_query($con,$sql); 
$last_id = mysqli_insert_id($con); 
0

後にあなたがINSERTクエリを置き忘れてきたGET $ last_idを必要としています。それを変更します。

<?php 

$con=mysqli_connect("localhost","root","")or die("conection error"); 
mysqli_select_db($con,"hamdard university")or die("dbase error"); 

if(isset($_POST['subbtn'])) 
{ 

$sql="insert into admission_form(name,faculty,semester)values    ('$n','$f','$s')"; 

if (mysqli_query($con, $sql)) 
{ 
$last_id = mysqli_insert_id($con); 
} 


$n=$_POST['txtname']; 
$f=$_POST['txtfac']; 
$s=$_POST['txtsem']; 



$r="SELECT RollNo FROM admission_form"; 
$result=mysqli_query($con, $r); 


echo  "<table border=1> 
     <th>RollNo</th> 
     <th>Name</th> 
     <th>Faculty</th> 
     <th>Semester</th>"; 



    echo "<tr>"; 

    echo "<td>"; 
    echo $last_id; 
    echo "</td>"; 

    echo "<td>"; 
    echo $n; 
    echo "</td>"; 

    echo "<td>"; 
    echo $f; 
    echo "</td>"; 

    echo "<td>"; 
    echo $s; 
    echo "</td>"; 

    echo "<br>"; 


} 
?> 

<html> 
<head></head> 
<body> 

<form name="f1" action="" method="POST"> 

RollNo:<input type="text" name="txtroll" readonly> 
Name:<input type="text" name="txtname"> 
Faculty:<input type="text" name="txtfac"> 
Semester:<input type="text" name="txtsem"> 
<input type="submit" value="done" name="subbtn"> 

</form> 
</body> 
</html> 
0

はこれを試してみてください:

$mysqli = new mysqli(SQLI_SERVER, MYSQLI_USER, MYSQLI_PWD, MYSQLI_DBNAME); 
if ($result = $mysqli->query("INSERT INTO admission_form(name, facility,semester) VALUES..) { 
    echo 'The ID is: '.$mysqli->insert_id; 
} 
0

このページではいくつかの問題を持っています。

  1. 前述したように、INSERクエリはselectの前にある必要があります。
  2. 「SELECT rollNo FROM admission_form」を実行すると、最新のものではなく、すべての既存RollNoがadmission_formに追加されます。これが自動インクリメントの整数(継ぎ目)であれば、 "SELECT max(RollNo)FROM admission_form"を実行する必要があります。
  3. 上記の選択を行う必要はありません。これは、mysqli_insert_idが最後のクエリに挿入されたIDを取得するためです。
  4. テーブルの結果がHTMLヘッド上にあるため表示されないことがありますが、ページの本文にあるはずです。
  5. 作成するテーブルは「閉じられていません」。

次のコードを使用するとよいでしょう。

<HTML> 
<HEAD></HEAD> 
<BODY> 
<?php 
$con=mysqli_connect("localhost","root","")or die("conection error"); 
mysqli_select_db($con,"hamdard university")or die("dbase error"); 

if(isset($_POST['subbtn'])) 
{ 
    $n=$_POST['txtname']; 
    $f=$_POST['txtfac']; 
    $s=$_POST['txtsem']; 

    $sql="insert into admission_form(name,faculty,semester) values    ('$n','$f','$s')"; 

    if (mysqli_query($con, $r)) 
    { 
    $last_id = mysqli_insert_id($con); 
    } 

echo  "<table border=\"1\"><th>RollNo</th> <th>Name</th> <th>Faculty</th> <th>Semester</th>"; 

    echo "<tr>"; 

    echo "<td>"; 
    echo $last_id; 
    echo "</td>"; 

    echo "<td>"; 
    echo $n; 
    echo "</td>"; 

    echo "<td>"; 
    echo $f; 
    echo "</td>"; 

    echo "<td>"; 
    echo $s; 
    echo "</td>"; 

    echo "</tr></table>"; 


} 
?> 

<form name="f1" action="" method="POST"> 

RollNo:<input type="text" name="txtroll" readonly> 
Name:<input type="text" name="txtname"> 
Faculty:<input type="text" name="txtfac"> 
Semester:<input type="text" name="txtsem"> 
<input type="submit" value="done" name="subbtn"> 

</form> 
</body> 
</html> 
関連する問題