2017-12-26 12 views
0

私はPHPでフォームを作成し、入力された回答はmySQLデータベースに格納されています。 テーブルにIDを1ずつインクリメントして保存します 次のページでは、保存されたデータから回答を取り出して表示します。 しかし、これは以前に入力した回答も表示されます。 最後に入力したIDの回答のみを表示するにはどうすればよいですか? また、私はフォームページ上のMySQLデータベース私はどのようにデータフォームを最後のエントリをphp/htmlの出力としてSQLデータベースに格納します

+2

「ORDER BY id DESC」と「LIMIT 1」です。 –

+0

... ORDER BY id DESC LIMIT 1、制限1は最後のエントリだけを意味します – halojoy

+1

新しいエントリ([insert_id](http://php.net/manual/en/mysqli.insert-id) .php))、このIDを次のページに渡します。 – Jeff

答えて

0

からエントリを削除したくない:他のページで

session_start(); // At the top of the page 


$last_inserted_id = mysqli_insert_id($db); // Just after the mysql insert query 

// Save the id in session so that it is available on the next page 
$_SESSION['last_inserted_id'] = $last_inserted_id; 

session_start(); // At the top of the page 

if(isset($_SESSION['last_inserted_id'])){ 

    $the_last_inserted_id = $_SESSION['last_inserted_id']; 

    // Query now the database 

} 
0

どのように私は最後のIDからのみの回答を表示することができます入力?

$server = "localhost"; 
$user = "username"; 
$password = "password"; 
$db = "database"; 

$connection = new mysqli($server, $user, $password, $db); 
$sql= SELECT * FROM table ORDER BY id DESC LIMIT 1; 
$data = $conn->query($sql); 

if ($data->num_rows > 0) { 

    while($row = $data->fetch_assoc()) { 
     echo "id: " .$row["id"]; 
    } 
} 

「LIMIT 1」の子孫であるので、それは(あなたが挿入された最後のID番号が選択されることを意味しますあなただけのテーブルからわずか1行を取得したいということとDESC BY ORDERを考慮意味あなたが最高のID番号を取得することを意味します)

私の例は十分に願っています。

関連する問題