[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: txt в базу данных
Страницы: 1, 2
kolbok
Подскажите пожалуйста.
Есть файл .txt. Нужно этот файл загрузить на сайт и записать текст в базу данных так
title = Blazing Saddles
release = 1974
format = VHS
actors = Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn

и так весь текстовый файл...
Как реализовать запись, направьте на правильный путь


Title: Blazing Saddles
Release Year: 1974
Format: VHS
Stars: Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn

Title: Casablanca
Release Year: 1942
Format: DVD
Stars: Humphrey Bogart, Ingrid Bergman, Claude Rains, Peter Lorre

Title: Charade
Release Year: 1953
Format: DVD
Stars: Audrey Hepburn, Cary Grant, Walter Matthau, James Coburn, George Kennedy

Title: Cool Hand Luke
Release Year: 1967
Format: VHS
Stars: Paul Newman, George Kennedy, Strother Martin
miketomlin
Парсите и записываете. В чем именно проблема?
VeRTak
kolbok

База данных то какая? Это будет разовый импорт данных или нужно делать постоянно?
kolbok
База mysql.
Импорт разовый.

Не пойму как текст записать после двоеточия и чтобы каждая строка записывалась в нужную колонку
Kusss
покажите часть файла.
kolbok
Title: Blazing Saddles
Release Year: 1974
Format: VHS
Stars: Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn

Title: Casablanca
Release Year: 1942
Format: DVD
Stars: Humphrey Bogart, Ingrid Bergman, Claude Rains, Peter Lorre

Title: MASH
Release Year: 1970
Format: DVD
Stars: Donald Sutherland, Elliot Gould, Tom Skerritt, Sally Kellerman, Robert Duvall

Title: The Russians Are Coming, The Russians Are Coming
Release Year: 1966
Format: VHS
Stars: Carl Reiner, Eva Marie Saint, Alan Arkin, Brian Keith

Title: Jaws
Release Year: 1975
Format: DVD
Stars: Roy Scheider, Robert Shaw, Richard Dreyfuss, Lorraine Gary

Title: 2001: A Space Odyssey
Release Year: 1968
Format: DVD
Stars: Keir Dullea, Gary Lockwood, William Sylvester, Douglas Rain

Title: Harvey
Release Year: 1950
Format: DVD
Stars: James Stewart, Josephine Hull, Peggy Dow, Charles Drake

Title: Knocked Up
Release Year: 2007
Format: Blu-Ray
Stars: Seth Rogen, Katherine Heigl, Paul Rudd, Leslie Mann


Вот так выглядит весь txt
kolbok
user posted image

Надо выбрать сам txt и записать в базу в таком виде

user posted image
arbuzmaster
Если я правильно понял, то нужно заменить ": " на " = "?
Откройте Notepad++ и сделайте "Найти и заменить"
Если нужно в автоматическом режиме на php, то str_replace например

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
Эли4ка
Цитата (arbuzmaster @ 6.03.2019 - 19:58)
Если я правильно понял, то нужно заменить ": " на " = "?

Не правильно его поняли. Ему нужно этот файл добавить в БД
kolbok,

INSERT INTO films(title,release,format,actors) VALUES ('Blazing Saddles','1974','VHS','Mel Brooks, Clevon Little, Harvey Korman, Gene Wilder, Slim Pickens, Madeline Kahn')
arbuzmaster
Ну тогда как вариант копать в сторону импорта в БД в формате CSV

_____________
Мой первый сайтик

Посмотри на свой XBMC под другим углом
VeRTak
Если это через php
https://dev.mysql.com/doc/refman/5.7/en/load-data.html

Но как сказал ТС что это разовый импорт, то да в ide можно сделать нужный формат и импортнуть
Эли4ка
Цитата (VeRTak @ 6.03.2019 - 21:51)
Но как сказал ТС что это разовый импорт

Да, по странной случайности пропустила этот момент. Тогда только load data конечно
Kusss
Вот набросал, можно прям из браузера вставить в phpMyAdmin. Только 3 изменить на 500 записей.
	$lines = file('test.txt');

$addValue = [];
$add = [];

$i = 0;
foreach ($lines AS $value){

$value = trim($value);

if (empty($value)) {
$i = 0;
continue;
}


switch ($i){
case 0:
$add[] = str_replace('Title: ', "", $value);
break;
case 1:
$add[] = str_replace('Release Year: ', "", $value);
break;
case 2:
$add[] = str_replace('Format: ', "", $value);
break;
case 3:
$add[] = str_replace('Stars: ', "", $value);
break;
}

$i++;

if ($i == 4){
$addValue[] = "('". implode("', '", $add) ."')";
$add = [];

// Изменить на большее число
if (count($addValue) == 3) {
addSql();
$addValue = [];
}
}
}


if (count($addValue)) {
addSql();
}

function addSql(){
global $addValue;

$sql = "
INSERT INTO
`films`

(`title`, `release`, `format`, `actors`)
VALUES
"
. implode(', ', $addValue) ."
"
;
echo '<br>'.$sql;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.