ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование_OLD > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #10231  
Старый 25.04.2009, 16:24
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Есть поле поиска.
В него вбивают запросы,и получают ответы.
ТАк вот,нужно вести статистику запросов,с легким выводом самых частых запросов,например 5.
И вот еще, какую кодировку нужно выставить в mysql, чтобы она корректно отображала руские символы? Чтото такой писец получился с символами?
 

  #10232  
Старый 25.04.2009, 16:37
erihtoney
Познающий
Регистрация: 03.03.2009
Сообщений: 86
Провел на форуме:
994199

Репутация: 258
Отправить сообщение для erihtoney с помощью ICQ
По умолчанию

2m0Hze

Добавьте численное поле[Queries],при каждом запросе проверяйте,есть ли данный запрос, если есть прибавляйте к этому значению 1[Queries]
По поводу кодировки:
Пользователь вводит запрос в произвольной кодировке, в зависимости от браузера,сервер преобразовывает и передает mysql=> такая же, как и у сервера,и интерпретатора(chcp1251)
 

  #10233  
Старый 25.04.2009, 16:39
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

Вот именно в MySQL кодировка краказяблями,странно,раньш е все работало отлично
 

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

Репутация: 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, пользуюсь первый раз )
 

  #10235  
Старый 25.04.2009, 16:52
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

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

  #10236  
Старый 25.04.2009, 16:53
Chaak
Познавший АНТИЧАТ
Регистрация: 01.06.2008
Сообщений: 1,047
Провел на форуме:
5321514

Репутация: 3313


Отправить сообщение для Chaak с помощью ICQ
По умолчанию

Цитата:
Сообщение от LASS0  
Подскажите как сделать, чтобы перед записью ip адреса в БД, сначало была проверка: если такой ip в столбце уже есть, то запись не делалась.

PHP код:
<?

$ip 
$_SERVER['REMOTE_ADDR'];
  
include(
"connect.php");

$link mysqli_connect(SERVERUSERNAMEPASSWORDDBNAME);


$result=mysqli_query($link,
                     
"INSERT INTO user (ip) VALUES ('$ip')");

mysqli_close($link);

?>
Придай полю ip св-во unique, и просто добавляй в таблицу, ненужное будет отсеиваться
 

  #10237  
Старый 25.04.2009, 17:00
erihtoney
Познающий
Регистрация: 03.03.2009
Сообщений: 86
Провел на форуме:
994199

Репутация: 258
Отправить сообщение для erihtoney с помощью ICQ
По умолчанию

2m0Hze
desc
 

  #10238  
Старый 25.04.2009, 17:06
m0Hze
Он хакер.
Регистрация: 01.11.2008
Сообщений: 1,756
Провел на форуме:
6462214

Репутация: 3171


По умолчанию

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

  #10239  
Старый 25.04.2009, 17:22
Gifts
Reservists Of Antichat - Level 6
Регистрация: 25.04.2008
Сообщений: 827
Провел на форуме:
2769640

Репутация: 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 строк в выводе будет
 

  #10240  
Старый 25.04.2009, 17:23
erihtoney
Познающий
Регистрация: 03.03.2009
Сообщений: 86
Провел на форуме:
994199

Репутация: 258
Отправить сообщение для erihtoney с помощью ICQ
По умолчанию

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 
 
 





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


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




ANTICHAT.XYZ