|
|
|
| Исходные данные : Апач, Мускул, БД - таблицы товар, фирмы, цена на товар.
CREATE TABLE price - табл по ценам на тоар
( fkeyt INT (10) , ссылка на товар в Tovar
fkeyf INT (10) , ссылка на фирму Firma
pr FLOAT (15) цена для этой фиры и для этого товара
)
CREATE TABLE firma (
idf INT (5),
fkey INT (5),
fname VARCHAR (50)
)
CREATE TABLE tovar (
idt INT (5) ,
name_tov VARCHAR (50)
)
Создал (локально) сайт - работает все.
Вопрос : так как в таблицу Товар будет заливаться куча различного товара (имя товара - уникальное) и для каждого вида товара в таблице Price будет своя цена. Руками забивать данные - умереть за клавой можно. Как теоретически сделать заливку данных? | |
|
|
|
|
|
|
|
для: Worldmen
(25.10.2006 в 09:49)
| | Зависит от того, что является источником данных.
Например, разовый sql-дамп можно выполнить в phpMyAdmin.
Сsv-файл можно загрузить на сервер и импортировать. Или загрузить, разобрать и вставить построчно. | |
|
|
|
|
|
|
|
для: Trianon
(25.10.2006 в 09:55)
| | Т.е. загрузить данные у себя - локально, потом сделать дамп и залить его на сервере?
CSV-файл - что это такое (я новичок) - это файл дампа? | |
|
|
|
|
|
|
|
для: Worldmen
(25.10.2006 в 10:14)
| | >Т.е. загрузить данные у себя - локально, потом сделать дамп и залить его на сервере?
Да. это один из вариантов.
>CSV-файл - что это такое (я новичок) - это файл дампа?
А это другой. CSV-файл - один из форматов представления табличных данных, в частности листов Excel. | |
|
|
|
|
|
|
|
для: Trianon
(25.10.2006 в 10:26)
| | В PhpMyadmine создал экспорт. Он создал sql файл в котором такие данные:
#
# Дамп данных таблицы `price`
#
INSERT INTO price VALUES (2, 1, '64.65');
INSERT INTO price VALUES (3, 1, '156.25');
INSERT INTO price VALUES (1, 2, '1001.58');
#
# Дамп данных таблицы `tovar`
#
INSERT INTO tovar VALUES (1, 'Супер пупер компьютер', 'http://.../web/img/pc.jpg', NULL);
INSERT INTO tovar VALUES (2, 'унитаз', 'http://.../web/img/un.jpg', NULL);
INSERT INTO tovar VALUES (3, 'раковина', 'http://...../web/img/un.jpg', NULL);
|
А насчет CSV - ничего не нашел (версия phpMyAdmin 2.4.0) | |
|
|
|
|
|
|
|
для: Worldmen
(25.10.2006 в 11:28)
| | CM. attach | |
|
|
|
|
|
|
|
для: Worldmen
(25.10.2006 в 11:28)
| | Теперь в phpMyAdmin, но уже на сервере, в разделах SQL или IMPORT этот дамп можно выполнить. | |
|
|
|
|
|
|
|
для: Trianon
(25.10.2006 в 11:35)
| | Я еще не спрашивал у провайдеров там где собираюсь разместить свой сайт (в zp.ua) - какие у них есть формы для работы с БД. Я так понимяю phpMyAdmin - должен быть.
Скачал новую версию phpMyAdmin 2.9 - там есть CSV.
Но проблема осталась - ведь я буду ручками забивать влокальную базу. Т.е. таблице Товар должны быть уникальные наименование товара, чтобы можно было ссылаться на один и тот же товар (например: в бытовой технике многие фирмы продают одинаковые товары) , но с разной ценой.
Получается мне нужно создать скрипт для анализа или скрипт который будет отображать данные в табличной форме из которой я могу выбирать определенные товары и назначать им цену и фирму в которой они продаются. | |
|
|
|
|
|
|
|
для: Worldmen
(25.10.2006 в 12:07)
| | для уникальности значений и более быстрого поиска используют поле id (INT(10), auto_increment). | |
|
|
|
|
|
|
|
для: elenaki
(25.10.2006 в 12:12)
| | Да, я использую это поле, но имена товара всеравно должно быть уникальным. Можно для каждой фирмы заливать свое, но БД сильно разрастется.
Еще : попробовал сделать экспорт в sql файл, получил :
-- phpMyAdmin SQL Dump
-- version 2.9.0.2
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Окт 25 2006 г., 09:16
-- Версия сервера: 4.0.13
-- Версия PHP: 4.1.1
--
-- База данных: `web`
--
-- Дамп данных таблицы `price`
--
REPLACE INTO `price` (`fkeyt`, `fkeyf`, `pr`) VALUES
(2, 1, 164.65),
(3, 1, 2156.25),
(1, 2, 3001.58);
|
Сделал импорт из этого файла , а омругается:
Warning: Cannot add header information - headers already sent by (output started at c:\web\track\wfsearch\www\phpmyadmin\libraries\header_meta_style.inc.php:27) in c:\web\track\wfsearch\www\phpmyadmin\libraries\common.lib.php on line 1154
Хотя данные залились.
Странно, делал REPLACE (т.е. - замена), а получилось записи просто добавились. Почему ? | |
|
|
|
|
|
|
|
для: Worldmen
(25.10.2006 в 12:25)
| | replace заменяет строки только при совпадении PRIMARY KEY | |
|
|
|
|
|
|
|
для: Trianon
(25.10.2006 в 13:54)
| | Получается надо добавить поле типа Primary. | |
|
|
|
|
|
|
|
для: Worldmen
(25.10.2006 в 09:49)
| | Сделай админку и заливай
Примерно так:
...
$q="INSERT INTO price (fkeyt,...) VALUES ('$_POST[fkeyt]',....) " ;
mysql_query($q,$connect);
...
|
| |
|
|
|
|
|
|
|
для: Worldmen
(25.10.2006 в 09:49)
| | >Вопрос : так как в таблицу Товар будет заливаться куча различного товара (имя товара - уникальное) и для каждого вида товара в таблице Price будет своя цена. Руками забивать данные - умереть за клавой можно. Как теоретически сделать заливку данных?
Где хранятся эти данные? В какой-то торговой программе? Типа 1С?
Сделать вывод в файл в каком-то формате. Вплоть до sql-запросов.
Потом заливать файл на сайт, там его построчно считывать и выполнять.
$result = mysql_query($string);
|
| |
|
|
|
|
|
|
|
для: tuder
(25.10.2006 в 12:31)
| | Данные будут собираться по зазным фирмам. и поэтому я незнаю в каком виде они мне будут давать.
Можно конечно указать пару видов предоставляемых мне данных. Думаю - это правильно. | |
|
|
|