Avatar billede krohn Praktikant
09. april 2011 - 23:29 Der er 6 kommentarer og
1 løsning

Excel til MySql

Jeg prøver at lave en side med en del formler.
Jeg vil gerne have formlerne ind i en MySql, og derfra bruge dem på siden i nogle "Spry collapsible panels"
Se eksempel her http://krohn.nu/forms/index.php
Ved godt det ikke ser færdigt ud, men er for at give en ide om det jeg vil opnå.
Jeg har de data der skal ind på siden i et Excel ark. Jeg har ikke oprettet nogle tabeler eller felter i min DB da jeg ikke er helt sikker på hvordan jeg skal gribe det an.
Jeg har oprettet et Excel ark med noget test info det kan hentes her http://krohn.nu/downloads.php?cat_id=7
Det jeg mangler er at vide om jeg er helt gal på den, og hvis ja, hvad skal jeg så, og hvordan??
Det er ikke meningen at jeg skal tilføje løbene, loader alle data på en gang.
Når det er der kommer det med at echo Spry collapsibel panels, men den tager jeg når den kommer..
10. april 2011 - 08:44 #1
Lad mig proeve udtrykke problemet med mine egne ord for at du kan se om jeg har forstaaet det rigtigt.  Hvis ikke, saa fortael hvor jeg gik galt i byen.

Du har et Excel ark med et antal kolonner og med data i kolonnerne.  Nu vil du have en mysql tabel med de samme kolonner og med det samme indhold i kolonnerne.

Hvis det er korrekt forstaaet, saa gaar det nemmest hvis du administrerer din database ved hjaelp af phpmyadmin.  Det gaar saaledes:

