[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как определить какая по счету строка
sotkom
Подскажите, плз...
Делаю запрос на выбор из строки
$q="select * from users where login='$login' ";
$r=@mysql_query($q);

Как определить какая по счету строка этого юзера от верха таблицы mySQL? таблица сортируется, записи периодически удаляются из любого места таблицы, но новые добавляются только в конец таблицы.
sergeiss
Вообще, обычно существуют юзеры с уникальными логинами (при правильной организации БД).
Если это так, то строк будет не более одной. Одна - если есть юзер с таким логином, и ноль - если такого юзера нету.

...или вопрос был не об этом?

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
sotkom
Цитата (sergeiss @ 6.02.2009 - 13:48)
Вообще, обычно существуют юзеры с уникальными логинами (при правильной организации БД).

...или вопрос был не об этом?

Это конечно, строка то конечно одна, нужно узнать какая она по счету в таблице!!!
sergeiss
ОК, я понял, в чем вопрос.

Тогда появляется встречный вопрос: а ЗАЧЕМ это надо знать? Для выборки данных эта информация не нужна. В процессе модификации БД место позиция строки может меняться...
В то же время, стандартные механизмы выборки данных позволяют однозначно найти эту строку.
Так зачем же знать ее, эту позицию???

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
sotkom
Нужно чтобы пользователю выводилось его фактическое место по счету в таблице... добавлять поле в таблицу проблематично, много править по скрипту придется (((( , а вот как бы сделать подсчет порядкового номера этого места при запросе????
kirik
sotkom, а уникальные id-шники у каждого юзера есть?
Если да, то можно просто решить - сортируем по айдишникам (от меньшего к большему ASC), достаем нужного юзера (а точнее его айдишник), потом делаем следующий запрос
SQL
SELECT COUNT(*) FROM `users` WHERE `user_id` < '{$user_id}'

Получаем количество юзеров у которых айди меньше чем у данного юзера.
sotkom
Цитата (kirik @ 6.02.2009 - 19:28)
Если да, то можно просто решить - сортируем по айдишникам (от меньшего к большему ASC), достаем нужного юзера (а точнее его айдишник), потом делаем следующий запрос
SQL
SELECT COUNT(*) FROM `users` WHERE `user_id` < '{$user_id}'

Получаем количество юзеров у которых айди меньше чем у данного юзера.

благодарю, так и сделал, все получилось как надо, только не < , а <= поставил....
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.