Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 14.10.2006, 21:00
ZERAM вне форума Посмотреть профиль Найти все сообщения от ZERAM
  № 1  
Ответить с цитированием
ZERAM
Banned

Регистрация: Nov 2001
Сообщений: 56
Cool Памагите Insert table.

Привет Кодерам!
версия PHP 4.4.1

Вопрос возник. Обрабатываю TEXT файл по строчно,
полученные записи добавляю с mySQL таблицу
код (см.ниже).

! но при добавлении большого колличествва записей.
программа добавляет только первые 10-15 потом выдаёт ошибку по какойто таймаут в 30 секунд.

я уменьшил загружаемые файлы. разбив их на файлы меньшего размера.
приэтом получается принять только первый файл в котором порядка 30 позиций. При повторном добавлении уже следующего файла - получаю ошибку вставки "ERROR insert ..."

что тут мржно сделать?



<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>

<?PHP


//убираем системные сообщения
Error_Reporting(E_ALL & ~E_NOTICE);


//подключаемся к серверу
include_once "access.php";

//название файла делим на две части.
//первая часть это идентификатор [ИМЯ ТАБЛИЦЫ]

$TN=explode("-",$file); //делим на РАЗДЕЛЫ
$TABLENAME=$TN[0];

if ($func=="clear") { //-------------------------- CLEAR TABLE
mysql_query("TRUNCATE $TABLENAME");
}

if ($func=="create") { //-------------------------- CREATE TABLE

$query="CREATE TABLE $TABLENAME(
id int(5) NOT NULL AUTO_INCREMENT,
artikle TEXT(100) NOT NULL DEFAULT '',
razdel TEXT(100) NOT NULL DEFAULT '',
made TEXT(100) NOT NULL DEFAULT '',
name TEXT(100) NOT NULL DEFAULT '',
param TEXT(2000) NOT NULL DEFAULT '',
PRIMARY KEY (id)
)TYPE=MyISAM";

if (mysql_query($query)) echo "Create TABLE id: ".$TN2."<br>\n";
else echo "ERROR create table";
}


//определяем к какой таблице относится товар
//если нет таблицы с таким именем (например 'BA') то создаём

$i2=0;
$PARTY=array();
$ONE_TWO=array();

$NOM=0;


if ($fp=fopen($file,"r")) do { // $F - передаём аргументом

$i2=0;
$str=fgets($fp);

$LINE=explode("|",$str); //делим на РАЗДЕЛЫ
$LINE_COUNT=count($LINE);


for ($i = 0; $i <= $LINE_COUNT; $i++) {

$ONE_TWO=explode("#",$LINE[$i]);

//записываем по строчно в таблицы.
//название таблицы(куда писать) определяем по НУЛЕВОЙ части.
//если таблицы нет то создаём её.

//подготовка данных для записи

$i2=$i2+1;


if ($i2==1) { // Артикл
$artikle=$ONE_TWO[0].'-'.$ONE_TWO[1];
}

if ($i2==2) { // раздел
$razdel=$ONE_TWO[1];
}

if ($i2==3) { // производитель
$maden=$ONE_TWO[1];
}

if ($i2==4) { // наименование
$name=$ONE_TWO[1];
}

if ($i2>4) { // описание
$rambler=$rambler.$ONE_TWO[0]."#".$ONE_TWO[1]."|";
}

}

// лог на экран
print $TABLENAME.". ".$razdel." ".$maden." ".$name." ";

// процесс ДОБАВЛЕНИЯ
$query = "insert into $TABLENAME(artikle,razdel,made,name,param) values ('$artikle','$razdel','$maden','$name','$rambler')";
if (mysql_query($query)) echo " ADD complete<br>\n";
else echo " ERROR insert table<br>\n";


// очищаем для новой позиции
$Rambler=""; $razdel=""; $maden=""; $name=""; $artikle="";

}

while (!feof($fp));

?>

Старый 14.10.2006, 22:11
ZERAM вне форума Посмотреть профиль Найти все сообщения от ZERAM
  № 2  
Ответить с цитированием
ZERAM
Banned

Регистрация: Nov 2001
Сообщений: 56
ну чё. никто незнает чтоли?????????????

Старый 15.10.2006, 01:54
ZERAM вне форума Посмотреть профиль Найти все сообщения от ZERAM
  № 3  
Ответить с цитированием
ZERAM
Banned

Регистрация: Nov 2001
Сообщений: 56
ну вы нубы. я сам разобрался. а вам нескажу.

Старый 15.10.2006, 02:19
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Вам ответят, когда захотят.
Если не ответили — значит ваш вопрос некорректен или вам просто не хотят отвечать.

Старый 15.10.2006, 12:51
ZERAM вне форума Посмотреть профиль Найти все сообщения от ZERAM
  № 5  
Ответить с цитированием
ZERAM
Banned

Регистрация: Nov 2001
Сообщений: 56
да просто незнают. )

Старый 16.10.2006, 13:54
Skubent вне форума Посмотреть профиль Отправить личное сообщение для Skubent Посетить домашнюю страницу Skubent Найти все сообщения от Skubent
  № 6  
Ответить с цитированием
Skubent
 
Аватар для Skubent

Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
Отправить сообщение для Skubent с помощью ICQ
А то ! Мы тут до сих пор в ушанках ходим и на кои-8 разговариваем...
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:45.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 15:45.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.