Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Циклическая выборка данных, Топ-Голосовавших 
V
    Опции темы
AtomoS
Дата 3.1.2010, 06:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 30.8.2009

Репутация: нет
Всего: нет



Имеется таблица character_vote и страница vote_top.php
Код

-- ----------------------------
-- Table structure for character_vote
-- ----------------------------
CREATE TABLE `character_vote` (
  `id` int(11) NOT NULL auto_increment,
  `char_name` varchar(255) character set utf8 NOT NULL,
  `date` varchar(255) character set utf8 NOT NULL,
  `ip` char(15) character set utf8 default NULL,
  PRIMARY KEY  (`id`));

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `character_vote` VALUES ('1', 'AtomoS', '2009-12-16', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('2', 'MettcoForte', '2009-12-28', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('3', 'MettcoForte', '2009-12-05', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('4', 'JoJoLoLo', '2009-12-02', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('5', 'JoJoLoLo', '2009-12-24', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('6', 'JoJoLoLo', '2009-12-12', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('7', 'JoJoLoLo', '2009-12-14', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('8', 'JoJoLoLo', '2009-12-13', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('9', 'MettcoForte', '2009-12-24', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('10', 'AtomoS', '2009-12-26', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('11', 'AtomoS', '2009-12-22', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('12', 'AtomoS', '2009-12-21', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('13', 'AtomoS', '2009-12-17', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('14', 'AtomoS', '2009-12-03', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('15', 'MettcoForte', '2008-12-12', '127.0.0.1');
INSERT INTO `character_vote` VALUES ('16', 'Fuck', '2008-13-13', '127.0.0.1');

Код

<?

$db = mysql_connect("localhost", "root", "root");
mysql_select_db ("test");

mysql_query("SET NAMES cp1251");

$i = 1; 
$r = 255;

$page_result = "<tr>
<th align=center>Место</th>
<th align=center>Ник</th>
<th align=center>Количество голосов</th>
</tr>";

$page_sql = "SELECT DISTINCT char_name FROM character_vote;";
$sql = mysql_query($page_sql);

while ( $row=mysql_fetch_row($sql) )
{
    $page_sql2 = "SELECT count(*) FROM character_vote WHERE char_name='$row[0]' LIMIT 10;";
    $link2 = mysql_query($page_sql2);
    $vote = mysql_fetch_row($link2);
    
    $page_result .= "<tr>
    <td align=center>$i</span></td>
    <td align=center>$row[0]</td>
    <td align=center>".$vote[0]."</td>
    </tr>";
    $i++;
    $r -= 0;

};
?>

<table width='100%' border='0' cellspacing='0' cellpadding='0'>
<? echo "$page_result"; ?>
</table>


Моя задача составить Топ - Голосовавших.

Странича будет состоять из 3х столбцов: Место, Ник, Кол-во Голосов.
Места распределяются по числу голосов того или иного ника, чем больше голосов, тем выше место.
Количество голосов определяется подсчётом строк, в кот. соджержится тот или иной ник.

Данный скрипт работает, но не очень корректно, не могу сделать нормальную сортировку.

Поможите?  smile 

Это сообщение отредактировал(а) AtomoS - 3.1.2010, 06:38
PM MAIL   Вверх
ТоляМБА
Дата 3.1.2010, 08:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 4
Всего: 252



Цитата(AtomoS @  3.1.2010,  08:34 Найти цитируемый пост)
Места распределяются по числу голосов того или иного ника, чем больше голосов, тем выше место.Количество голосов определяется подсчётом строк, в кот. соджержится тот или иной ник.


AtomoS, выполни в phpmyadmin запрос

Код
Select char_name, count(char_name) as c
From character_vote
Group by char_name
Order by 2 DESC

оно?


PM   Вверх
AtomoS
Дата 3.1.2010, 09:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 30.8.2009

Репутация: нет
Всего: нет



ТоляМБА, ты гений. спасибо. как бы тебе репки добавить(
_
неподскажешт ресурс, где о таких сложных запросах можно почитать?

Это сообщение отредактировал(а) AtomoS - 3.1.2010, 10:07
PM MAIL   Вверх
chip_and_dayl
Дата 3.1.2010, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 603
Регистрация: 22.4.2007
Где: Украина, Киев

Репутация: нет
Всего: 9



AtomoS
Ты еще не видел сложных запросов  smile  Можешь глянуть здесь


--------------------
Фсё будет хорошо!!!
PM MAIL Skype   Вверх
ТоляМБА
Дата 3.1.2010, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 4
Всего: 252



AtomoS, гугли "Понимание SQL Мартин Грабер" (Understanding SQL Martin Gruber) - есть и на ресурсах есть и книги в электронном виде. Но надо ещё учитывать что у каждой СУБД свой диалект SQL, поэтому после понимания основ sql нужно будет ковырять ещё ту СУБД с которой будешь работать.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0432 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.