PHPMyAdmin - import in MySQL

Discutii despre phpMyAdmin.

Moderator: Moderatori

rem
Average Member
Mesaje: 62
Membru din: Mie Noi 10, 2004 11:50 am
Localitate: Cluj-Napoca
Contact:

PHPMyAdmin - import in MySQL

Mesajde rem » Dum Noi 21, 2004 2:49 am

Salutare tuturor,

Sper ca am ajuns la forumul potrivit pentru problema mea.

Mi-este foarte clar cum pot importa intr-o tabela din MySQL niste date dintr-un fisier sql, txt sau CSV cu ajutorul PHPMyAdmin-ului... dar problema este: cum as putea distribui aceste inregistrari in diferite categorii?

Concret: am instalat OSCommerce Max si am vre-o 1000 de produse de importat. In tabela "produse" din MySQL acestea sunt afisate "la gramada" iar descrierea acestora intr-un mod similar, in tabela "descrierea_produselor".

Cum as putea "aduce" aceste inregistrari/produse in baza mea de date distribuindu-le in categoriile aferente fara sa fiu nevoit sa le introduc una cate una din admin-ul OSCommerce-ului???

Sunt convins ca exista o solutie care sa-mi inlesneasca munca, dar oare care-ar putea fi? Puteti sa ma ajutati, va rog?

Va multumesc in avans.

Cele bune,
Remus.



Avatar utilizator
dducu
PHPRomania Supporter
Mesaje: 16
Membru din: Mie Noi 17, 2004 10:55 am
Localitate: Iasi
Contact:

import in MySQL

Mesajde dducu » Dum Noi 21, 2004 8:13 am

Nu prea am inteles clar ce ai explicat, dar sa iti dau eu o posibila printr-un exemplu:
Sa presupunem ca ai inregistrarile intr-un fisier text pe c:\ (pet.txt de ex.) ca mai jos

Fluffy Harold cat f 1993-02-04
Claws Gwen cat m 1994-03-17
Bowser Diane dog m 1989-08-31 1995-07-29

(fiecare inregistrare pe randul ei, iar valorile de la fiecare inregistrare separate prin tab)

Acum creezi o tabela (tot pet de ex.) in felul urmator:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
-> species VARCHAR(20), * CHAR(1), birth DATE, death DATE);

Iar acum introduci toate inregistrarile pe care le ai in fisierul text in tabela ca mai jos (asta am inteles ca vrei de fapt):

mysql> LOAD DATA LOCAL INFILE "c:\pet.txt" INTO TABLE pet;


Iar acum cu "mysql>SELECT * FROM pet;" poti verifica ca intra-devar toate inregistrarile au fost aduse in tabela pet.

Voie buna!
Before doing something perfect, do something perfectible!

beeuser
Senior Member
Mesaje: 390
Membru din: Joi Mai 20, 2004 10:32 am
Contact:

Mesajde beeuser » Dum Noi 21, 2004 1:23 pm

nu asta vroia omu`. Da noa in fine.
Ideea e ca fiecare produs face parte dintr-o categorie.
Este o tabela in os products_to_categories, care contine products_id si categories_id.
Asa ca ai nevoie de categories_id cand importi. Uita-te la baza de date si o sa-ti dai seama....Dar daca n-ai categories_id atunci esti in trouble man.
Calcula n-are de unde sa stie in ce categorie vrei tu sa fie un produs. :)

rem
Average Member
Mesaje: 62
Membru din: Mie Noi 10, 2004 11:50 am
Localitate: Cluj-Napoca
Contact:

aha, aha, aha

Mesajde rem » Dum Noi 21, 2004 2:19 pm

Thanks beeuser, cam asta era baiu' Si fii atent: am products_to_categories cu doua shmecherii:

products_id
categories_id

Deci m-am mai linistit nitzel... am tot ce-mi trebe, dar acu' ce sa fac cu astea?

Ii dau un export la products_to_categories si apoi ma uit la codul ala (care arata de parca o umblat gaina pe-acolo). Si daca ma simt in forma completez cu celelalte produse pe care le am si mi le va distribui in categoriile de rigoare?

Daca da, norocu' meu!

Multam fain,
Cele bune.

rem
Average Member
Mesaje: 62
Membru din: Mie Noi 10, 2004 11:50 am
Localitate: Cluj-Napoca
Contact:

Uite:

Mesajde rem » Dum Noi 21, 2004 2:58 pm

Continutul tabelei products_to_categories:

--
-- Table structure for table `products_to_categories`
--

CREATE TABLE `products_to_categories` (
`products_id` int(11) NOT NULL default '0',
`categories_id` int(11) NOT NULL default '0',
PRIMARY KEY (`products_id`,`categories_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `products_to_categories`
--

INSERT INTO `products_to_categories` VALUES (5, 6);
INSERT INTO `products_to_categories` VALUES (7, 6);
INSERT INTO `products_to_categories` VALUES (8, 6);
INSERT INTO `products_to_categories` VALUES (9, 5);

Deocamdata, am niste produse aiurea, pentru test, dar cum pot sa-i spun eu PHPMyAdmin-ului sa-mi distribuie produsele de care am nevoie in categorii tinand cont de categories_id sau products_id?

beeuser
Senior Member
Mesaje: 390
Membru din: Joi Mai 20, 2004 10:32 am
Contact:

Mesajde beeuser » Lun Noi 22, 2004 1:15 am

So....
Daca ai id-ul produsului si id-ul categoriei n-ar trebui sa ai probleme.
In primu rand tre sa iti faci niste categorii.

