ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #661  
Старый 12.06.2009, 00:10
Аватар для KaZ@NoVa
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме:
3134311

Репутация: 1467


Отправить сообщение для KaZ@NoVa с помощью ICQ Отправить сообщение для KaZ@NoVa с помощью AIM Отправить сообщение для KaZ@NoVa с помощью Yahoo
По умолчанию

Цитата:
Сообщение от Vanofuture  
Даже не знаю, что там может быть особенного.
Нужно для каждой записи из таблицы xxx создать запись в таблице yyy, при это надо заменить часть дефолтного текста одним полем из xxx. Мой набросок:
Код:
SELECT `name` FROM `xxx`;
INSERT INTO yyy VALUES(NULL, ( REPLACE(somedata, '%username%', `xxx`.`name`) ) );
Немного не понял некоторых вещей:
0. Это все необходимо сделать на уровне MySQL? Если же в PHP, то могу подсказать.
1. Для каждой записи в xxx надо сделать запись в yyy, но что и чем надо заменить?
 
Ответить с цитированием

  #662  
Старый 12.06.2009, 07:35
Аватар для Vanofuture
Vanofuture
Познающий
Регистрация: 24.04.2008
Сообщений: 34
Провел на форуме:
148656

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

Цитата:
Сообщение от KaZ@NoVa  
Немного не понял некоторых вещей:
0. Это все необходимо сделать на уровне MySQL? Если же в PHP, то могу подсказать.
1. Для каждой записи в xxx надо сделать запись в yyy, но что и чем надо заменить?
0. Да, и что-то я сильно туплю с этим.
1. Замена неозятельна.
Чтобы было понятней скажу что пишу систему массовой рассылки ЛС, в ней нужно для каждого пользователя создать запись в таблице `pm` с заданым текстом и при внесении это в бд дать записи id юзера.
Попробую решить задачу проверенным способом — перепотрошить какой-то готовый двиг и посмотреть как сделано там.
 
Ответить с цитированием

  #663  
Старый 12.06.2009, 10:29
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

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

INSERT messages (text, id_user) SELECT "текст рассылки" as "text", id FROM users

Либо в 2 запроса

Последний раз редактировалось FireFenix; 12.06.2009 в 11:01..
 
Ответить с цитированием

  #664  
Старый 13.06.2009, 12:44
Аватар для REBUUS
REBUUS
Постоянный
Регистрация: 06.04.2009
Сообщений: 383
Провел на форуме:
1288105

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

есть таблица t1 на сервере S1 и точна такая же таблица t2 у меня на локалхосте S2
мне надо периодический переносить новые записи которые появляются на в таблице t1 к себе на локалхост в таблицу t2, т.е организовать синхронизация , таблица на локалхосте t2 сам не меняется только при синхронизации добавляються новые записи из t1.
А теперь внимание вопрос))) как мне это грамотно организовать, что бы быстро все делалось. как ни будь я сам могу сделать, но не нужно грамотно организовать это
 
Ответить с цитированием

  #665  
Старый 13.06.2009, 14:33
Аватар для FireFenix
FireFenix
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме:
3178262

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

Смотри репликацию баз данных
для мускуля можно почитать здесь http://www.webnext.ru/blog/2007/08/2...ter-slave.html
 
Ответить с цитированием

  #666  
Старый 13.06.2009, 15:32
Аватар для KaZ@NoVa
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме:
3134311

Репутация: 1467


Отправить сообщение для KaZ@NoVa с помощью ICQ Отправить сообщение для KaZ@NoVa с помощью AIM Отправить сообщение для KaZ@NoVa с помощью Yahoo
По умолчанию

Цитата:
Сообщение от REBUUS  
есть таблица t1 на сервере S1 и точна такая же таблица t2 у меня на локалхосте S2
мне надо периодический переносить новые записи которые появляются на в таблице t1 к себе на локалхост в таблицу t2, т.е организовать синхронизация , таблица на локалхосте t2 сам не меняется только при синхронизации добавляються новые записи из t1.
А теперь внимание вопрос))) как мне это грамотно организовать, что бы быстро все делалось. как ни будь я сам могу сделать, но не нужно грамотно организовать это
Если есть непосредственный коннект к серверам баз данных - организуется репликация (мастер-слейв)
если нет - то через, например, пхп-скрипт, который запускается по времени или вручную
 
