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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа со строками 
:(
    Опции темы
vintyara
Дата 23.2.2006, 16:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



Привет АЛЛ smile !

Передо мной такая задача -

Есть файл. В нём еть длиннющая строка.
Сразу приведу пример :

"vint;110;40;0;0;1;0;none;0;0;0;0;0;0;odessa"

Вот из такого фалика надо данные перенести в БД.
В БД есть много столбцов.
Например первые столбцы таблицы - имя, рост, вес и т.п.
В результате должна получиццо табличка, в которой
в стлбце имя будет vintyara, рост - 110 и вес - 40.

Вопрос в том - как это зделать smile
Единственное что я знаю наверняка - задача облегчена тем, что
известен разделитель - ; .

Подскажите как реализовать !

smile

PM MAIL ICQ   Вверх
CTAPbIuMABP
Дата 23.2.2006, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 17.2.2006
Где: Киев

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



Код

$a ="vint;110;40;0;0;1;0;none;0;0;0;0;0;0;odessa";
$array = explode(";",$a);


а масив уже в БД сам суй как тебе угодно
PM WWW ICQ Skype   Вверх
vintyara
Дата 23.2.2006, 18:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



smile

А можно чуть пополнее пример ? Я конечно понял что имеется ввиду, но что-то не могу написать smile
PM MAIL ICQ   Вверх
CTAPbIuMABP
Дата 23.2.2006, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 92
Регистрация: 17.2.2006
Где: Киев

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



Код

$file = file("base.txt");
$count = count($file);

for ($i=0;$i<$count;$i++)
{
$a = explode(";",$file[$i]);
$sql = mysql_query("INSERT INTI `table` VALUES ('{$a['0']}', '{$a['1']}', '{$a['2']}', '{$a['3']}'...'{$a['n']}')");
}


Это сообщение отредактировал(а) CTAPbIuMABP - 23.2.2006, 18:51
PM WWW ICQ Skype   Вверх
Guedda
Дата 23.2.2006, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



Код

$a ="vint;110;40;0;0;1;0;none;0;0;0;0;0;0;odessa";
$array = explode(";",$a);

В переменной $array будут следующие значения:
Код

$array[0] = "vint";
$array[1] = "110";
$array[2] = "40";
// и так далее


Потом все это пихаешь в таблицу, которая есть, допустим:
Код

mysql_query('INSERT INTO my_table(name, mam, dam, fram) 
  VALUES(\'$array[0]\', \'$array[1]\', \'$array[2]\')');


Это сообщение отредактировал(а) Guedda - 23.2.2006, 18:49


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
vintyara
Дата 23.2.2006, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



очень большой пасиба ! сейчас буду пробовать !
PM MAIL ICQ   Вверх
vintyara
Дата 24.2.2006, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



Я дико извиняюсь - но у меня не работает оно smile
Для начала хочу это дело на экран вывести.
Вот мой код :

Код

<?php
$file="vint;110;40;0;0;1;0;none;0;0;0;0;0;0;odessa";
$count = count($file);
for ($i=0;$i<$count;$i++)
{
$a = explode(";",$file[$i]);
echo ''.$a['i'].'';
}
?>


Ничего не выводит smile
PM MAIL ICQ   Вверх
-=Ustas=-
Дата 24.2.2006, 13:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Еще бы smile
Код

<?php

$file = "vint;110;40;0;0;1;0;none;0;0;0;0;0;0;odessa";
$a  = explode(";", $file);

for ($i = 0; $i < sizeof($a); $i++) {
    echo $a[$i]."<br>";
}

?>


Это сообщение отредактировал(а) -=Ustas=- - 24.2.2006, 13:26


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
Guedda
Дата 24.2.2006, 13:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



Ты просто совместил две несовместимости:
В первом примере:
Код

$file=file("base.txt");

создает массив из строк файла.
Когда ты делаешь так:
Код

$file = "vint;110;40;0;0;1;0;none;0;0;0;0;0;0;odessa";

Ты просто создаешь строку.
В примере, который ты сделал, необходимо переделать, и получится что-то такое:
Код

<?php
$file="vint;110;40;0;0;1;0;none;0;0;0;0;0;0;odessa";
//$count = count($file); - это совершенно не нужно.
//for ($i=0;$i<$count;$i++)
//{
$a = explode(";",$file);
for($i=0;$i<sizeof($a);$i++) echo "$a[$i]<br />";
//}
?>

Это проще будет.

Это сообщение отредактировал(а) Guedda - 24.2.2006, 13:33


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
vintyara
Дата 24.2.2006, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



да, со строкой работает. а вот с файлом - что-то не очень -

Код

$file = file("example.csv");
$count = count($file);
for ($i=0;$i<$count;$i++)
{
    $a  = explode(";", $file);
    echo $a[$i]."<br>";
}


Выводит на экран

Array надпись smile
PM MAIL ICQ   Вверх
Guedda
Дата 24.2.2006, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

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



Дык неправильно делаешь:
Код

$file=file("example.csv");
$count=count($file);
for ($i=0;$i<$count;$i++)
{
  $a  = explode(";", $file[$i]);
  for($j=0;$j<sizeof($a);$j++) 
    echo $a[$j]."<br>";
}

И все будет работать....
Можно и плюсиком наградить smile


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
-=Ustas=-
Дата 24.2.2006, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


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

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



Цитата(Guedda @ 24.2.2006, 13:58 Найти цитируемый пост)
Можно и плюсиком наградить 

smile
Ты чё, ради плюсов здесь общаешься!!!


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
vintyara
Дата 24.2.2006, 14:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 491
Регистрация: 24.3.2005
Где: Ode$$a

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



Всем пасиба smile !! Работает smile !!!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




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


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

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