Daca in fisierul text nu ai specificat fiecarui produs, o categorie atunci e nasol, pt. ca n-ai cum sa asignezi automat produs->categorie.
Nu stiu unde nu intelegi....

Eu tind sa cred ca tu n-ai si categoria din care face parte...
da o bucata de fisierul de import sa vad.

rem
Average Member
Mesaje: 62
Membru din: Mie Noi 10, 2004 11:50 am
Localitate: Cluj-Napoca
Contact:

Ok..

Mesajde rem » Lun Noi 22, 2004 11:01 am


beeuser
Senior Member
Mesaje: 390
Membru din: Joi Mai 20, 2004 10:32 am
Contact:

Mesajde beeuser » Lun Noi 22, 2004 1:25 pm

Mai io nu inteleg ce tot zici acolo.
Ce ti-am cerut eu, si ce mi-ai dat tu...
Tu ai zis ca vrei sa importi dintr-un fisier .csv produse. Eu ti-am zis sa-mi dai cateva linii din fisierul csv, sa vad cum e structurat.
Legatura din produs->categorie in os e facuta de tabela products_to_categories. N-ai nici treaba cu tabela products. comprendre?
Daca in fisierul csv, din care vrei sa importi nu ai categoria pt. fiecare produs, atunci n-ai cum sa asignezi automat produs->categorie. Tre sa faci manual.
Da-mi numa cateva linii din csv

rem
Average Member
Mesaje: 62
Membru din: Mie Noi 10, 2004 11:50 am
Localitate: Cluj-Napoca
Contact:

Aha..

Mesajde rem » Lun Noi 22, 2004 1:39 pm

Pai daca export un csv din tabela products_to_categories ii si mai mare beleaua...

Cam asa arata:

7;"6"
8;"6"
9;"6"

(eu am crezut ca aici trebuie sa fac modificarile pentru a adauga produse)

CSV-ul tabelei produse:

"7";"0";;NULL;"20.0000";"2004-11-19 19:24:38";NULL;NULL;"0.00";"1";"0";"0";"0";"5.0000"
"8";"0";;NULL;"20.0000";"2004-11-19 19:22:21";NULL;NULL;"0.00";"1";"0";"0";"0";"5.0000"
"9";"0";;NULL;"20.0000";"2004-11-21 00:19:49";NULL;"2004-11-22 00:00:00";"0.00";"1";"0";"0";"0";"5.0000"

beeuser
Senior Member
Mesaje: 390
Membru din: Joi Mai 20, 2004 10:32 am
Contact:

Mesajde beeuser » Lun Noi 22, 2004 2:10 pm

I give up.
Io credeam ca vrei sa importi.
Ce tot vorbesti de export?
.....

rem
Average Member
Mesaje: 62
Membru din: Mie Noi 10, 2004 11:50 am
Localitate: Cluj-Napoca
Contact:

Nuuuuuuuu...

Mesajde rem » Lun Noi 22, 2004 5:39 pm

Uite care-i baiu':

Intr-adevar vreau sa import... Dar crede-ma ca habar n-am cum naiba sa fac chestia asta.

De aceea, am exportat din tabelele products si products_to_categories fisiere csv si sql sa le vad structura. De asta ma tot elucubrez cu exportu' asta...

Eu m-am gandit ca daca modific structura initiala a fisierului csv exportat, respectand acelasi sablon, ex:


"7";"0";;NULL;"20.0000";"2004-11-19 19:24:38";NULL;NULL;"0.00";"1";"0";"0";"0";"5.0000" - structura intiala a unui rand din tabela (ii dau ctrl+c si api ctrl+v de cate ori am nevoie, in fisierul meu)

si apoi schimb fiecare rand in parte:

"8";"0";;NULL;"20.0000";'etc...

si apoi "9"; "0";;NULL; "20.0000";, "etc... si

"10"; "0";;NULL; "20.0000";, "etc... ,

"11"; "0";;NULL; "20.0000";, "etc...

as putea popula baza de date mai usor. Practic eu asa avea de modificat doar numarul si descrierea acestora, din moment ce toate produsele sunt la acelasi pret, fabricant, marime, greutate...

Eu m-am gandit ca as putea da copy la un rand din tabela si apoi paste de cate ori am nevoie si apoi as putea sa-l modific intr-un fisier txt sau csv...si sa-l pun la loc cu toate dihaniile insirate acolo.

Dar de unde sa scot eu structura tabelului decat daca o export din PHPMyAdmin?

Altfel? Eu am intr-un fisier .doc toate produsele cu descrierea lor insirate... E clar ca nu pot baga doc-ul in baza de date, nu? Tre' sa-i dau o forma anume, specifica csv-ului sa-mi permita inserarea produselor in baza de date. Nu am un csv cu produsele, gata aranjat!

Se poate face asta daca respect sablonul csv-ului exportat din produse, dar nici pana la Craciunu' viitor nu-mi pune pe categorii, asa cum trebuie !

Beeuser, te rog sa ma scuzi daca sunt prea insistent. Nu vreau lucrul acesta.
Inteleg daca nu vrei sa-ti mai bati capul cu mine...

Cele bune si multumesc pentru timp.
Remus.

beeuser
Senior Member
Mesaje: 390
Membru din: Joi Mai 20, 2004 10:32 am
Contact:

Mesajde beeuser » Lun Noi 22, 2004 5:59 pm

Eu atat iti zic.
Problema ta e ca nu stii in ce categorie sa pui produsul. Si daca nu ai legatura intre produs si categorie in docul ala, e nasol. Automat nu ti le pune, ca nu stie unde? got it? nu stiu ce nu-ntelegi.


Înapoi la “PHPMyAdmin”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 2 vizitatori