Ответить с цитированием

  #667  
Старый 13.06.2009, 22:25
Аватар для KaZ@NoVa
KaZ@NoVa
Постоянный
Регистрация: 05.07.2008
Сообщений: 555
Провел на форуме:
3134311

Репутация: 1467


Отправить сообщение для KaZ@NoVa с помощью ICQ Отправить сообщение для KaZ@NoVa с помощью AIM Отправить сообщение для KaZ@NoVa с помощью Yahoo
По умолчанию

Цитата:
Сообщение от REBUUS  
есть таблица t1 на сервере S1 и точна такая же таблица t2 у меня на локалхосте S2
мне надо периодический переносить новые записи которые появляются на в таблице t1 к себе на локалхост в таблицу t2, т.е организовать синхронизация , таблица на локалхосте t2 сам не меняется только при синхронизации добавляються новые записи из t1.
А теперь внимание вопрос))) как мне это грамотно организовать, что бы быстро все делалось. как ни будь я сам могу сделать, но не нужно грамотно организовать это
Я привык к тому, что доступа к удаленному MySQL нету, следовательно либо использовать тулзы для PHP tunneling, либо делается скрипт синхронизации. Суть такова - серверный скрипт при коннекте проверяет подлинность клиента и в случае подтверждения обрабатывает параметры запроса, проверяет изменившиеся данные, генерирует выдачу и возвращает её. Проверка идет таким образом: вначале на S1 пропускается SELECT `какой-то-id` FROM `t1`; и если mysql_num_rows соответствует присланному количеству строк, то возвращаем ответ, что различий нет. Далее mysql_free_result (можно её и не вызывать, если записей немного) и читаем из запроса список уникальных ключей (например, если есть ID с auto_increment, то их список лучше всего), а затем делаем выборку всех полей в том порядке, в котором они идут в таблице:
Цитата:
SELECT `field1`,`field2`,`field3`,...`fieldN` FROM `t1` WHERE `уникальный-ключ` NOT IN ('список','уникальных','ключе й','переданный','клиентом');
=>
while ( $row = mysql_fetch_assoc ( $q ) )
{

и далее пишем строку:

$string = 'INSERT INTO `t2` VALUES (';
$values = array();

А потом:

foreach ( $row as $value ) $values[] = " '$value' "; # кавычки лучше ставить вместе - написал через пробелы, чтобы видно было.

$string .= implode ( ',' , $values ); # в итоге будет строка вида ` INSERT INTO `t2` VALUES ('value1','value2','value3',...,'valueN' `
$string .= ")\r\n";
Ну и потом, соответственно, выдача этого результата в ответ.

Клиентская часть должна через cURL (либо другим способом) забирать результат и, если он не пустой (т.е. изменений нет), выполнять его. То есть при запуске скрипта, он делает выборку уникальных полей и в запрос пишет количество записей в таблице t2 и список уникальных полей, а после забирает то, что возвращает сервер, и выполняет запрос. Еще желательно разбить запрос, например, explode (";\r\n",$response); и выполнять по отдельности, чтобы, в случае необходимости, знать, какая строка ошибку генерирует.

Вот и всё!!!!!!!
 
Ответить с цитированием

  #668  
Старый 14.06.2009, 03:50
Аватар для Велемир
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


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

Вопрос: Почему при выполнении команды show status значения переменных opened_tables и open_tables после совершения запросов через phpmyadmin остаётся неизменным?А также почему Com_show_status содержит 1 после туевой кучи выполнения оной?!

Последний раз редактировалось Велемир; 14.06.2009 в 03:58..
 
Ответить с цитированием

  #669  
Старый 14.06.2009, 04:19
Аватар для Велемир
Велемир
Banned
Регистрация: 19.06.2006
Сообщений: 1,239
Провел на форуме:
1469161

Репутация: 142


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

Есть две директивы: Threads_connected и Threads_running.Можно ли по ним определить количество юзеров,подконнектившихся к базе ?
 
Ответить с цитированием

  #670  
Старый 14.06.2009, 19:12
Аватар для Pashkela
Pashkela
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме:
9220514

Репутация: 3338


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

Английский совсем не гугу?

http://alertra.com/article103.php

там и пример и хорошие комментарии
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевой этикет (Перед тем, как задать вопрос хакеру) 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