2014-02-12 43 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(); 
相关问题