max execution time

Markus

Новичок
max execution time

Нужно копировать данные из одной таблицы в другую, чуть видо изменив

Код использую такой

PHP:
<?
define('TIME_LIMIT', 6000);
ob_implicit_flush();
error_reporting(E_ALL);
include("includes/config.php");
include("includes/functions.php");
include("includes/db.php");

mysql_connect($DBHost, $DBUser, $DBPass);
mysql_select_db($DBName);

$result=mysql_query("SELECT title FROM _albums WHERE is_russian=0 ORDER BY id");
while ($row=mysql_fetch_row($result)) {
$real = $row[0];
$replace = replace_in($real);
mysql_query("INSERT INTO _n2al VALUES ('','".addslashes($real)."','$replace')") or die('Error' .mysql_error());
}
?>
Но так как строк около 30000 то выдает ошибку
The page cannot be displayed, тне хватает время.
max_execution_time=600 на хостинге, как оптимизировать код?
 

Markus

Новичок
Фанат
Можно небольшой примерчик или ссылку не разу не попадался такой запрос на глаза
 

Markus

Новичок
понял, но как мне видо изменить в запросе данные, собственно из за этого вся морковь

addslashesreplace_in($real), $replace = replace_in($real)

??

-~{}~ 15.03.05 22:05:

по ссылке не нашел, там такое не описывается, а сама идея такова, взять строку, изменить, записать в новую

mysql_query("INSERT INTO _n2al('','".addslashes(title)."','".replace_in(title)."') SELECT title FROM _albums WHERE is_russian=0 ORDER BY id") or die('Error' .mysql_error());

так же не сделаешь
 

Фанат

oncle terrible
Команда форума
по ссылке не нашел, там такое не описывается
извини, мой мальчик, но из первого никак не следует второе.
поэтому тебе следует воздержаться от громких заявлений ограничиться только первым. все по ссылке есть.

так же не сделаешь
с какой это радости не сделаешь?
addslashes тебе делать не надо
что делает replace_in, я не знаю, но уверен, что прекрасно заменяется на мускулевый REPLACE
 

Markus

Новичок
содержимое функции replace_in()

function replace_in ($string) {
$res=preg_replace("/(\s)/i", "_", $string);
$res=preg_replace("/(\.)/i", "_", $res);
$res=preg_replace("/(\:)/i", "_", $res);
$res=preg_replace("/(\&)/i", "_", $res);
$res=preg_replace("/(\,)/i", "_", $res);
$res=preg_replace("/(\')/i", "_", $res);
$res=preg_replace("/(\!)/i", "_", $res);
$res=preg_replace("/(\?)/i", "_", $res);
$res=preg_replace("/(\/)/i", "_", $res);
$res=preg_replace("/(\____)/i", "_", $res);
$res=preg_replace("/(\___)/i", "_", $res);
$res=preg_replace("/(\__)/i", "_", $res);
return $res;
}

прошу прощение за корявость

-~{}~ 15.03.05 22:15:

это для того чтобы получить
Rum, Sodomy & The Lash
Rum_Sodomy_The_Lash

-~{}~ 15.03.05 22:18:

Фанат
addslashes тебе делать не надо
А если попадется Nik O'Kelly к примеру?
 

Фанат

oncle terrible
Команда форума
О! Pogues!!!!! респект правильной музыке!

значтак.
давай разбираться с тем, что ты делаешь.
во-первых, давай разделим задачу на две.
у тебя есть две совершенно независимых задачи.
1. переписать из одной таблицы в другую (кстати, зачем?)
2. изменить текст так, чтобы из него получалось однозначно понимаемое операциорнной системой имя файла. правильно?

кстати, вся эта твоя многоэтажка пишется ОДНИМ регом.

-~{}~ 15.03.05 22:21:

А если попадется Nik O'Kelly к примеру?
то ничего страшного не случится.
 

Markus

Новичок
Насчет второго попал в точку :)
использовать этот текст как виртуальный каталог чтобы по нему делать запрос, да и плюс желание заказчика видеть это в таком виде

http://www.mp3storage.net/David_Holmes/Analyze_That
 

Фанат

oncle terrible
Команда форума
а насчет первого? зачем писать из одной в другую?

-~{}~ 15.03.05 22:27:

а насчет второго: ты в курсе, что это можно сделать при выводе и хранить такое название совершенно не обязательно??
 

Markus

Новичок
данные в базе хранятся в формате которая система как файл или каталог не примет (% / ' :) , поэтому хочу найти выход переводом в _ _ _ и при запросе Analyze_That делать запрос по измененной таблице и выбирать правильное имя
 

Markus

Новичок
Фанат, сорри за перерыв, отрубился на работе инет, пишу уже из дома.

В таблице _n2al я хотел хранить эти данные

1 Rum, Sodomy & The Lash , Rum_Sodomy_The_Lash чтобы при запросе с помощью Rum_Sodomy_The_Lash получить Rum, Sodomy & The Lash
 

Фанат

oncle terrible
Команда форума
А зачем в отдельной-то таблице?
просто я разобраться хочу. Пока я не вижу смысла вообще в инсертах - только в заменах. Не пояснишь?
 

Markus

Новичок
Забыл совершенно сказать что таблицу с данными создаю не я, просто скачиватеся этот дамп с сайта спонсора, а они хранят там данные так, можно конечно по id осуществлять но заказчика адресная строка в виде ?artist=13 не устраивает, переубедить не смог

-~{}~ 15.03.05 23:59:

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

Фанат

oncle terrible
Команда форума
блин, а спонсор - это mp3search.ru?
как же они задолбали этим спонсорством!
ищешь-ищегшь mp3 ,а везде натыкаешься только на эти фуфелы, которые ведут в одно место.
тьфу.
 

Markus

Новичок
Да это он.
А насчет музыки согласен сам искал и натыкался в основном на эти сайты партнеры.

Насчет музыки , если это есть на MP3spy.ru, то могу попробывать помочь, его стойка находится на моей работе

-~{}~ 16.03.05 00:43:

Фанат ты где?

-~{}~ 16.03.05 11:53:

Ну ято так никто и не поможет?

-~{}~ 16.03.05 21:55:

Фанат
И стоило тут разводить, сейчас разберемся, а сам пропал, блин полночи ждал пока ответишь :( :(
 
Сверху