Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как в mysql массово добавить кейворды 
:(
    Опции темы
jano11
Дата 29.10.2014, 12:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго времени суток.

basetube(база) --> w_content(таблица) ---> descs(поле) --> идут ID от 1 до 1500000
Каждый ид содержит в себе информацию по видео, минуты, описание, теги.. и т д

Имя поля с описанием title. Как сделать так что бы массово в базе данных добавить в случайном порядке кейворды из файла keywords.txt

К примеру в title написано "Super puper sambo clip."
в файлике keywords.txt
new clip
clip 2014
..
.
my favorie video

Соответственно после запуска скрипта title уже будет такого рода: "Super puper sambo clip. my favorie video"

Таким образом нужно 1,5 миллиона описаний подправить, точнее дописать.
PM MAIL   Вверх
Akina
Дата 29.10.2014, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Загрузить данные из файла в таблицу. Ключ - автоинкремент.
Написать процедуру, которая проходит в цикле по всем ID, для каждого генерит случайное число в диапазоне значений ключей таблицы кейвордов и выполняет апдейт соотв. записи таблицы видеороликов соотв. записью кейворда. Запустить однократно.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
jano11
Дата 11.11.2014, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо.
Нашёл скрипт, который меняет одно значение на другое. Кто-нибудь сможет помочь что бы замена была из файла к примеру key.txt, подставлялся в случайном порядке один из кейвордов.

<?php
// Written by Mark Jackson @ MJDIGITAL
// http://www.mjdigital.co.uk/blog

// Ищем...
$search        = 'ЧТО_НУЖНО_ЗАМЕНИТЬ'; // Например: 'www.old-site.ru'

// Меняем на... Используется при $queryType = 'replace'
$replace    = 'НА_ЧТО_ЗАМЕНЯЕМ'; // Например: 'www.new-site.ru'

// Настройки базы данных
$hostname = "localhost";
$database = "ИМЯ_БАЗЫ_ДАННЫХ";
$username = "ИМЯ_ПОЛЬЗОВАТЕЛЯ_БАЗЫ_ДАННЫХ";
$password = "ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ_БАЗЫ_ДАННЫХ";

// Варианты значения переменной $queryType 'search' (вывод результатов поиска) или 'replace' (поиск с заменой)
$queryType = 'replace';

// Показывать ошибки или нет (true/false)
$showErrors = true;

//////////////////////////////////////////////////////
//
//        Код ниже не редактировать
//
//////////////////////////////////////////////////////

if($showErrors) {
    error_reporting(E_ALL);
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors',1);
}
$MJCONN = mysql_pconnect($hostname, $username, $password) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database,$MJCONN);
$table_sql = 'SHOW TABLES';
$table_q = mysql_query($table_sql,$MJCONN) or die("Cannot Query DB: ".mysql_error());
$tables_r = mysql_fetch_assoc($table_q);
$tables = array();
do{
    $tables[] = $tables_r['Tables_in_'.strtolower($database)];
}while($tables_r = mysql_fetch_assoc($table_q));
$use_sql = array();
$rowHeading = ($queryType=='replace') ? 
        'Replacing \''.$search.'\' with \''.$replace.'\' in \''.$database."'\n\nSTATUS    |    ROWS AFFECTED    |    TABLE/FIELD    (+ERROR)\n"
      : 'Searching for \''.$search.'\' in \''.$database."'\n\nSTATUS    |    ROWS CONTAINING    |    TABLE/FIELD    (+ERROR)\n";
$output = $rowHeading;
$summary = '';
foreach($tables as $table) {
    $field_sql = 'SHOW FIELDS FROM '.$table;
    $field_q = mysql_query($field_sql,$MJCONN);
    $field_r = mysql_fetch_assoc($field_q);
    do {
        $field = $field_r['Field'];
        $type = $field_r['Type'];

        switch(true) {
            case stristr(strtolower($type),'char'): $typeOK = true; break;
            case stristr(strtolower($type),'text'): $typeOK = true; break;
            case stristr(strtolower($type),'blob'): $typeOK = true; break;
            case stristr(strtolower($field_r['Key']),'pri'): $typeOK = false; break;
            default: $typeOK = false; break;
        }
        if($typeOK) {
            $handle = $table.'_'.$field;
            if($queryType=='replace') {
                $sql[$handle]['sql'] = 'UPDATE '.$table.' SET '.$field.' = REPLACE('.$field.',\''.$search.'\',\''.$replace.'\')';
            } else {
                $sql[$handle]['sql'] = 'SELECT * FROM '.$table.' WHERE '.$field.' REGEXP(\''.$search.'\')';
            }
            $error = false;
            $query = @mysql_query($sql[$handle]['sql'],$MJCONN) or $error = mysql_error();
            $row_count = @mysql_affected_rows() or $row_count = 0;
            $sql[$handle]['result'] = $query;
            $sql[$handle]['affected'] = $row_count;
            $sql[$handle]['error'] = $error;
            $output .= ($query) ? 'OK        ' : '--        ';
            $output .= ($row_count>0) ? '<strong>'.$row_count.'</strong>            ' : '<span style="color:#CCC">'.$row_count.'</span>            ';
            $fieldName = '`'.$table.'`.`'.$field.'`';
            $output .= $fieldName;
            $erTab = str_repeat(' ', (60-strlen($fieldName)) );
            $output .= ($error) ? $erTab.'(ERROR: '.$error.')' : '';
            $output .= "\n";
        }
    }while($field_r = mysql_fetch_assoc($field_q));
}
echo '<pre>';
echo $output."\n";
echo '<pre>';
?>
PM MAIL   Вверх
Akina
Дата 11.11.2014, 15:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



jano11, ещё б кнопку "Код" нашёл, вообще было бы шоколадненько...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
igorold
Дата 12.11.2014, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 557
Регистрация: 22.12.2005
Где: Россия->Урал-& gt;Миасс

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



Цитата(jano11 @  11.11.2014,  15:22 Найти цитируемый пост)
Кто-нибудь сможет помочь что бы замена была из файла к примеру key.txt, подставлялся в случайном порядке один из кейвордов.


Не, там же написано:

Цитата(jano11 @  11.11.2014,  15:22 Найти цитируемый пост)
//////////////////////////////////////////////////////
//
//        Код ниже не редактировать
//
//////////////////////////////////////////////////////


 smile 


--------------------
... у семи нянек 14 сисек ...  
Putin here, Putin there, Putin almost everywhere!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




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


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

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