2015-10-31 3 views
0

В приведенном ниже коде я буду показывать сообщения в таблице. Теперь для создания нагрузки больше функции мне нужно получить идентификатор последнего сообщения в таблице, но я не могу этого сделать, здесь $ID = $row['id']; получает меня от первого сообщения, может быть, потому что это внешний цикл и получить идентификатор последнего сообщения. Я должен разместить это код внутри цикла. Но где точно разместить его так, чтобы я получил идентификатор последнего сообщения, отображаемого в таблице.Получить идентификатор последнего сообщения, отображаемого в таблице

<?php 
$sql = "SELECT * FROM posts ORDER BY id desc limit 3"; 
$query = $db->prepare($sql); 
$query->execute(); 
$row = $query->fetch(PDO::FETCH_ASSOC); 
$ID = $row['id']; 
?> 

<table> 
<tr> 
<?php do { //horizontal looper?> 
<td> 
<div><h2><?php echo $row['title']; ?></h2></div>   
<div><p><?php echo $row['body']; ?></p></div> 
<img src='<?php echo $row['pic']; ?>'> 
<div><p><?php echo $row['about']; ?></p></div> 
</td> 
<?php 
$row = $query->fetch(PDO::FETCH_ASSOC); 
if (!isset($nested_List)) { 
$nested_List= 1; 
} 
if (isset($row) && is_array($row) && $nested_List++%3==0) { 
echo "</tr><tr>"; 
} 
} while ($row); //end horizontal looper 
?> 
</table> 
+1

Просто используйте '$ ID = $ db-> lastInsertId(); 'after' $ query-> execute();' –

+1

Возможный дубликат из [PDO получить последний ID вставлен] (http://stackoverflow.com/questions/10680943/pdo-get-the-last-id-inserted) –

+0

@Uchiha Я не говорю о таблице базы данных –

ответ

1

Попробуйте этот код: -

$ID1 = $row[0]['id'];//first id of table 
    $ID2 = $row[1]['id'];//2 id of table 
    $ID3 = $row[2]['id'];//3 id of table 

получить последний идентификатор: -

$sql = "SELECT * FROM posts ORDER BY id desc limit 1"; 
0

Попробуйте Этот запрос

<?php 
try { 
$dbh = new PDO('mysql:host=localhost;dbname=test', 'username', 'password'); 

$stmt = $dbh->prepare("INSERT INTO test (name, email) VALUES(?,?)"); 

    try { 
    $dbh->beginTransaction(); 
    $tmt->execute(array('user', '[email protected]')); 
    $dbh->commit(); 
    print $dbh->lastInsertId(); 
    } catch(PDOExecption $e) { 
    $dbh->rollback(); 
    print "Error!: " . $e->getMessage() . "</br>"; 
} 
} catch(PDOExecption $e) { 
    print "Error!: " . $e->getMessage() . "</br>"; 
} 
?> 
Смежные вопросы