Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: txt --> mysql
 
 автор: Niemand   (17.04.2005 в 04:23)   письмо автору
 
 

у меня есть упорядоченный кусок таблици в .txt файле, например такой:

 70, 4,4, 100,100,100,100, 60, 40, 40, 20, 20, 10,    // Armor
  2, 3,7, 100,100,100,100,100,100,100, 60, 40, 20,    // Lv.1 Weapons
  3, 5,6, 100,100,100,100,100,100, 60, 40, 20, 20,    // Lv.2 Weapons
  5, 8,5, 100,100,100,100,100, 60, 50, 20, 20, 20,    // Lv.3 Weapons
  7,14,4, 100,100,100,100, 60, 40, 40, 20, 20, 10,    // Lv.4 Weapons
как мне его загнать в таблицу mysql + проигнорировать коментарии.
Пытался в phpMyAdmin - не получилось.

   
 
 автор: glsv (Дизайнер)   (17.04.2005 в 04:51)   письмо автору
 
   для: Niemand   (17.04.2005 в 04:23)
 

Вам нужно обрезать строки, до комментариев и выполнить запросы для добавления данных в базу. Чтобы сказать более конкретно, нужна структура вашей таблицы.

   
 
 автор: Niemand   (17.04.2005 в 05:25)   письмо автору
 
   для: glsv (Дизайнер)   (17.04.2005 в 04:51)
 

а можно поподробнее как оформить запрос?

<?
$sql 
= ("LOAD DATA INFILE 'test.txt' INTO TABLE 'test' FIELDS TERMINATED BY ',' ESCAPED BY '\\' LINES TERMINATED BY '\r\n' ");
mysql_query($sql);
?>

   
 
 автор: cheops   (17.04.2005 в 11:57)   письмо автору
 
   для: Niemand   (17.04.2005 в 05:25)
 

А какова структура таблицы test?

   
 
 автор: Niemand   (17.04.2005 в 14:05)   письмо автору
 
   для: cheops   (17.04.2005 в 11:57)
 

А какова должна быть?.. я не очень понял вопрос...
13 колонок, 5 рядов...
была создана таким скриптом.
<?
CREATE TABLE 
'test' (
'no' INT NOT NULL ,
'1' CHAR100 NOT NULL ,
'2' CHAR100 NOT NULL ,
'3' CHAR100 NOT NULL ,
'4' CHAR100 NOT NULL ,
'5' CHAR100 NOT NULL ,
'6' CHAR100 NOT NULL ,
'7' CHAR100 NOT NULL ,
'8' CHAR100 NOT NULL ,
'9' CHAR100 NOT NULL ,
'10' CHAR100 NOT NULL ,
'11' CHAR100 NOT NULL ,
'12' CHAR100 NOT NULL ,
'13' CHAR100 NOT NULL ,
INDEX 'no' 
);

?>

   
 
 автор: cheops   (17.04.2005 в 23:14)   письмо автору
 
   для: Niemand   (17.04.2005 в 14:05)
 

В этом случае для преобразования файла вы можете воспользоваться следующим скриптом
<?php
  
// Устанавливаем соединение с базой данных
  
include "config.php";
  
// Помещаем содержимое файла в массив $arr
  // Одна строка файла - один элемент массива
  
$arr file("text.txt");
  
// В цикле производим разбор каждой строки
  // формируем многострочный INSERT-запрос
  
$sql "INSERT INTO test VALUES ";
  
$i 1;
  foreach(
$arr as $line)
  {
    
// Разбиваем строку по запятой
    
$number explode(",",$line);
    
// Уничтожаем последний элмемент с комментарием
    
unset($number[13]);
    
// Формируем строку многострочного INSERT (1,2,...,10)
    
$order "($i,";
    foreach(
$number as $num)
    {
      
$order .= "$num,";
    }
    
// Удаляем последнюю лишнюю запятую и
    // добавляем закрывающую скобку
    
$order substr($order,0,strlen($order) - 1).")";
    
$sql .= "$order,"
    
$i++;
  }
  
// Удаляем последнюю лишнюю запятую и
  // добавляем закрывающую скобку
  
$sql substr($sql,0,strlen($sql) - 1);
  
// Выполняем SQL-запрос
  
if(!mysql_query($sql))
  {
    echo 
$sql."<br>";
    echo 
"Ошибка - ".mysql_error();
  }
?>

   
 
 автор: Niemand   (17.04.2005 в 23:29)   письмо автору
 
   для: cheops   (17.04.2005 в 23:14)
 

Выдается такая ошибка
INSERT INTO test VALUES
Ошибка - You have an error in your SQL syntax near '' at line 1

   
 
 автор: cheops   (17.04.2005 в 23:33)   письмо автору
 
   для: Niemand   (17.04.2005 в 23:29)
 

А файла text.txt находится в той же директории и действительно называется text.txt?

   
 
 автор: Niemand   (17.04.2005 в 23:39)   письмо автору
 
   для: cheops   (17.04.2005 в 23:33)
 

нет.. была ошибка в названии... все работает... премного благодарен вам за то, что помогаете нам (новечкам и не очень)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования