скажем так есть такая структура:
id, user, foto, vote
1 Dimon 3.jpg 17
2 Vano 4.jpg 51
3 Lerka 5.jpg 7
4 Dimon 9.jpg 15
Я хочу выбрать на каком месте фотграфия по рейтингу для пользователя Dimon
Должно выдать: Ваша фотография(3.jpg) Dimon на 2 месте
Спустя 10 минут, 1 секунда (4.02.2010 - 22:51) sergeiss написал(а):
Цитата (web-monster @ 4.02.2010 - 23:41) |
скажем так есть такая структура: |
Структура-то где? В базе данных? Или в файле? Или вручную вводится?
Спустя 2 минуты, 53 секунды (4.02.2010 - 22:54) web-monster написал(а):
id, user, foto, vote
1 Dimon 3.jpg 17
2 Vano 4.jpg 51
3 Lerka 5.jpg 7
4 Dimon 9.jpg 15
В базе данных..
Спустя 1 минута, 4 секунды (4.02.2010 - 22:55) sergeiss написал(а):
А в чем тогда проблема? Сортируй по нужному полю.
Спустя 2 минуты (4.02.2010 - 22:57) web-monster написал(а):
Мне нужно узнать на каком месте находится фотка, из максимальных голосов..
Спустя 18 минут, 41 секунда (4.02.2010 - 23:16) Ice написал(а):
"Чо-та ка-та так"(с)
$sql = "SELECT * FROM `bla-bla` ORDER BY vote DESC")
$sqlex = mysql_query($sql);
$i = 0
while($row = mysql_fetch_assoc($sqlex)){
echo $row['user'] . ", твоя фотка на " . ++$i . " месте<br>";
}
Спустя 6 минут, 55 секунд (4.02.2010 - 23:23) web-monster написал(а):
$sql = mysql_query("SELECT * FROM `foto` ORDER BY vote DESC");
$i = 0;
while($row = mysql_fetch_assoc($sql)){
echo $row['user'] . ", твоя фотка на " . ++$i . " месте<br>";
}
Так он выведет все фотки, а как сделать чтобы вывел именно самую высокую по рейтингу фотку пользователя Dimon к примеру?
Спустя 9 минут, 59 секунд (4.02.2010 - 23:33) Ice написал(а):
SELECT * FROM `foto` ORDER BY vote DESC LIMIT 1
Спустя 22 секунды (4.02.2010 - 23:33) sergeiss написал(а):
Цитата (web-monster @ 5.02.2010 - 00:23) |
а как сделать чтобы вывел именно самую высокую по рейтингу фотку пользователя Dimon к примеру? |
Вот тут http://phpclub.ru/mysql/doc/select.html подробно написано.
Спустя 1 минута, 22 секунды (4.02.2010 - 23:35) Adil написал(а):
Ну id же этого пользователя ты знаешь. Вот по нему и определяй.
Спустя 38 минут, 13 секунд (5.02.2010 - 00:13) web-monster написал(а):
Да это понятно, но если сделать так
ТО он выведет что твоя фотка на 1 месте всегда, может я не правильно описал цель.. Но мне нужно узнать именно место фотографии а не вывести самую высокую.. Если передо мной ещё 40 человек имеют более высокие оценки, мне надо вывести что моя фотка на 41 месте!
$sql = mysql_query("SELECT * FROM `foto` WHERE user='Dimon' ORDER BY vote DESC LIMIT 1");
$i = 0;
while($row = mysql_fetch_assoc($sql)){
echo $row['user'] . ", твоя фотка на " . ++$i . " месте<br>";
}
ТО он выведет что твоя фотка на 1 месте всегда, может я не правильно описал цель.. Но мне нужно узнать именно место фотографии а не вывести самую высокую.. Если передо мной ещё 40 человек имеют более высокие оценки, мне надо вывести что моя фотка на 41 месте!
Спустя 7 минут, 36 секунд (5.02.2010 - 00:20) Ice написал(а):
а зачем так делать?
Спустя 2 минуты, 43 секунды (5.02.2010 - 00:23) web-monster написал(а):
Мне нужно узнать именно место фотографии а не вывести самую высокую.. Если передо мной ещё 40 человек имеют более высокие оценки, мне надо вывести что моя фотка на 41 месте!
Спустя 35 секунд (5.02.2010 - 00:24) Ice написал(а):
Цитата (web-monster @ 5.02.2010 - 00:23) |
Так он выведет все фотки, а как сделать чтобы вывел именно самую высокую по рейтингу фотку пользователя Dimon к примеру? |
а это чьи слова?
Спустя 6 минут, 22 секунды (5.02.2010 - 00:30) web-monster написал(а):
Да косякнул я чего-то c описанием)
Сейчас сделал так:
Но незнаю правильно так будет или нет?
Сейчас сделал так:
$sql = mysql_query("SELECT * FROM `foto` ORDER BY vote DESC");
$i = 0;
while($row = mysql_fetch_assoc($sql)){
++$i;
if($row['user']=="Dimon")
{
$mesto = $i;
break;
}
}
echo "$mesto";
Но незнаю правильно так будет или нет?
Спустя 8 минут, 19 секунд (5.02.2010 - 00:38) web-monster написал(а):
В скрипте будет $logname вместо Димон, я просто для наглядности изменил)
Спустя 4 минуты, 49 секунд (5.02.2010 - 00:43) glock18 написал(а):
что-то типа
select (count(t2.id) + 1) as yourOrder from table t1, table t2 where t1.name = 'dimon' and t2.vote > t1.vote;