HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 25.04.2009, 16:42
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Решил делать както так:
PHP код:
$query 'soad';
$check mysql_query("SELECT * FROM stats WHERE name='$query'");
if(
mysql_num_rows($check) > 0){
    
$assoc mysql_fetch_assoc($check);
    
$update mysql_query("UPDATE stats SET num='".$assoc['num']++."' WHERE id='".$assoc['id']."'");
}else{
    
$add mysql_query("INSERT INTO stats VALUE(NULL,'".$query."','1')");

КТо подскажет посчет синтаксиса UPDATE, пользуюсь первый раз )
 
Ответить с цитированием

  #2  
Старый 25.04.2009, 16:52
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Нашел свою ошибку,теперь собственно вопрос.
Как вытащить самые большие значения из бд?
Предположим есть в столбце num значения:
1,5,7,3,8,12.
Нужно вытащить 3 самых больших.ПОнятно что LIMIT, но вот что дальше?(
 
Ответить с цитированием

  #3  
Старый 25.04.2009, 17:00
erihtoney
Познающий
Регистрация: 03.03.2009
Сообщений: 86
С нами: 9047791

Репутация: 258
По умолчанию

2m0Hze
desc
 
Ответить с цитированием

  #4  
Старый 25.04.2009, 17:06
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Цитата:
Сообщение от erihtoney  
2m0Hze
desc
Хотелось бы поточнее с примером,потому что документация мало чем помогает мне
 
Ответить с цитированием

  #5  
Старый 25.04.2009, 17:22
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

m0Hze Во-первых, есть соседняя тема с вопросами про MySQL. Во-вторых - не надо создавать лишнюю таблицу. В-третьих, запрос будет такой:

Код:
SELECT `zapros`, count(*) AS `cnt` FROM `table` GROUP BY `ipaddress` ORDER BY `cnt` DESC LIMIT 10;
Итого - zapros - имя столбца, через запятую можно еще добавить.
count(*) as `cnt` - количество строк
table - имя таблицы
GROUP BY `ipaddress` - по какому столбцу объединять
LIMIT 10 - 10 строк в выводе будет
 
Ответить с цитированием

  #6  
Старый 25.04.2009, 17:28
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Gifts  
m0Hze Во-первых, есть соседняя тема с вопросами про MySQL. Во-вторых - не надо создавать лишнюю таблицу. В-третьих, запрос будет такой:

Код:
SELECT `zapros`, count(*) AS `cnt` FROM `table` GROUP BY `ipaddress` ORDER BY `cnt` DESC LIMIT 10;
Итого - zapros - имя столбца, через запятую можно еще добавить.
count(*) as `cnt` - количество строк
table - имя таблицы
GROUP BY `ipaddress` - по какому столбцу объединять
LIMIT 10 - 10 строк в выводе будет
Почти ничего не понял SQL - для меня дремучий лес
В общем,вот так сейчас обстоят дела.
PHP код:
id     name      num
2     soad       7
3     fsoad     9
4     Авария    11
5     dff             39
5     Дебил       21 
Нужно вытащить по столбу NUM 3 значения,самых больших.
Воть,я чтото с твоей конструкцией помудил,но ничего толкового невышло
 
Ответить с цитированием

  #7  
Старый 25.04.2009, 17:23
erihtoney
Познающий
Регистрация: 03.03.2009
Сообщений: 86
С нами: 9047791

Репутация: 258
По умолчанию

PHP код:
SELECT column,...
[
FROM table WHERE definition]
[
ORDER BY col_name [ASC DESC], ...]
[
LIMIT [offset], rows
Цитата:
Сообщение от mysql  
Ключевое слово ORDER BY сортирует строки запросов по столбцу col_name в прямом (ASC) или обратном порядке (DESC).
Цитата:
Сообщение от mysql2  
Для того чтобы сортировка производилась в обратном порядке, в утверждении ORDER BY к имени заданного столбца, в котором производится сортировка, следует добавить ключевое слово DESC (убывающий). По умолчанию принята сортировка в возрастающем порядке, который можно задать явно при помощи ключевого слова ASC.
Пример:
PHP код:
SELECT FROM  ORDER BY `QueriesDESC LIMIT 0 
 
Ответить с цитированием

  #8  
Старый 25.04.2009, 17:36
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
С нами: 9497186

Репутация: 1304


По умолчанию

m0Hze пффф, я-то думал хоть какой то лог у вас есть (типа кто, когда, что), а вы просто количество запросов увеличиваете :-\ Тогда так

PHP код:
SELECT  id,name,num FROM table ORDER BY num DESC LIMIT 5 

Последний раз редактировалось Gifts; 25.04.2009 в 17:39..
 
Ответить с цитированием

  #9  
Старый 25.04.2009, 17:38
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Цитата:
Сообщение от Gifts  
m0Hze пффф, я-то думал хоть какой то лог у вас есть (типа кто, когда, что), а вы просто количество запросов увеличиваете :-\ Тогда так

PHP код:
select  id,name,num order by num desc limit 5 
Со временем,все появиться.Просто,до этого я с мускулом работал на уровне регистрации.,болга,поо мелочи в ощем.А тут.... )
 
Ответить с цитированием

  #10  
Старый 25.04.2009, 17:42
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
С нами: 9223466

Репутация: 3171


По умолчанию

Удивительное дело,немного поправил ваш запрос,и вот что получаю:

PHP код:
Запрос:
$query mysql_query("SELECT  id,name,num FROM stats ORDER BY num DESC LIMIT 3");
Ответ в fetch_array:
Array ( [
0] => [id] => [1] => dff [name] => dff [2] => 39 [num] => 39 
тоесть,он вытаскивает самое большое значение Ж( но 1

Последний раз редактировалось m0Hze; 25.04.2009 в 17:44..
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[c/c++] Новичкам: задаем вопросы _Great_ С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 5421 21.04.2026 07:37
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53
Вопросы по Ipb 2.0 Voodoo_People Уязвимости CMS / форумов 26 15.02.2005 22:57



Здесь присутствуют: 17 (пользователей: 0 , гостей: 17)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.