[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите записать массив в бд
Гость_Олег
Привет всем!
Подскажите, как записать массив в mysql?

Задача:
Есть файл "catalog.csv"

Вот его содержание:
#2#:#A2#:#TELEFONI#
#A2#:#N2#:#nokia#
#A2#:#S2#:#samsung#

нужно прочитать его, отделить строки и столбцы и записать в таблицу БД, в которой есть 3 поля (cat,podcat,name).

Вот код:
$row=1;
$handle=fopen("import_file/catalog.csv", "r"); //открываем файл

while(($data=fgetcsv($handle, 4000, ':', '#')) !== FALSE) { //
$num=count($data);//считаем кол-во полей
echo "<br />\n";
$row++;

for($c=0; $c<$num; $c++){
$polya=$data[$c];
echo $polya."<br />\n";
}

}
fclose($handle);

Данный код всё корректно отделяет, вот что выводит:
2
A2
TELEFONI

A2
N2
nokia

A2
S2
samsung

Как записать этот массив в бд?
Viper666
У меня для этого был скрипт, только он работал с txt файлами!
Если хочешь могу выложить smile.gif
Гость_Олег
Выложи пожалуйста! Я посмотрю, разницы нет csv или txt. Можешь сюда прислать: osn555@yandex.ru
Viper666
Ну вот сам скрипт.
Я забыл сказать, строки в файле должны быть в таком порядке,

Слово 1
Слово 2 Слово 3 Слово 4


$ms = file('file.txt');
$arr = array();
$k = 0;
$i = 1;
for($j=0;$j<count($ms) / 2; $j++)
{
$arr[$i] = str_replace("_"," ",$ms[$i]);
$arr[$i] = preg_replace("/ +/"," ",$arr[$i]);
$string=str_replace("\n","",$ms[$k]);
$ms1 = explode(" ", $arr[$i]);
//echo $string.' '.$ms1['0'].' '.$ms1['1'].' '.$ms1['2'].'<br>'; // ф.и.о.н
$string = mb_convert_case($string, MB_CASE_TITLE, "UTF-8");
$ms1['0'] = mb_convert_case($ms1['0'], MB_CASE_TITLE, "UTF-8");
$ms1['1'] = mb_convert_case($ms1['1'], MB_CASE_TITLE, "UTF-8");
mysql_qw('INSERT INTO test
SET name1=?, name2=?, name3=?, name4=?, name5=?, name6=?'
, $string, $ms1['0'], $ms1['1'], $ms1['2'], 'test', '64' );

$i += 2;
$k += 2;
}
Быстрый ответ:

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