Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Как определить какая по счету строка

Сообщения:  [1-10]    [11-20]  [21-24] 

 
 автор: sotkom   (07.02.2009 в 08:59)   письмо автору
 
   для: sotkom   (06.02.2009 в 16:18)
 

все сделал, рассказываю может кому пригодится....
сортируем по id (от меньшего к большему ASC), достаем нужного юзера (а точнее его user_id), потом делаем следующий запрос:
SELECT COUNT(id) FROM `users` WHERE `id` <= '$user_id'

Показываем юзеру его место в таблице!

  Ответить  
 
 автор: sim5   (07.02.2009 в 05:01)   письмо автору
 
   для: nikita2206   (06.02.2009 в 21:27)
 

Дело в том, что порядок может быть "синхронным" или "асинхронным", если говорить не о первичном ключе, а именно о порядке.

Вы командир отделения, и у вас 4 бойца - Иванов, Петров, Сидоров, Николаев, и "на первый-второй расчитайсь" будет: 1 - Иванов, 2 - Петров, 1 - Сидоров, 2 - Николаев. Боец Петров натер мозоль сапогом, и попал в санчасть, теперь: 1 - Иванов, 2 - Сидоров, 1 - Николаев. При этом у вас, как у командира отделения, в общем списке, по алфавиту, Николаев будет идти всегда вторым, после Иванова. Но Николаеву это пофиг, ему дана команда расчитаться, он ее и выполняет. Это асинхронный порядок (нумерация).
Вы родственник Абрамовича, и он прикупил для вас футбольную команду, и у нее есть игроки под номерами: 15 - Иванов, 11 - Петров, 9 - Сидоров, 23 - Николаев. Во время матча может происходить замена - вместо выбывшего Петрова (11), будет играть Сидоров (9). Сидоров при этом никак не получит номера 11. Но при этом, все игроки, в табеле бухгалтера клуба, имеют другие идинтификационные номера, и для бухгалтера пофигу какой полевой номер у игрока, а для фанатов вашего клуба нет. Это синхронный порядок (нумерация).

Чего хочет автор, так и осталось загадкой.

  Ответить  
 
 автор: nikita2206   (06.02.2009 в 21:27)   письмо автору
 
   для: sotkom   (06.02.2009 в 19:22)
 

вы сначала должны понять что такое - порядковый номер.
если вы создадите в базе поле ИД с автоинкрементом, то при поступлении самой первой записи в БД, этот ИД у этой записи станет равным 1, вторая запись - 2, третья - 3.., n'ная - n. если вы удаляете одного пользователя, кпримеру 5'ого из 10, то 10'ый остается десятым зарегестрированым пользователем.... можно конечно сделать то что вы хотите при помощи циклов, но это во первых сильно замедлит работу системы при хотябы 10000 зарегестрированых пользователей, вовторых это бессмыслено всё....

  Ответить  
 
 автор: Valick   (06.02.2009 в 20:59)   письмо автору
 
   для: Trianon   (06.02.2009 в 19:46)
 

Что месяца не проходит, чтобы не нашелся очередной умник

Может полнолуние влияет?))))

  Ответить  
 
 автор: Trianon   (06.02.2009 в 19:46)   письмо автору
 
   для: Valick   (06.02.2009 в 17:16)
 

А что я могу думать?
Что первичный ключ это не поле порядкового номера.
Что если хочется второе иметь именно полем - следует таковое создать независимо от первичного ключа.
Что месяца не проходит, чтобы не нашелся очередной умник, утверждающий, что ему до зарезу надо первичным ключом перенумеровывать строки, которого приходится переубеждать.
Что на поисковый запрос "внавал" сервер выдает 24 темы.

  Ответить  
 
 автор: sotkom   (06.02.2009 в 19:22)   письмо автору
 
   для: Loki   (06.02.2009 в 19:18)
 

да, тоже самое почти, смысл тот же...

  Ответить  
 
 автор: Loki   (06.02.2009 в 19:18)   письмо автору
 
   для: sotkom   (06.02.2009 в 18:32)
 

Решал недавно такую задачку. Только мне надо было по рейтингу расположить. В итоге сделал вот так:
<?
$current_position
=$db->selectCell("SELECT COUNT(rating) FROM users WHERE rating>$var"); //где $var - рейтинг текущего пользователя.

  Ответить  
 
 автор: sotkom   (06.02.2009 в 18:44)   письмо автору
 
   для: sim5   (06.02.2009 в 18:40)
 

понятно, спасибо, буду пробовать подсказку Михая1982 - "select count (user_id) from users WHERE user_id<(select user_id from users where login='$login')", она по теме....

  Ответить  
 
 автор: sim5   (06.02.2009 в 18:40)   письмо автору
 
   для: sotkom   (06.02.2009 в 18:32)
 

Начните с этого читать:

>для: sotkom (06.02.2009 в 16:18)
>У таблицы нет верха, все записи внавал...

И далее по порядку. Или что, начинать полемику заново?

  Ответить  
 
 автор: sotkom   (06.02.2009 в 18:32)   письмо автору
 
   для: sim5   (06.02.2009 в 18:20)
 

я конечно извиняюсь, но я не знаю как еще проще выразиться....
Делаю запрос на выбор из строки
$q="select * from users where login='$login' ";
$r=@mysql_query($q);

Как определить какая по счету строка этого юзера от верха таблицы user?
Нужно показать пользователю его порядковый номер в таблице! Именно порядковый номер!!!!

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-24] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования