[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как перенести текст в msql?
Вертер
Не могу понять как это можно сделать, пробелы все удалить, а слова - слово за словом перенести в базу mysql , что бы в кажной строке Mysql например в поле name - записать по 1 му слову из текущего текстового файла. huh.gif



Спустя 2 минуты, 54 секунды (17.08.2010 - 12:18) waldicom написал(а):
explode, foreach и mysql_query - вот Ваши друзья для этой задачи

Спустя 1 час, 12 минут, 7 секунд (17.08.2010 - 13:30) Вертер написал(а):
Цитата (waldicom @ 17.08.2010 - 09:18)
explode, foreach и mysql_query - вот Ваши друзья для этой задачи

сперва текстовый файл ввести в массив построчно, а потом уже с помощью этих моих друзей обработать да?

Спустя 46 минут, 12 секунд (17.08.2010 - 14:16) waldicom написал(а):
Цитата (Вертер @ 17.08.2010 - 12:30)
Цитата (waldicom @ 17.08.2010 - 09:18)
explode, foreach и mysql_query - вот Ваши друзья для этой задачи

сперва текстовый файл ввести в массив построчно, а потом уже с помощью этих моих друзей обработать да?

Почти.
Один из возможных сценариев:
- считываем файл в переменную (file_get_contents)
- получаем слова из этой переменной в массив (explode)
- пробегаемся по полученному массиву и вставляем данные в таблицу (foreach + mysql_query)

Спустя 1 час, 24 минуты, 42 секунды (17.08.2010 - 15:41) Вертер написал(а):
Спасибо огромное, очень признателен.

Спустя 1 день, 18 часов, 5 минут, 52 секунды (19.08.2010 - 09:47) Вертер написал(а):

<?
require("config.inc.php");
require("functions.inc.php");

$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die(" не подключается " );
mysql_select_db($DB, $link) or die ('Что то не так!!!');
mysql_query("SET NAMES 'utf8'"); // Выполняем запрос
$filename = '0322.txt';

$pieces = explode(" ", $data);
sort($pieces);
$baza= array();

Мне бы вот тут создать не одномерный массив , а 2х мерный, чтобы в 1й индекс записывать Слово, а во 2й индекс количество провторений в тексте этого Слова. Не могу разобраться как создать массив 2х мерный и как в него потом записывать, может кто подскажет?

for ($i=0; count($pieces); $i++) {
if ($pieces[$i]!=$pieces[$i+1]) {
$baza=$pieces[$i];
echo $pieces[$i];
echo '<br>';}}
?>


Спустя 14 минут, 21 секунда (19.08.2010 - 10:01) linker написал(а):
Не забываем про знаки препинания и прочее - удалять.

Спустя 44 минуты, 3 секунды (19.08.2010 - 10:45) Вертер написал(а):
Цитата (linker @ 19.08.2010 - 07:01)
Не забываем про знаки препинания и прочее - удалять.

это что значит?

Спустя 5 минут, 13 секунд (19.08.2010 - 10:51) linker написал(а):
фраза "Привет, мир!" разобьется на два слова "Привет," и "мир!", а оно вам надо? Знаки препинания не являются частью слова, потому и удалять. Но это мое ИМХО.

Спустя 1 час, 4 минуты, 32 секунды (19.08.2010 - 11:55) Вертер написал(а):
Цитата (linker @ 19.08.2010 - 07:51)
фраза "Привет, мир!" разобьется на два слова "Привет," и "мир!", а оно вам надо? Знаки препинания не являются частью слова, потому и удалять. Но это мое ИМХО.

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

наверно вот такая функция подойдет?
ctype_alpha -- проверяет алфавитные символ(ы)


Спустя 1 час, 12 минут, 10 секунд (19.08.2010 - 13:07) Вертер написал(а):
В чем тут ошибка???????

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head>
<
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<
title>Документ без названия</title>
</
head>

<
body>
<?php
require("config.inc.php");

require("functions.inc.php");



//Необходимо подключиться к БД
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die(" не подключается " );
mysql_select_db($DB, $link) or die ('Что то не так!!!');
mysql_query("SET NAMES 'utf8'"); // Выполняем запрос

$filename = '0322.txt';
$data = file_get_contents($filename);
// echo $data;
$pieces = explode(" ", $data);

$ib=0; // 1й индекс выходной базы $baza
$nomb=0; // количество повторений слова

sort($pieces);

$baza= array();

for ($i=0; count($pieces); $i++) {
// если это буква то смотрим
if (ctype_alpha ($pieces[$i])) {
// если новое слово
if ($pieces[$i]!=$pieces[$i+1]) {


$baza [$ib][0]=$pieces[$i];
$baza [0][$ib]=$nomb;
$ib++;
echo $baza[$i][$i];
echo '<br>';
$nomb=0;
} //if новое слово

else {$nomb++; } //если слово повторяется


} //if это буква
} //for

?>

//ВСЕ
</body>
</
html>

Спустя 14 минут, 26 секунд (19.08.2010 - 13:22) Гость_Michael написал(а):
[quote=]В чем тут ошибка???????[/quote]
добрый робот Вертер, твоя ошибка в том, что ты забыл заключить код в теги оформления и его неудобно читать тем кто может подсказать ... smile.gif

Спустя 4 минуты, 55 секунд (19.08.2010 - 13:27) linker написал(а):
Если без проверки и чистки слов, то получить массив готовых слов, без повторов достаточно этого
$data = file_get_contents($filename);
$pieces = array_unique(explode(" ", $data));


Спустя 1 час, 48 минут, 27 секунд (19.08.2010 - 15:15) Вертер написал(а):
Цитата (Гость_Michael @ 19.08.2010 - 10:22)
заключить код в теги оформления и его неудобно читать тем кто может подсказать ... smile.gif

да, я даже не подумал об этом, спасибо за подсказку

Спустя 4 минуты, 1 секунда (19.08.2010 - 15:19) Вертер написал(а):
Цитата (linker @ 19.08.2010 - 10:27)
Если без проверки и чистки слов, то получить массив готовых слов, без повторов достаточно этого
$data = file_get_contents($filename);
$pieces = array_unique(explode(" ", $data));

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

Спустя 22 минуты, 58 секунд (19.08.2010 - 15:42) Вертер написал(а):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Документ без названия</title>
</head>

<body>
<?php

require("config.inc.php");

require("functions.inc.php");



//Необходимо подключиться к БД
$link = mysql_connect($DBSERVER, $DBUSER, $DBPASS) or die(" не подключается " );
mysql_select_db($DB, $link) or die ('Что то не так!!!');
mysql_query("SET NAMES 'utf8'"); // Выполняем запрос


//$f = fopen("baza.csv", "rt") or die("Ошибка!");

$filename = '0322.txt';
$data = file_get_contents($filename);
// echo $data;
$pieces = explode(" ", $data);
//echo $pieces[3]; // piece1
//echo '<br>';
//echo count($pieces);


sort($pieces);
$baza= array();
$baza2= array();
$nomb=0;
$bb=0;
for ($i=0; count($pieces); $i++) {

if (ctype_alpha ($pieces[$i])) {

if ($pieces[$i]!=$pieces[$i+1]) {

$baza[$bb]=$pieces[$i];
$baza2[$bb]=$nomb;
$nomb=0;

$bb++;
echo '<br>';} else {$nomb++;}

}

}

rsort($baza2);
for ($i=0; count($baza2); $i++) {

как вывести массив $baza в соответствии с сортировкой в $baza2?




}
?>

//ВСЕ
</body>
</html>
Быстрый ответ:

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