Подскажите, плз...
Делаю запрос на выбор из строки
$q="select * from users where login='$login' ";
$r=@mysql_query($q);
Как определить какая по счету строка этого юзера от верха таблицы mySQL? таблица сортируется, записи периодически удаляются из любого места таблицы, но новые добавляются только в конец таблицы.
sergeiss
6.02.2009 - 17:48
Вообще, обычно существуют юзеры с уникальными логинами (при правильной организации БД).
Если это так, то строк будет не более одной. Одна - если есть юзер с таким логином, и ноль - если такого юзера нету.
...или вопрос был не об этом?
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Цитата (sergeiss @ 6.02.2009 - 13:48) |
Вообще, обычно существуют юзеры с уникальными логинами (при правильной организации БД).
...или вопрос был не об этом? |
Это конечно, строка то конечно одна, нужно узнать какая она по счету в таблице!!!
sergeiss
6.02.2009 - 18:52
ОК, я понял, в чем вопрос.
Тогда появляется встречный вопрос: а ЗАЧЕМ это надо знать? Для выборки данных эта информация не нужна. В процессе модификации БД место позиция строки может меняться...
В то же время, стандартные механизмы выборки данных позволяют однозначно найти эту строку.
Так зачем же знать ее, эту позицию???
_____________
*
Хэлп по PHP*
Описалово по JavaScript *
Хэлп и СУБД для PostgreSQL*
Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги. *
"накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)
Нужно чтобы пользователю выводилось его фактическое место по счету в таблице... добавлять поле в таблицу проблематично, много править по скрипту придется (((( , а вот как бы сделать подсчет порядкового номера этого места при запросе????
sotkom, а уникальные id-шники у каждого юзера есть?
Если да, то можно просто решить - сортируем по айдишникам (от меньшего к большему ASC), достаем нужного юзера (а точнее его айдишник), потом делаем следующий запрос
SQL |
SELECT COUNT(*) FROM `users` WHERE `user_id` < '{$user_id}' |
Получаем количество юзеров у которых айди меньше чем у данного юзера.
Цитата (kirik @ 6.02.2009 - 19:28) |
Если да, то можно просто решить - сортируем по айдишникам (от меньшего к большему ASC), достаем нужного юзера (а точнее его айдишник), потом делаем следующий запрос
SQL | SELECT COUNT(*) FROM `users` WHERE `user_id` < '{$user_id}' |
Получаем количество юзеров у которых айди меньше чем у данного юзера.
|
благодарю, так и сделал, все получилось как надо, только не < , а <= поставил....
Быстрый ответ:
Powered by dgreen
Здесь расположена полная версия этой страницы.