2017-12-19 18 views
0

tanggalwaktuフィールドの条件は、最大でidlumen_satu < 1000です。PHPでのMySQLクエリの問題

ここに私のコードは、私はそれを実行したとき、私は何も持っていない

<?php 
require_once 'koneksi.php'; 
$sql = "SELECT tanggal, waktu from nilai_lumen WHERE lumen_satu < 1000 AND id=(SELECT MAX(id) from nilai_lumen)"; 
$r = mysqli_query($conn,$sql); 

$data = mysqli_fetch_row($r); 
echo "$data[0] $data[1]" 

です。最後のデータベースの挿入は

です。その前にidを取得しますが、MAX(id)を使用しているため、最後にidがデータベースに挿入されています。

どうすればこの問題を解決できますか?私はここだと思うあなたの条件付き

+0

クエリが正しいようです。 FYI - 'max'は、最後に挿入されたIDの最大値を返します。 –

+0

idは自動インクリメントに設定されていますか? –

+0

はい、自動インクリメントに設定されていますが、結果に何も表示されないのはなぜですか – froz

答えて

3

あなたはlumen_satu < 1000とのidカラムはその後、あなたは、単に順を使用することができ、自動インクリメントに設定されている最大IDで行を選択したい場合は、

$sql = "SELECT tanggal, waktu from nilai_lumen WHERE id=(SELECT MAX(id) from nilai_lumen WHERE lumen_satu < 1000)"; 
+0

私は結果を得ました!あなたが彼にあなたが表示されるはずの感謝を言いたい場合は – froz

+0

@froz [SOに感謝を言う方法](https://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work) –

+1

私は正しいですか?私は正しいですか?私はちょうどアクティブにチェックリストのシンボルを与えています。 – froz

1

を望むものですリミット

SELECT tanggal, waktu 
FROM nilai_lumen 
WHERE lumen_satu < 1000 
ORDER BY id DESC 
LIMIT 1 
+0

あなたの答えは私よりも優れています。私はIDが自動インクリメントか、これに何の影響もないと思います –