HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

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

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

  #901  
Старый 18.12.2009, 01:01
sergeyich
Новичок
Регистрация: 17.12.2008
Сообщений: 3
Провел на форуме:
23112

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

Есть несколько баз данных на dle, скажите как их соединить в одну базу, или добавить к уже существующей базе базу
 
Ответить с цитированием

  #902  
Старый 18.12.2009, 06:03
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


Отправить сообщение для mff с помощью ICQ
Question

Доброе утро!

Подскажите пожалуйста, как выбрать из таблички количество тех записей, которых в ней больше всего, сравнивая по полю id_channel ?


Код:
id 	ip 	id_channel 	time
 
Ответить с цитированием

  #903  
Старый 18.12.2009, 08:04
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Навскидку
Код:
SELECT COUNT(*) FROM `sometable`
WHERE `id_channel` =
(SELECT `id_channel` FROM `sometable` ORDER BY `id_channel` DESC LIMIT 1)
либо
Код:
SELECT COUNT(*) FROM `sometable`
GROUP BY `id_channel`
ORDER BY `id_channel` DESC LIMIT 1;

Последний раз редактировалось krypt3r; 18.12.2009 в 08:08..
 
Ответить с цитированием

  #904  
Старый 18.12.2009, 08:42
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


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

Есть табличка:
Код:
id 	ip 	id_channel 	time 
1	70.88.31.247	613	1261099440
2	95.70.82.140	1016	1261099633
3	95.01.82.140	1016	1261099645
4	67.190.111.224	1388	1261099674
5	77.88.31.247	1315	1261099850
6	67.190.111.224	1502	1261099937
7	77.88.31.247	1715	1261099951
8	95.135.36.200	561	1261099988
9	77.88.30.247	1099	1261099995
10	90.71.02.140	1016	1261100724
11	95.71.82.140	1016	1261100731
Нужно выбрать из нее тот id_channel, который больше всего повторяется.

В нашем случае это 1016
Далее уже посчитать сколько раз повторяется.

krypt3r, Спасибо, но не работает
 
Ответить с цитированием

  #905  
Старый 18.12.2009, 08:51
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Я не так задание понял. Попробуйте так
Код:
SELECT COUNT(*) FROM `sometable`
GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1;
 
Ответить с цитированием

  #906  
Старый 18.12.2009, 08:54
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


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

Цитата:
Сообщение от krypt3r  
Я не так задание понял. Попробуйте так
Код:
SELECT COUNT(*) FROM `sometable`
GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1;
Попробывал, но тоже не работает

Код:
$result = mysql_query("SELECT COUNT(*) FROM `table` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
$row = mysql_fetch_array($result);
echo  $row["id_channel"];
echo mysql_num_rows($result);
 
Ответить с цитированием

  #907  
Старый 18.12.2009, 09:12
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

PHP код:
$result mysql_query("SELECT COUNT(*) AS `c` FROM `table` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
$row mysql_fetch_array($result);
echo  
$row['c'];
echo 
mysql_num_rows($result); 
 
Ответить с цитированием

  #908  
Старый 18.12.2009, 09:42
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


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

не, не хочет (((
 
Ответить с цитированием

  #909  
Старый 18.12.2009, 09:48
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

У меня все работает, обработайте возможные ошибки.
PHP код:
<?php
  mysql_connect 
('localhost''user''pass')
    or die (
"Connection failed\n");
  if (
mysql_select_db ('mybase')) {
    
$result mysql_query ("SELECT COUNT(*) AS `c` FROM `sometable` GROUP BY `id_channel` ORDER BY 1 DESC LIMIT 1");
    if (
$result) {
      
$row mysql_fetch_array ($result); 
      echo  
$row['c'], "\n"
      echo 
mysql_num_rows ($result), "\n";
    } else
      echo 
"Query failed: " mysql_error (), "\n";
  } else 
    echo 
"Cannot select database\n";
  
mysql_close ();
?>
Выводит
Код:
4
1

Последний раз редактировалось krypt3r; 18.12.2009 в 09:56..
 
Ответить с цитированием

  #910  
Старый 18.12.2009, 10:25
mff
Познавший АНТИЧАТ
Регистрация: 12.03.2008
Сообщений: 1,379
Провел на форуме:
5866479

Репутация: 1809


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

krypt3r, большое спасибо!

Вот так заработало всё:
Цитата:
$result = mysql_query("select count(id_channel), `id_channel` from `table` group by `id_channel` order by 1 desc limit 1");
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевой этикет (Перед тем, как задать вопрос хакеру) satana-fu Статьи 7 21.10.2009 07:40
Ответы на часто задаваемые вопросы + линки на статьи по SQL/XSS/PHP-инклуд Jokester Уязвимости 2 28.06.2009 00:19
Интернетчики задали российскому президенту очень странные вопросы podkashey Мировые новости. Обсуждения. 4 07.07.2006 16:53



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


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




ANTICHAT.XYZ