(1) Du bevarer dit Excel ark i csv (comma separated values) format.
(2) Du opretter en mysql tabel med det samme antal kolonner som i Excel arket og med passende datatyper.  Hvis du for eksempel i Excel arket har to kolonner, den foerste med tekst, den anden med tal kan du goere saaledes:  CREATE TABLE Krohn(Kol1 INT, Kol2 VARCHAR(256))
(3) I phpmyadmin klikker du paa tabellen og derefter paa Import, browse til Excel regnearket, og klik paa Go.
(4) Med lidt held skulle du saa have Excel arkets data i mysql tabellen.
Avatar billede krohn Praktikant
10. april 2011 - 22:52 #2
Jeg prøvede mig lidt frem, og endte med denne her.
--------------------------------------------------------
CREATE TABLE IF NOT EXISTS `form_faq` (
  `faq_cat_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `faq_cat_name` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `faq_cat_description`    text NOT NULL,
  `faq_group_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
  `faq_group_name`    mediumint(8) unsigned NOT NULL DEFAULT '0',
  `faq_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
  `faq_question` varchar(200) NOT NULL DEFAULT '',
  `faq_answer` text NOT NULL,
    PRIMARY KEY (`faq_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
-----------------------------------------------------------------

Jeg har så i Excel oprettet koloner som passer til de "table" og uploadet dem (ikke alle endnu).

Mener det må kunne gøre jobbet, men vil gerne høre jer, da dette er mit første projekt fra bunden.

Er der en måde at jeg kan få det data der er i "faq_answer" til at være på flere linjer? Nu står det bare i en lang linje, da jeg ikke viste hvordan jeg gjorde.

Se evt her: http://krohn.nu/forms/

Min Excel.csv hedder "Faq upload", og er her: http://krohn.nu/downloads.php?cat_id=7
Avatar billede krohn Praktikant
10. april 2011 - 22:56 #3
Ps. køre egen webserver, og bruger Zpanel, med Apache, mysql, og PhpMyadmin.
Til at bygge siden bruger jeg Dreamweaver CS5 (ikke helt fortrolig med den endnu)
Hvis det hjælper at vide
11. april 2011 - 08:52 #4
Lad mig sikre mig at jeg forstaar problemet:  Du har data i et Excel ark som du skal bruge paa din hjemmeside.  Derfor vil du foerst overfoere dataerne fra Excel til Mysql.  Naar det er lykkedes at overfoere dataerne fra Excel til Mysql vil du kikke paa det med at anvende dataerne paa hjemmesiden, men det er for senere.

Det synes jeg er en fornuftig fremgangsmaade, et trin ad gangen.  Dette spoergsmaal drejer sig derfor udelukkende om at overfoere data fra Excel til Mysql.  (Derfor er Dreamweaver o.s.v. ikke relevant for dette spoergsmaal.)

Du fortaeller saa, tror jeg, at du har oprettet en mysql tabel form_faq der svarer til dit Excel ark.  Har du proevet at overfoere dataerne fra Excel arket til mysql tabellen?  Fortael mig om det Virkede?  Eller opstod der problemer?  Saa beskriv disse saa vi kan faa det paa plads.

Naar du saa kan overfoere fra Excel til Mysl, saa fortaeller du at hvert faq spoergsmaal kan have adskillige svar.  For eksempel er der et spoergsmaal der har disse fire svar: Pressure gradient, psi/ft, using mud weight, ppg.  Det klarer du foreloebigt ved i kolonnen faq_answer at vise alle svarene med komma imellem.  Har jeg forstaaet det korrekt?  Men det er ikke hensigtsmaessigt, du vil gerne i stedet have hvert svar paa sin egen linie. 

Det er et spoergsmaal om data struktur som der kan findes loesninger paa.  Yderligere ser det ud til at faq spoergsmaalene falder i forskellige kategorier og i forskellige grupper.  I hver linie har du et faq spoergsmaal og id og navn paa kategorien og id og navn paa gruppen.  Det er af andre aarsager heller ikke en hensigtsmaessig struktur, og det kan ogsaa forbedres.  Men sig mig hvorfor du foerst vil placere dine data i et Excel regneark og overfoere dem til Mysql i stedet for at loade dine data i Mysql direkte?

Men som sagt, foerst fortael hvordan det gik med at overfoere data fra Excel til Mysql.
Avatar billede krohn Praktikant
11. april 2011 - 20:01 #5
Q:
Lad mig sikre mig at jeg forstaar problemet:  Du har data i et Excel ark som du skal bruge paa din hjemmeside.  Derfor vil du foerst overfoere dataerne fra Excel til Mysql.  Naar det er lykkedes at overfoere dataerne fra Excel til Mysql vil du kikke paa det med at anvende dataerne paa hjemmesiden, men det er for senere.
A:
Ja det er korrekt, skal kunne følge med selv :)
Q:
Du fortaeller saa, tror jeg, at du har oprettet en mysql tabel form_faq der svarer til dit Excel ark.  Har du proevet at overfoere dataerne fra Excel arket til mysql tabellen?  Fortael mig om det Virkede?  Eller opstod der problemer?  Saa beskriv disse saa vi kan faa det paa plads.
A:
Ja det har jeg, og det gik fint. Jeg kan se dataene, og også hente dem i Dreamweaver til siden.
Q:
Naar du saa kan overfoere fra Excel til Mysl, saa fortaeller du at hvert faq spoergsmaal kan have adskillige svar.  For eksempel er der et spoergsmaal der har disse fire svar: Pressure gradient, psi/ft, using mud weight, ppg.  Det klarer du foreloebigt ved i kolonnen faq_answer at vise alle svarene med komma imellem.  Har jeg forstaaet det korrekt?  Men det er ikke hensigtsmaessigt, du vil gerne i stedet have hvert svar paa sin egen linie. 
A:
Der er ikke flere svar til hvert spørgsmål ment på den måde at følgene " psi/ft = mud weight, ppg x 0.052 Example: 12.0 ppg fluid.Psi/ft = 12.0 ppg x 0.052. psi/ft = 0.624" er et svar, men ja jeg ville gerne have det til at vises sådan her:
------------------------------------------------------------------------------------------------
Q: Pressure gradient, psi/ft, using mud weight, ppg
A: psi/ft = mud weight, ppg x 0.052    Example: 12.0 ppg fluid
  Psi/ft = 12.0 ppg x 0.052
  psi/ft = 0.624
