|
|
|
|
|
для: Trianon
(07.07.2007 в 12:46)
| | спасибо. теперь точно всё получлось)
что бы мы без Вас делали!!!! | |
|
|
|
|
|
|
|
для: Ксения_954
(07.07.2007 в 09:27)
| | из кода Вы удалили цикл формирующий все CSV-поля . В результате остался только id_catalog из формы равный единице.
Зачем убирать категории? Только потому что они не заносятся?
Я бы не убирал его , а изменил его тип на VARCHAR(255) NULL чтобы туда названия категорий можно было записывались без приведения категории к одному из четырех слов.
В этом случае, для того чтобы отключить код приведения категории достаточно изменить одну строку, поставив перед ней знак коментария
Можно конечно убрать весь код, то есть выкинуть строки
$categoria = "avtomobili";
switch(substr(strtolower($arr[1]), 0, 3))
{
case 'Авто':
$categoria = "avtomobili";
break;
case 'апт':
$categoria = "apteki";
break;
case 'банк':
$categoria = "banki";
break;
case 'dvd':
$categoria = "dvd";
break;
}
$arr[1] = $categoria;
|
Если вы всё же хотите избавиться от этого поля совсем, нужно не только убрать эти (но не остальные!) строки , но еще выкинуть имя поля из начала insert-запроса - кстати этот момент Вы сделали корректно. | |
|
|
|
|
|
|
|
для: Ксения_954
(07.07.2007 в 09:26)
| | пишет ошибку:
SQL: insert into product(
`vid`,`marka`,`price`,`strana`,
`note`,`photo`,`firma`,`address`,
`id_catalog`)values
(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
,(,1)
Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1) ,(,1) ,(,1) ,(,1) ,(,1) ,(,1) ,(,1) ,(,1) ,(,1) ,(,1) ,(,1) ,(,1) ' at line 5 | |
|
|
|
|
|
|
|
для: Trianon
(06.07.2007 в 15:42)
| | кириллица windows.
а проще, скажите, пожалуйста, как убрать столбец категории? я удалила из таблицы БД и из файла csv.
из кода тоже удалила, получилось так:
<?php
setlocale(LC_ALL, 'rus');
// Осуществляем соединение с базой данных
require_once("config.php");
if(empty($_FILES['csv']['tmp_name']))
puterror("Ошибка при отправке csv-файла");
if(!($fp = fopen($_FILES['csv']['tmp_name'],"rb")))
puterror("Ошибка при открытии отправленного файла");
// Считаем размер самой длинной строки файла
for($len = 0; !feof($fp); ) $len = max($len, strlen(fgets($fp)));
$separator = ";";
// Если передан параметр separator изменяем значение переменной $separator
if(!empty($_POST['separator']))
$separator = $_POST['separator'];
// Начало формирования SQL-запроса на вставку данных из csv-файла
$insert_query = "insert into product(
`vid`,`marka`,`price`,`strana`,
`note`,`photo`,`firma`,`address`,
`id_catalog`)values ";
for($sep = " ", rewind($fp); $arr = fgetcsv($fp, $len, $separator); $sep = ",")
{
$insert_query .= "\r\n$sep($list,{$_POST['id_catalog']})";
}
// Закрываем файл
fclose($fp);
// --- $vid, $marka, $price, $strana, $note, $photo, $firma, $address, $id_catalog ---
// Удаляем предыдущие записи
$query_delete = "delete from product where id_catalog=".$_POST['id_catalog'];
mysql_query($query_delete);
// Выполняем SQL-запросы
if(mysql_query($insert_query))
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=291005.php?id_parent=".$_POST['id_catalog']."'>
</HEAD></HTML>";
}
else
echo "SQL: ".nl2br(htmlspecialchars($insert_query)). "<br>Error: ".mysql_error();
?>
|
| |
|
|
|
|
|
|
|
для: Ксения_954
(06.07.2007 в 14:33)
| | кириллица - какая? Их шесть разных. | |
|
|
|
|
|
|
|
для: Trianon
(06.07.2007 в 13:22)
| | кодировка кириллица... | |
|
|
|
|
|
|
|
для: Ксения_954
(06.07.2007 в 12:18)
| | наиболее вероятно,что потребуется написать
setlocale( "LC_ALL", "ru_RU.CP1251" );
| или
setlocale( "LC_ALL", "ru_RU" );
|
Не прощу. Вы не ответили на вопрос о кодировке браузера.
Хотя куда уж проще, открыть браузер, зайти на собственный сайт, ткнуть правой кнопкой мыши в страницу и прочесть что стоит напротив слова "кодировка" | |
|
|
|
|
|
|
|
для: Trianon
(06.07.2007 в 01:24)
| | то есть нужно вставить setlocale(LC_ALL, 'rus');?
вот так?
<?php
setlocale(LC_ALL, 'rus');
// Осуществляем соединение с базой данных
require_once("config.php");
if(empty($_FILES['csv']['tmp_name']))
puterror("Ошибка при отправке csv-файла");
if(!($fp = fopen($_FILES['csv']['tmp_name'],"rb")))
puterror("Ошибка при открытии отправленного файла");
// Считаем размер самой длинной строки файла
for($len = 0; !feof($fp); ) $len = max($len, strlen(fgets($fp)));
$separator = ";";
// Если передан параметр separator изменяем значение переменной $separator
if(!empty($_POST['separator']))
$separator = $_POST['separator'];
// Начало формирования SQL-запроса на вставку данных из csv-файла
$insert_query = "insert into product(
`categoria`,`vid`,`marka`,`price`,`strana`,
`note`,`photo`,`firma`,`address`,
`id_catalog`)values ";
for($sep = " ", rewind($fp); $arr = fgetcsv($fp, $len, $separator); $sep = ",")
{
unset($arr[0]);
$categoria = "avtomobili";
switch(substr(strtolower($arr[1]), 0, 3))
{
case 'Авто':
$categoria = "avtomobili";
break;
case 'апт':
$categoria = "apteki";
break;
case 'банк':
$categoria = "banki";
break;
case 'dvd':
$categoria = "dvd";
break;
}
$arr[1] = $categoria;
foreach($arr as $key => $val)
$arr[$key] = "'".mysql_escape_string($val)."'";
$list = implode(',', $arr);
$insert_query .= "\r\n$sep($list,{$_POST['id_catalog']})";
}
// Закрываем файл
fclose($fp);
// --- $categoria, $vid, $marka, $price, $strana, $note, $photo, $firma, $address, $id_catalog ---
// Удаляем предыдущие записи
$query_delete = "delete from product where id_catalog=".$_POST['id_catalog'];
mysql_query($query_delete);
// Выполняем SQL-запросы
if(mysql_query($insert_query))
{
echo "<HTML><HEAD>
<META HTTP-EQUIV='Refresh' CONTENT='0; URL=index1.php?id_parent=".$_POST['id_catalog']."'>
</HEAD></HTML>";
}
else
echo "SQL: ".nl2br(htmlspecialchars($insert_query)). "<br>Error: ".mysql_error();
?>
|
у меня снова не получается..:(( или csv-файл не тот..:( я вставляю тот который я здесь вставляла....что же такое =((
ps.-простите меня, незнающую...:( | |
|
|
|
|
|
|
|
для: Ксения_954
(05.07.2007 в 15:33)
| | в какой кодировке у Вас хранятся скрипты и выводятся в браузер данные?
И где вообще происходит дело - на хостинге или не локальной машине?
Если на хостинге - Вам нужно выяснить у хостера, каким вызовом можно установить локаль для той кодировки, в которой у Вас хранятся скрипты. | |
|
|
|
|
|
|
|
для: Trianon
(05.07.2007 в 15:12)
| | :) ой, извините..:)
всё равно тоже самое...
какую категорию пишу здесь:
unset($arr[0]);
$categoria = "apteki"; // здесь
switch(substr($arr[1], 0, 3))
та и появляется потом в таблице..:(
а мне нужно чтобы появлялась категория, та же, что и в отправляемом csv-файле. | |
|
|
| |
|