2013-11-10 5 views
0

Это то, что я до сих пор:Как получить наибольшее значение из поля таблицы

<?php 
$conexion = mysql_connect("localhost","root","root"); 
mysql_select_db("dejavu"); 
mysql_query("SET NAMES 'utf8'"); 

$consulta_año_emision = "SELECT `año_emision` FROM `serie` ORDER BY `año_emision` DESC LIMIT 1"; 
$resultado_año_emision = mysql_query($consulta_año_emision); 
?> 

<select> 
<?php 
    $año_actual = date("Y"); 
    for($año = $resultado_año_emision['año_emision']; $año <= $año_actual; $año++){ ?> 
     <option value="<?php echo $año; ?>"><?php echo $año; ?></option> 
<?php } ?> 

Что я пытаюсь acomplish это выбор, который содержит все года между этим годом (2013 г.), и самый низкий год, сохраненный в поле «año_emision» в моей базе данных. Что это за возвращение - все цифры между 1 и 2013 годами, что явно не то, что мне нужно. Кто-нибудь знает, как это исправить?

+0

Не хотите ли вы делать МЕЖДУ с помощью суб-выбора MIN для вашего первого параметра и вашего текущего года в качестве второго параметра? например, SELECT * FROM table WHERE year BETWEEN (SELECT MIN (year) FROM another_table) И $ max_year – TheStoneFox

ответ

1

Вы не выполнили mysql_fetch_assoc. нужно сделать что

$result = mysql_fetch_assoc($resultado_año_emision); 

после этой линии

$resultado_año_emision = mysql_query($consulta_año_emision); 
    $result = mysql_fetch_assoc($resultado_año_emision); 

затем в для использования петли, как этот

for($año = $result['año_emision']; $año <= $año_actual; $año++) 

Примечание: * mysql_ функции устарели. попробуйте использовать mysqli или PDO

+0

Я только что попробовал это, но теперь я просто получаю 2013, никакой другой ценности. EDIT: Nevermind, я понял, DESC был неправ, я пытался зацикливаться с 2013 по 2013 год, поэтому поэтому он показал только одно значение, спасибо чувак! – maurilop

Смежные вопросы