2017-08-25 4 views
0

私はウェブサイトを構築しており、ユーザーレビューをブートストラップカルーセルに表示したいと考えています。最新の3つのフィードバックだけを表示したい。最新のレビューには、クラスが「アクティブ」である必要があります。そのためには、テーブルに挿入した直後ではなく、ウェブサイト全体を通して最後のIDが必要です。MySQLデータベーステーブルの最後のIDを取得して変数に格納する方法

$sql = "SELECT MAX(id) FROM comments"; 

$result = $conn->query($sql); 
if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
    $last_id = $row["id"]; 
} 

私は新しい行を挿入した後last_idを取得する方法はありますけど、私はいつも最後の変数が必要になります。私はこれまでのところ、これを試してみました。誰もこれで私を助けることができますか?

+3

ように使用MAXを使用したい場合は

動作しません。 –

+0

'最新の3つのフィードバックのみを表示したいのですが、なぜこれの最大値(id)を知る必要がありますか? –

+0

最初のフィードバックには「アクティブ」のクラスが必要です。もっと効率的な方法があれば教えてください。あなたの助けをありがとう。 – Wilson

答えて

2
SELECT id FROM `comments` order by id desc limit 1 

SELECT MAX(id) FROM commentsのフィールド名を使用すると、結果はMAX(ID)と$ row ["id"]になります。あなたは、SQL =「コメントからIDとしてMAX(ID)を選択し、」この$にしてみてください、それは何か、このSELECT MAX(id) as id FROM comments

+0

なので、** SELECT MAX(id)FROMコメント** –

+2

のエラーは、この場合、結果のフィールド名はMAX(id)とthis $ row ["id"]になります。 maxをMAX(id)のようなものをidとして使用したい場合は動作しません。 – David

+0

はい。これもあなたの答えに加えてください。何を言います? –

0
// Create connection 
$conn = mysqli_connect($servername, $username, $password, $dbname); 
// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
$sql = "INSERT INTO MyGuests (firstname, lastname, email) 
VALUES ('John', 'Doe', '[email protected]')"; 

if (mysqli_query($conn, $sql)) { 
    //I guess this is the line you're lookin for 
    $last_id = mysqli_insert_id($conn); 
    echo "New record created successfully. Last inserted ID is: " . $last_id; 
} else { 
    echo "Error: " . $sql . "<br>" . mysqli_error($conn); 
} 
関連する問題