|
 15.1 Кб |
|
| Help plz. Читал другие темы но не понял и создал свой.
Есть Excel файл в котором находятся данные, мне нужно их занести в бд.
С помощью phpmyadmin создал бд, а в нем таблицу.
CREATE TABLE `newb` (
`id` INT NOT NULL AUTO_INCREMENT ,
`1` VARCHAR( 225 ) NOT NULL ,
`2` VARCHAR( 225 ) NOT NULL ,
`3` VARCHAR( 225 ) NOT NULL ,
`4` VARCHAR( 225 ) NOT NULL ,
`5` VARCHAR( 225 ) NOT NULL ,
`6` VARCHAR( 225 ) NOT NULL ,
`7` VARCHAR( 225 ) NOT NULL ,
`8` VARCHAR( 225 ) NOT NULL ,
`9` VARCHAR( 225 ) NOT NULL ,
`10` VARCHAR( 225 ) NOT NULL ,
`11` TEXT NOT NULL ,
`12` VARCHAR( 225 ) NOT NULL ,
`13` VARCHAR( 225 ) NOT NULL ,
`14` VARCHAR( 225 ) NOT NULL ,
`15` VARCHAR( 225 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
|
Прикрепил Excel file
Надо чтобы в столбце 1 было наименование, в столбце 2 была категория и т.д их 15 и каждый чтоб стоял на своем месте. Спс заранее | |
|
|
|
|
|
|
|
для: Nuraly
(06.08.2010 в 14:00)
| | Ну неужели никто не ответит?
Помогите plz | |
|
|
|
|
|
|
|
для: Nuraly
(06.08.2010 в 17:51)
| | Дайте полям своей таблицы имена человеческие, экспортируйте exel таблицу в формате csv, разбирайте ее и записывайте в базу. | |
|
|
|
|
|
|
|
для: sim5
(06.08.2010 в 18:12)
| |
CREATE TABLE `newb` (
`id` INT NOT NULL AUTO_INCREMENT ,
`name` VARCHAR( 225 ) NOT NULL ,
`kateg` VARCHAR( 225 ) NOT NULL ,
`part` VARCHAR( 225 ) NOT NULL ,
`proizv` VARCHAR( 225 ) NOT NULL ,
`rozn` VARCHAR( 225 ) NOT NULL ,
`opt.max` VARCHAR( 225 ) NOT NULL ,
`opt.min` VARCHAR( 225 ) NOT NULL ,
`valiuta` VARCHAR( 225 ) NOT NULL ,
`nalich` VARCHAR( 225 ) NOT NULL ,
`garant` VARCHAR( 225 ) NOT NULL ,
`url` VARCHAR( 225 ) NOT NULL ,
`img` VARCHAR( 225 ) NOT NULL ,
`prim` TEXT NOT NULL ,
`supersk` VARCHAR( 225 ) NOT NULL ,
`vertelka` VARCHAR( 225 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
|
Вот дал нор название столбцам.
Если можно плз по шаговой. Как понять разбирайте ее и записывайте в базу. Как это делается? | |
|
|
|
|
|
|
|
для: nuraly
(06.08.2010 в 19:29)
| | 1. id таблицы хранит уникальный идентификатор не для красоты, а именно для того, чтобы дать на эту запись/товар ссылку по этому самому id, следовательно, поле `url` никчемное. Оно для Exel таблицы нужно, а вот на сервере....
2. Поле `img` таблицы должно содержать также имя изображения, а не url его. Даже не желательно указывать и относительный путь в структуре каталогов сервера к этому изображению, иначе при необходимости смены каталога возникнут дополнительные сложности.
3. `opt_max` и `opt_min` во избежание путаницы, к тому же, даже из имени полей этих следует, что большая вероятность того, что это числовые данные, так почему же у вас тип VARCHAR?
4. Почему все поля имеют размеры по максимуму?
В общем проанализируйте структуру своих данных, и составьте таблицу не "от фонаря", а оптимальную. А получением данных экспортированных из Exel в формате CSV занимается функция fgetcsv(). Прочитайте о ней, просмотрите примеры, это не так и сложно для понимания. | |
|
|
|
|
|
|
|
для: sim5
(06.08.2010 в 19:42)
| | url необходим. Он указывает ссылку на официальный сайт продукта, а не на мой сайт.
2. а как правильно оформить, ведь фотка нужна товара.
3.Если поставить int, как вы думаете нормально будет он будет работать с дробными числами типа 3,14
4. а почему бы нет)? или это как то повлияет на работу бд? | |
|
|
|
|
|
|
|
для: Nuraly
(06.08.2010 в 19:55)
| | 3 нет
4 место на диске будет лежать не используемое, но зарезервированное) | |
|
|
|
|
|
|
|
для: Valick
(06.08.2010 в 20:02)
| | а какое значение тогда поставить чтобы отображались дробные числа и целые? | |
|
|
|
|
|
|
|
для: Nuraly
(06.08.2010 в 19:55)
| | Ну если url это ссылки на сторонний документ, тогда да, необходимо, как и url изображения, надо полагать и оно со стороннего документа.
FLOAT тип, и не 3,14, а 3.14. | |
|
|
|
|
|
|
|
для: sim5
(06.08.2010 в 20:22)
| | Не получается занести из csv в MySQL ((((.
Вот:
CREATE TABLE `newb` (
`id` INT NOT NULL AUTO_INCREMENT ,
`Nazvanie` VARCHAR( 225 ) NOT NULL ,
`Kategya` VARCHAR( 225 ) NOT NULL ,
`Part Number` VARCHAR( 225 ) NOT NULL ,
`Prozv-tel'` VARCHAR( 225 ) NOT NULL ,
`Rozn.` VARCHAR( 225 ) NOT NULL ,
`Opt.max.` VARCHAR( 225 ) NOT NULL ,
`Opt.min.` VARCHAR( 225 ) NOT NULL ,
`Valiuta` VARCHAR( 225 ) NOT NULL ,
`Nalichie` VARCHAR( 225 ) NOT NULL ,
`Garantyi` VARCHAR( 225 ) NOT NULL ,
`url` VARCHAR( 225 ) NOT NULL ,
`img` VARCHAR( 225 ) NOT NULL ,
`Primichanyi` TEXT NOT NULL ,
`Supersklad` VARCHAR( 225 ) NOT NULL ,
`Vertelka` VARCHAR( 225 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
|
Как теперь занести его в базу?
По шаговой если можно) | |
|
|
|
|
|
|
|
для: Nuraly
(09.08.2010 в 12:41)
| | Я вам тут о чем говорил? Ну что за хрень? Это что за таблица такая? | |
|
|
|
|
|
|
|
для: sim5
(09.08.2010 в 13:31)
| | У вас железное терпение)
CREATE TABLE `newb` (
`id` INT NOT NULL AUTO_INCREMENT ,
`Nazvanie` VARCHAR( 50 ) NOT NULL ,
`Kategya` VARCHAR( 50 ) NOT NULL ,
`Part Number` VARCHAR( 50 ) NOT NULL ,
`Prozv-tel'` VARCHAR( 25 ) NOT NULL ,
`Rozn.`FLOAT( 10 ) NOT NULL ,
`Opt.max.`FLOAT( 10 ) NOT NULL ,
`Opt.min.` FLOAT( 10 ) NOT NULL ,
`Valiuta` VARCHAR( 20 ) NOT NULL ,
`Nalichie` VARCHAR( 10 ) NOT NULL ,
`Garantyi` VARCHAR( 10 ) NOT NULL ,
`url` VARCHAR( 50 ) NOT NULL ,
`img` VARCHAR( 50 ) NOT NULL ,
`Primichanyi` TEXT NOT NULL ,
`Supersklad` VARCHAR( 10 ) NOT NULL ,
`Vertelka` VARCHAR( 50 ) NOT NULL ,
PRIMARY KEY ( `id` )
);
|
Поискал про функцию fgetcsv() и не понял как с ним пользоваться в моем случае.
Надо чтоб csv файл лег на таблицу с легкостью. Как это сделать? Если вы мне поможете я вас отблагодарю в прямом смысле этого слова! | |
|
|
|
|
|
|
|
для: Nuraly
(09.08.2010 в 14:59)
| | `Rozn.`, `Opt.max.`, `Opt.min.` - прямо крайне необходима точка в именах полей? Вы потом сами материться будете на эту точку, если придется сложные запросы составлять. Да еще имена с больших буковок... да еще и с пробелами.... полный набор!
`Nazvanie` - `name`
`Kategya` (надо полагать кактегория) - `сategory`
`Part Number` - `part_number`
`Prozv-tel' (не осилил, что это такое, если телефон, то) - `phone`
... по картинке, оказывается, что это производитель, а значит `manufactur`, можно и `vendor`,
хотя производитель и продавец, это не одно и тоже.
`Rozn.` (розница?) - `retail`
`Opt.min.` - `opt_max`
`Opt.min.` - `opt_min`
`Valiuta` (надо полагать речь о валюте) - `currency`
`Nalichie` - `presenc`
`Garantyi` - `guarant`
`Primichanyi` - `note`
`Supersklad` (бог с ним, но обязательно супер?) - `sklad`
`Vertelka` - на это моей фантазии не хватило, очень сложно для понимания значение "вертелка" )
>Надо чтоб csv файл лег на таблицу с легкостью.
Это как - "очень нежно прилег"?
>Если вы мне поможете я вас отблагодарю в прямом смысле этого слова!
Не последней моделью Феррари случайно? ) Прикрепите (или вставьте) часть своего csv-файла, который надо записать. Собственно как записать такой файл в базу, в этом разделе можно найти, ибо совсем рядом с вашей темой, один товарищ мается с подобным вопросом, но что-то.... не въезжает видимо ;-) | |
|
|
|
|
|
|
|
для: sim5
(09.08.2010 в 15:21)
| | Я не понимаю как занести данные из csv в MySQL. Помогите пожалуйста. Опишите каждое действо подробнее, если можно с комментами. Уже не первый день мучаюсь. Если можно опишите все с начало, от соединения до закрытия. Феррари не могу обещать. Но веб-моней гарантирую, если все получится | |
|
|
|
|
|
|
|
для: Nuraly
(10.08.2010 в 12:19)
| | Феррари, это конечно шутка, но просите вы нешуточное. Если описывать каждое действие подробно, снабжать все комментариями, то это слишком, тут ведь форум, а не пишут онлайн учебники. Я могу выставить код примера, который может отражать основу, а не конкретно подходящий для вас. И этот пример будет подразумевать, что вы знакомы с MySQL, с РНР, и не на уровне школьника.
Коли вы не знаете ничего, то тогда действительно заказывайте нужное вам за оплату, указав подробно чего и как вы хотите. Тогда можно и конкретный скрипт писать, ограничившись только комментариями к нему, а вот подробоное описание почему так, и что это делает, так это вам в учебники и мануалы заглядывать надо. | |
|
|
|
|
|
|
|
для: sim5
(10.08.2010 в 12:37)
| | Ну тогда ограничемся кодом(покамись, если не получится то перейдем на новый уровень, вы скинете мне свои контактные данные и мы договоримся). Выше указан код и еще приклеен файл образец. Как сделать так чтобы он на него лег. Какой нужен код? | |
|
|
|
|
|
|
|
для: Nuraly
(10.08.2010 в 12:56)
| | Выше нет никакого кода, и файла образца тоже не видно. Рядом с ником автора есть ссылка "написать...", по которой можно отправить письмо любому, но сразу предупреждаю, если писать, то по конкретному вопросу, например, вы хотите заказть такой код за оплату, вести же беседы почтой я не буду, некогда. | |
|
|
|
|
 491 байт |
|
|
для: sim5
(10.08.2010 в 13:02)
| |
ALTER TABLE `newb` CHANGE `id` `id` INT( 11 ) NOT NULL AUTO_INCREMENT ,
CHANGE `name` `name` VARCHAR( 50 ) NOT NULL ,
CHANGE `category` `category` VARCHAR( 50 ) NOT NULL ,
CHANGE `part_number` `part_number` VARCHAR( 225 ) ,
CHANGE `producer` `producer` VARCHAR( 50 ) ,
CHANGE `retail` `retail` FLOAT DEFAULT '0',
CHANGE `opt_max` `opt_max` FLOAT DEFAULT '0',
CHANGE `opt_min` `opt_min` FLOAT DEFAULT '0',
CHANGE `currency` `currency` VARCHAR( 10 ) NOT NULL ,
CHANGE `presentc` `presentc` VARCHAR( 20 ) ,
CHANGE `guarant` `guarant` VARCHAR( 20 ) ,
CHANGE `url` `url` VARCHAR( 225 ) ,
CHANGE `img` `img` VARCHAR( 225 ) ,
CHANGE `note` `note` TEXT,
CHANGE `sklad` `sklad` VARCHAR( 10 ) ,
CHANGE `vertelka` `vertelka` VARCHAR( 30 )
|
Вот код таблицы. Я его изменил по вашей идеи.
Прикреил файл. | |
|
|
|
|
|
|
|
для: Nuraly
(10.08.2010 в 13:17)
| | В этой теме есть код записи csv-файла в базу. Какой вы выберете, тот что методично поименно каждое значение получает, обрамляет и т.п., или тот, что делает это комплексно, выбирайте сами, на что хватит знаний ваших.
В этой теме обсуждается вопрос многострочной записи в базу, ибо ваш файл может содержать очень большое число строк, а гонять запросами базу по каждой строке идивидуально, это есть плохой метод.
В общем почитайте, изучите, попробуйте, возникнут вопросы, значит....
Что касается вашего cvs-файла. Просмотрел. Могу сказать:
http://www.elson.ru/foto/r/1050569866.jpg или 1050569866.jpg
Не может быть ИЛИ, может быть только одно из двух:
а) если изображение, это изображение со стороннего ресурса, то должен быть url к нему указан;
б) если изображение берется с ресурса на который импортируется этот csv-файл, то значит лучше держать в базе имя файла изображения.
Имена полей (первая строка файла) передавать на сервер нет никакой нужды, ибо у вас они уже указаны в таблице. | |
|
|
|
|