2013-04-02 2 views
0

привет у меня есть это MySQL заявление без предела, так что получит первую строку в порядке возрастания, но я хочу, чтобы получить титул второго ряда, аполучает выход второй строки из MySQL

$res = mysql_query("select * from tas where id='{$m_id}' "); 

после этого я могу выборки и получить первый выход без какого-либо вопроса раньше я был обязан получить идентификатор, так что я использовал этот

$nidf=$m_id-1; 

, но теперь мне нужно название предыдущей id.table состоит, если идентификатор, название, вид и т.д. й это знает можно легко сделать по этому запросу

$res2 = mysql_query("select * from tas where id='{$nidf}' "); 

, но я не хочу, чтобы выполнить второй запрос SYL и я хочу, чтобы узнать, как это может быть сделано без использования выше запроса

я косяк не использовать в то время, как мне нужно только второй титул и остальные thigs мне нужно для первой строки только

+1

Оставьте mysql, он устарел. Присоединиться к PDO: http://php.net/manual/en/intro.pdo.php –

ответ

2
SELECT * 
FROM tas 
WHERE id <= $m_id 
ORDER BY id DESC 
LIMIT 2 

извлечь все строки, которые имеют свой идентификатор указанный ИЛИ * МЕНЬШЕ, заказ этим идентификатором в порядке убывания, а затем возвращать только первые 2 строки в том, что упорядоченное множество. Это будет $ m_id, который вам нужен, и следующий сразу же нижний идентификатор.

+0

Я использую $ row = mysql_fetch_array ($ res); и после этого $ output = $ row ['title']; который даст выход первой строки, как получить вторую строку – tumbinkya