Проблем с FIRST() функцията

BarooToo

Registered
Здравейте! Проблемът ми е следния - имам таблица (avtomobili) в която една от колоните се казва например "marki". В тази колона на първо място е "БМВ", после е "Мерцедес" и накрая "Опел". Искам в PHP да използвам първата марка от колоната (БМВ) и да я покажа. Пиша си
Код:
$koli=  mysql_query("SELECT first(marki) FROM avtomobili");
и резултата е   :D. Отидох после в phpMyAdmin-a и се пробвах да го напиша там кода (SELECT first(marki) FROM avtomobili) и ми изписа следната грешка -
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '(marki) FROM `avtomobili` LIMIT 0, 30' at line 1
. Някакви идей? :?
 
такова нещо не съм чувал и виждал в mysql FIRST

може да пробваш така

$res= mysql_query("SELECT `marki` FROM `avtomobili` ORDER BY `marki`");
$r = mysql_fetch_row($res);
echo $r[0];

това горе е за един резултат, атова ще ти ги изведе всички по азбучен ред, като първи са тези на латиница, вторите на кирилица

$res= mysql_query("SELECT `marki` FROM `avtomobili` ORDER BY `marki`");
while($r = mysql_fetch_assoc($res)){
echo $r['marki'];

}
 
Да да... обходи всички записи и земи един...

Вместо
PHP:
$res= mysql_query("SELECT `marki` FROM `avtomobili` ORDER BY `marki`");
$r = mysql_fetch_row($res);
echo $r[0];

Си ползваш просто
PHP:
$res= mysql_query("SELECT `marki` FROM `avtomobili` ORDER BY `marki` ASC LIMIT 1");
$r = mysql_fetch_row($res);
echo $r['marki'];

Така в взема само 1вия запис от подредните по азбучен ред

и дори горния код е грешен... след order by `field` трябва да има ASC(низходящо)/DESC(възходящо)!
 
IzKuFeLiQqQqQ каза:
Да да... обходи всички записи и земи един...

Вместо
PHP:
$res= mysql_query("SELECT `marki` FROM `avtomobili` ORDER BY `marki`");
$r = mysql_fetch_row($res);
echo $r[0];

Си ползваш просто
PHP:
$res= mysql_query("SELECT `marki` FROM `avtomobili` ORDER BY `marki` ASC LIMIT 1");
$r = mysql_fetch_row($res);
echo $r['marki'];

Така в взема само 1вия запис от подредните по азбучен ред

и дори горния код е грешен... след order by `field` трябва да има ASC(низходящо)/DESC(възходящо)!

грешка в кода няма, по дефолт взема автоматично ASC, прочети малко преди да пишеш глупости
 
embaka каза:
...
грешка в кода няма, по дефолт взема автоматично ASC, прочети малко преди да пишеш глупости
Дефакто грешки няма, но логиката на кода е доста объркана.На момчето му трябва 1 ред от цялата таблица.С твоята за заявка го караш да селектне всички, ок то работи, но ако има 100К записа, ще е мега бавно.

И още нещо, цикъл се върти когато имаш няколко действия последователни, а тук имаш едно просто няма никакъв смисъл от това.А колкото кода е изчистен от ненужни неща толкова е по добър.
 

Горе