2014-02-12 3 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>"; 

В Кохан я в настоящее время имею следующий, работает отлично, за исключением его отображение всех пользователей, и я просто хочу последний запись/пользователь вставлено будет отображаться, как можно реализовать запрос от первого (MySQLi) бит кода на второй (Кохана)

$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 BY и LIMIT, почему бы не реализовать их с помощью методы построения запросов 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(); 
Смежные вопросы