Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как из меняющегося текстового файла делать БД, помогите идеями, пожалуйста!! 
:(
    Опции темы
Splendid
Дата 8.8.2008, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 1.8.2007
Где: Беларусь, Минск

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



Задача такая. Есть текстовый файлик в который записываются результаты тестов. Т.е. файлик после прохождения очередного теста дописывается. Выглядит он примерно так:

вид тестирования
входной параметр 1
входной параметр 2
входной параметр 3
результат


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

вид тестирования
входной параметр 1
входной параметр 2
входной параметр 3
результат

Как это сделать? И как сделать так, чтобы не записывать все время все данные из файла, а только ДОзаписывать новые?
PM MAIL   Вверх
Gold Dragon
Дата 8.8.2008, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



я что-т оне понял вопрос.. Что нужно  то..?


Делаешь таблицу, например так
Код

CREATE TABLE `tabl` (
`id` INT NOT NULL AUTO_INCREMENT ,
`vid` VARCHAR( 255 ) NOT NULL ,
`param` VARCHAR( 255 ) NOT NULL ,
PRIMARY KEY ( `id` ) 
);

хотя нужно знать что за параметры у тебя хранятся. вернее в каком формате...

и добавляешь запись
Код

INSERT INTO `tabl` ( `id` , `vid` , `param` ) 
VALUES (
'', 'бамбук', '11-23-45-67-12-344'
);



--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Splendid
Дата 8.8.2008, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 1.8.2007
Где: Беларусь, Минск

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



вопрос в том, что информация для добавления записи находится в текстовом файле, в том виде, что я написала. Как ее оттуда извлечь?
PM MAIL   Вверх
skyboy
Дата 8.8.2008, 14:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



только средствами sql?
PM MAIL   Вверх
Splendid
Дата 8.8.2008, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 1.8.2007
Где: Беларусь, Минск

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



нет, еще php
PM MAIL   Вверх
Gold Dragon
Дата 9.8.2008, 12:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

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



а какой формат у файла? Т.е. структура


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Splendid
Дата 11.8.2008, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 1.8.2007
Где: Беларусь, Минск

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



текстовый файлик. Структура типа: 


вид тестирования
входной параметр 1
входной параметр 2
входной параметр 3
результат


если в значениях - то примерно так

1
241245235634
235364
1122
233546463
PM MAIL   Вверх
HackMan
Дата 11.8.2008, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

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



Ну так в чём сложность? Функцией file() файл считывается в массив, а оттуда через foreach() данные заносятся в БД.

Добавлено через 5 минут и 13 секунд
Цитата(Gold Dragon @  8.8.2008,  12:32 Найти цитируемый пост)
INSERT INTO `tabl` ( `id` , `vid` , `param` ) 
VALUES (
'', 'бамбук', '11-23-45-67-12-344'
);

оффтоп, но в этом случае `id` можно опустить, результат будет идентичный
Код

INSERT INTO `tabl`(`vid`, `param`) VALUES ('бамбук', '11-23-45-67-12-344');

А ещё можно и INTO опустить  smile  и вместо (...) VALUES (...) использовать конструкцию SET
Код

INSERT `tabl` SET `vid`='бамбук', `param`='11-23-45-67-12-344'



--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Splendid
Дата 11.8.2008, 10:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 256
Регистрация: 1.8.2007
Где: Беларусь, Минск

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



HackMan, можно пример кода простенький какой-нить, а то что-то я торможу...
PM MAIL   Вверх
HackMan
Дата 11.8.2008, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

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



Можно, конечно

Код

  $lines = file('data.txt');

  while (count($lines) > 0)
    {
      $type = intval(array_shift($lines));
      $param1 = intval(array_shift($lines));
      $param2 = intval(array_shift($lines));
      $param3 = intval(array_shift($lines));
      $result = intval(array_shift($lines));
      mysql_query("INSERT table SET type=$type, param1=$param1, param2=$param2, param3=$param3, result=$result");
    }


Код не тестировался, написан "с колена", в 10 утра, после бессонной ночи  smile 


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
DioNiR
Дата 15.8.2008, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Код
<?php
    $file = file('text.txt');
    $line = sizeof($file);
    if( $line != 0 ) 
    {
        $vid = $file[0];
        $input = array();
        for($i=1;$i<$line;$i++)
        {
            if( $i != ($line-1) )
                $input[] = $file[$i];
        }
        $result = $file[$line-1];
    }
?>

В итоге:
Переменные:
$vid - это вид тестирования
$result - результат
массив:
$input - это входные параметры их может быть сколько угодно


Можно добавить после в конец:
Код

    echo $vid;
    print_r('<pre>');
    print_r($input);
    print_r('</pre>');
    echo $result;

И увидеть как будет выглядеть.
--------------------
Думали это конец? Ха, всё только начинается.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




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


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

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