2014-02-12 45 views
0

我知道這是一個基本問題,但我不能解決我如何修改我的查詢來顯示插入到該表中的最後一條記錄。如果我使用mysqli_query我想有這樣的事情(不完美的,因爲只是一個簡單的例子):Echo從數據庫使用Kohana的最後一條記錄

$stmt = DB::query(Database::SELECT, 'SELECT `fname`,`lname`,`postcode`,`email` FROM `mytable` ORDER BY `id` DESC LIMIT 1;) 
       VALUES (:fname, :lname, :postcode, :email)'); 
$stmt->execute(); 
$result=mysqli_query($stmt); 
echo "<table border='1'><tr><th>First Name</th></tr>"; 
while ($row = mysqli_fetch_assoc($result)){ 
echo "<tr>"; 
echo "<td>" . $row['fname'] . "</td>"; 
echo "</tr>"; 

在Kohana中我現在有這只不過它顯示的是所有的用戶,我只是想最後的工作以下罰款記錄/用戶插入顯示,我怎麼能實現從代碼的第一(mysqli的)位查詢到第二(Kohana的)

$results = DB::select('fname', 'lname', 'postcode', 'email')->from('mytable')->execute(); 
$users = $results->as_array(); 
foreach($users as $user) 
{ 
echo 'First Name: '.$user['fname']; 
echo 'Last Name: '.$user['lname']; 
echo 'Postcode: '.$user['postcode']; 
echo 'Email: '.$user['email']; 
} 

回答

1

你缺少使用的ORDER BYLIMIT,爲什麼不實現它們查詢生成器的方法order_by()limit()

$results = DB::select('fname', 'lname', 'postcode', 'email')->from('mytable') 
    ->order_by('id', 'DESC')->limit(1)->execute(); 
+1

運行完美!謝謝,我不知道如何正確設置'order_by()'和'limit()',這很容易。 –

0

或者,如果使用ORM

ORM::factory('table')->order_by('id', 'DESC')->limit(1)->find(); 
相關問題