Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 00:48 01.11.24 
Компютри и Интернет
   >> PHP
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема Импорт на тхт в БД ?нови  
Автор Nebesen1 (stubborn)
Публикувано20.12.05 12:22



Здравейте
Проблема е следния - имам текстов файл от който искам да импортна определени низове в различни полета в базата. Имам примерно ред който започва с "e-mail=" и стойността след равното да се записва примерно в полето "mail" в БД. Искам да попитам дали някой знае някакъв по-практичен начин за търсене на съответни низове и вкарването на информацията след тях, отколкото ръчното вкарване на информацията(става дума за доста информация). Много благодаря предварително и се надявам, че сте разбрали въпроса ми!

Just do it


Тема да започнем ...нови [re: Nebesen1]  
Автор Bълk (умора няма)
Публикувано20.12.05 12:40



... какво си направил до тук по въпроса?

-----------------
живей днес, защото вчера няма да се върне, а утре може и да не дойде!


Тема Чесно, тоя начин "ръчно" не е начин :)нови [re: Nebesen1]  
Автор NikB (любопитен)
Публикувано20.12.05 20:15



Чесно, тоя начин "ръчно" не е начин :)
И на въпроса "дали някой знае" ти отговарям най-изчерпанетлно:
Да, някой знае. Дори са повече от един.

Направи си съответствие между ключовите думи в текстовия файл и имената на полетата в таблицата.
Обходи си файла и си попълни полетата.
Е, може всеки път да извеждаш и списък с неоткритите ключови думи.

ПП
И да знаеш, в програмирането винаги има и по-добри идеи



Тема Re: да започнем ...нови [re: Bълk]  
Автор Nebesen1 (stubborn)
Публикувано20.12.05 22:42



Моята логика :
отварям файла, прочитам съдържанието, търся даден низ, гледам на коя позиция е показателя, премествам с 1(на мен ми трябва стойността след "E-mail=" примерно), копирам низа от получената позиция до края на реда, запазвам го в променлива, инсърт в базата. Доста зле съм с работата с файловете и низове и съм написал съвсем малка част :

В отговор на:


<?php
@$fp=fopen("test.txt", "r");
if (!$fp)
{
echo 'Error reading';
exit;
}
while (!feof($fp))
{
$get=fgets($fp);
}
if (strstr($get, 'E-mail='))
{
$show=ftell($fp);
$show_next=$show+1;
substr($get, $show_next);
}
?>



Надявам се да дадете насока


Just do it

Тема Re: Импорт на тхт в БД ?нови [re: Nebesen1]  
Автор Toshko (луд)
Публикувано21.12.05 03:48



Според мен, за да може някой да ти помогне покажи част от текстовият файл който искаш да вкараш в ДБ-то. Така като не знаем в какъв формат ти е файла няма как да ти момогнем, а и няма смисъл да гадаем



Тема Re: да започнем ... [re: Nebesen1]  
Автор Nebesen1 (stubborn)
Публикувано21.12.05 10:37



Има ли изобщо смисъл това което съм написал ?
Така и не разбрах как се копира низа от дадена позиция до края на реда ??? Търсих в пхп.нет, но нищо не открих. Помагайте !

Just do it


Тема Re: да започнем ...нови [re: Nebesen1]  
Автор Borko (един от тълпата)
Публикувано21.12.05 11:01



Ако искаш до края на реда, пробвай така

if ($str=strstr($get, 'E-mail='))

така $str ще съдържа всичко след 'E-mail=' до края на реда



Тема Re: да започнем ...нови [re: Borko]  
Автор Nebesen1 (stubborn)
Публикувано21.12.05 11:15



Borko благодаря, пак е някакъв напредък, но се появяват следните 2 проблема:

1) $стр=хваща последния намерен низ, който съдържа "Е-маил=", а на мен ми трябват всички. Идея ?

2) $стр=присвоява низ, който започва с фразата "Е-маил=", това по-някакъв начин дали може да се отреже или филтрира?

Едит: 2) Фикснато :) , остана само да хвана ВСИЧКИ стойности, не само последната. Помагайте.
Just do it<P ID=&quot;edit&quot;><FONT class=&quot;small&quot;><EM>Редактирано от Nebesen1 на 21.12.05 11:17.</EM></FONT></P>

Редактирано от Nebesen1 на 21.12.05 11:25.



Тема Re: да започнем ...нови [re: Nebesen1]  
Автор Nebesen1 (stubborn)
Публикувано21.12.05 12:09



Ето какво съм написал засега...остава само да хвана всички стойности, не само последната :

В отговор на:


<?php
$db_name="db";
$db_host="localhost";
$db_user="user";
$db_password="pass";
$connection=@mysql_connect($db_host, $db_user, $db_password);
@mysql_select_db($db_name) or die("cannot connect to mysql database");

@$fp=fopen("test.txt", "r");
if (!$fp)
{
echo 'Error reading';
exit;
}
while (!feof($fp))
{
$get=fgets($fp);
}
if ($str=strstr($get, 'E-mail='))
{
$email_array=explode('E-mail=', $str);
echo $email_array[1];
$query="INSERT INTO table (mail) VALUES ('$email_array[1]')";
mysql_query($query) or die(mysql_error());
}
fclose($fp);
?>




Ако някой има идея, да казва

Just do it

Тема Пробвай да използваш..нови [re: Nebesen1]  
Автор Koтapakът нa Шpьoдинrep (Bloody Furious)
Публикувано21.12.05 12:58



Regular expressions...

preg_match_all("/(?<=E\-mail\=).*$/", $get, $matches);

$matches[$i][0] би трябвало да ти върне emailа от ред $i...

There are three determined states the cat could be in: Alive, Dead, and Bloody Furious.



Страници по тази тема: 1 | 2 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.