-------------------------------------------------------------------------------------------------
Q:
Det er et spoergsmaal om data struktur som der kan findes loesninger paa.  Yderligere ser det ud til at faq spoergsmaalene falder i forskellige kategorier og i forskellige grupper.  I hver linie har du et faq spoergsmaal og id og navn paa kategorien og id og navn paa gruppen.  Det er af andre aarsager heller ikke en hensigtsmaessig struktur, og det kan ogsaa forbedres.  Men sig mig hvorfor du foerst vil placere dine data i et Excel regneark og overfoere dem til Mysql i stedet for at loade dine data i Mysql direkte?

Men som sagt, foerst fortael hvordan det gik med at overfoere data fra Excel til Mysql.
A:
Ok tænkte på dette, men satte det "bare" op som "bogen" er opbygget.
Grunden til jeg brugte Excel var at det for mig var "nemt" men det er ikke et must. Jeg tænkte jeg ellers skulle have en "admin" side i php til at skrive til mysql, men er meget åben for foreslag.
11. april 2011 - 21:30 #6
krohn, du bad i dit oprindelige spoergsmaal om hjaelp til at faa de data du har i Excel ind i MySql saa du kan bruge dem paa hjemmesiden.  Det gav jeg i mit svar #1, og ifoelge hvad du fortaeller i #5 saa virkede det.  Saa jeg vil bede dig acceptere mit svar #1 og afgive de udlovede points.  Saa er det til en side.  Er det 'fair enough'?

Saa opstillede du i #2 endnu et problem, det at faa faq_answer udskrevet i flere linier.  Det misforstod jeg i foerste omgang, fordi jeg ikke forstod de links du gav til hjemmesiden.  Jeg havde ikke opdaget at der paa hjemmesiden var links der skulle klikkes paa for at faa oplysningerne.  Det har  saa gjort nu.  Det ser ud til at hvert svar har tre elementer, i foerste linie disse tre:

'psi/ft = mud weight, ppg x 0.052    Example: 12.0 ppg fluidjeg',
'Psi/ft = 12.0 ppg x 0.052', og
'psi/ft = 0.624'. 

Hvis du vil have disse tre elementer udskrevet adskilt, saa som paa tre linier, saa foreslaar jeg at du i Excel og i database tabellen i stedet for kolonnen faq_answer saa laver tre kolonner faq_answer1, faq_answer2, og faq_answer3. 

Saa det med datastrukturen - hvis du foretraekker at bruge Excel til at indfoere data og hvis der ikke er tusindvis af spoergsmaal og hvis formaalet er begraenset til at presentere dataerne paa hjemmesiden, saa skal du maaske lade det vaere som det er.  Database-struktur fanatikere, som mig selv, vil rynke paa naesen af at du, for eksempel, skriver ti gange at kategorien med cat_id = 1 har navnet 'Basic formulas' og beskrivelsen 'Basic formulas'.  I en saakaldt normaliseret database struktur ville du have en saerskilt tabel Kategori med kolonnerne id, navn, og beskrivelse og en saerskilt tabel Gruppe med kolonnerne id og navn.  Saa vil tabellen form_faq kun indeholde kolonnerne faq_cat_id, faq_group_id, faq_id, faq_question, og faq_answer.  En saadan normaliseret struktur vil i komplicerede databaser have en raekke fordele, men som sagt er det velsagtens ikke noedvendigt i dit tilfaelde.
Avatar billede krohn Praktikant
11. april 2011 - 23:38 #7
Helt fair :)
Jeg er kommet stykke videre. Og vil prøve mig lidt frem. Opretter nyt spørgsmål senere hvis nødvendigt-
Takker for nu
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester