Gå til innhold

Har startet på PHP, skal jeg ta meg bry til mySQL?


Anbefalte innlegg

Hei.

 

Topic sier det meste. :)

Jeg har startet på PHP. Foreløpig bare det ALLER enkleste; en if-setning som henter inn undermeny nå jeg trykker på hovedmenyen og en if-setning som henter inn innholdet når man trykker på noe i undermenyen + de else som må til for å laste noe hvis det ike er trykket på noe + feiltester.

 

Dette er foreløpig ikke mye av hva PHP har, det vet jeg. men jeg må begynne et sted. Uansett: er dette en FOR enkelt måte å gjøre det på?

 

Men: Jeg har en side med ca 25-40 html-sider (gamle sida), har det da mye for seg å gjøre om helt til databaser, mySQL? Jeg har webhotell som støtter dette da :)

 

Kan jeg legge inn STORE tekststrenger i databaser? Type en webside(bare selve tekstinnholdet uten menyer og tables) på 2000-3000 ord, inkl XHTML-kode (bare bilder og linker og sånn)? Det er ikke for mye?

 

Er det meningen at man skal legge selve bildene inn i databasen?

 

Hvordan er en database bygd opp? Er det mange tables som jeg kan definere mange innholdsrubrikker i, sånn som i access? Eller er det bare étt stort "excelark"?

 

Kunne jo vært gøy bare for å lære alt, men er det altså noe vits?

 

Takkker for svar ;)

 

hilsen n00b som ikke finner svar på det mest elementære en gang

Lenke til kommentar
Videoannonse
Annonse

JA! Lær deg mysql! Det er absolutt verdt det!

Dersom du kan litt access fra før, lærer du mysql på en-to-tre. Det er samme greiene med tabeller og slike ting. Ingen likheter med excel.

 

Hvis du ikke kan noe access så følger en superkort intro: Mysql har du du som sagt tabeller. F.eks. en tabell som heter Gjestebok. Denne igjen har felter. F.eks. id, navn, hilsen, dato.

Hver nye hilsen i gjesteboken får en rad i tabellen. Så hver hilsen inneholder hvert av feltene over.

 

Vil anbefale deg først å lage f.eks. en gjestebok med mysql. Da får du inn basic-ting, samtidig som du kan lage en til features etterhvert. Og det er faktisk veldig mange ting som likner på en gestebok, bare at det er mer avansert.

 

Så søk litt på f.eks. google eller se

her, så kommer du nok raskt i gang med mysql. (Men lær deg de helt elementære tingene i php aller først...)

 

Forresten kan du lagre lange tekster i mysql! (Bare å velge riktig felt-type)

Endret av EirikO
Lenke til kommentar

Thanx! Hjalp masse bare å vite hvordan ting ser ut. Liker å visualisere ting foran meg så jeg ikke sitter å ser på flat tekst hele tiden.

 

Og riktig felt-type er.. LONGTEXT? til lange tekster?

 

Jeg får uansett error når jeg prøver å lage en tabell i PHP-adminen min. Jeg setter opp til en tabell som heter:

'sider' (pages :p )

med fire felter, som jeg kaller

navn (TEXT, 20, index)

kategori (TEXT, 20)

dato (DATE)

innhold (LONGTEXT)

men den kommer bare med error:

 SQL-query : 

CREATE TABLE `pages` (
`navn` TEXT( 20 ) NOT NULL ,
`dato` DATE NOT NULL ,
`kategori` TEXT NOT NULL ,
`innhold` LONGTEXT NOT NULL ,
INDEX ( `navn` ) ,
UNIQUE (
`innhold`
)
) COMMENT = 'Her lagres selve innholdet på sidene'

MySQL said:
#1064 - 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 '(20) NOT NULL, `dato` DATE NOT NULL, `kategori` TEXT NOT NULL, 

 

Noen ideer...

Lenke til kommentar

du spesifiserer ikke lengde på text, den er "uendelig".

 

VARCHAR | Brukes oftest til lagring av begrensede tekster, som brukernavn, epost adresser, stedsnavn etc.

 

en god tråd finnes her:

http://mysql.digipedia.pl/mysql/en/column-type-overview.html

 

tinyint, smallint, mediumint, int og bigint brukes til lagring av siffer

 

ta en titt her:

http://mysql.digipedia.pl/mysql/en/numeric-types.html

 

er vel hovedkolonne typene...

Lenke til kommentar

Dersom du blir lei av å skrive SQL-setninger støtt og stadig så kan du sjekke ut PHPMyAdmin. Dette er et kontrollpanel laget i PHP som viser tabellene og dataene som er i MySQL-databasen. Her kan du gjøre mye rart med tabellene uten å skrive SQL. Men det er jo veldig lurt å lære seg SQL, og det lærer du best av å knote. :)

Lenke til kommentar
Er det meningen at man skal legge selve bildene inn i databasen?
Er delte meninger om dette. Det er fullt mulig å legge selve bildet inn i databasen, men de fleste vil nok være enige i at det kan bli veldig mye unødvendig og komplisert lagring av data. Det beste mener jeg er å lagre bildenavn/URL i en liten VARCHAR, og heller lage et godt system for lagring av bilder med tanke på plassering (sånn at bildene blir lagret på et fastsatt sted og ikke blir liggende i hytt og pine).
Lenke til kommentar
 SQL-query : 

 

CREATE TABLE `pages` (

`navn` TEXT( 20 ) NOT NULL ,

`dato` DATE NOT NULL ,

`kategori` TEXT NOT NULL ,

`innhold` LONGTEXT NOT NULL ,

INDEX ( `navn` ) ,

UNIQUE (

`innhold`

)

 

[right][snapback]5657395[/snapback][/right]

Vet ikke hva som er feil men iallefall så burde du bruke varchar på navn også er det kanskje ønskelig å ha tidspunktpå datoen da kan du bruke datetime.. Når det gjelder kategori ville jeg hatt kategoriene enten i et set eller en egen tabell også bruk id og skriv deg et script som henter navnet til kategorien med id *.Dette er fordi du skal slippe at du skriver feil og 2 kategorier som har omtrent samme navn så det er egentlig bare for å lette ting. Det er heller ikke behov for å bruke longtext på innhold.

 

Dette ble kanskje litt avansert så hvis du ikke forstod det så kan du jo egentlig bare se bort i fra det.

 

Forresten så kan det å bruke text til 20 tegn sammenlignes med å bygge en motorvei der det knapt nok er behov for vei.

Lenke til kommentar

timestamp er i og for seg god, men den er ikke leselig i klar tekst noen som kan være ønskelig . Er uansett ikke vanskelig å gjøre datetime om til det formatet du skal bruke heller. Det gjøres i spørringen.

Jeg tør uansett påstå at det ikke er noen av Tidsfeltene i sql som er mer nøyaktig enn andre. Så vidt meg bekjent er der ingen som går på millisekunder eller nanosekunder det lengste de går er sekunder mao. like nøyaktige.

Lenke til kommentar

tenkte bare at timestamp er velid leselig med date() funksjonen..

 

f.eks date("d/m/Y", $timestamp_fra_db); returnerer en fedigformatert streng.

 

med strftime() kan du også få den til å si f.eks 25. Februar 2006 på _norsk_ :p

 

Men som sagt, smak og behag...

Lenke til kommentar

Lærer litt nå ja. Diller rundt litt og ser mer og mer hva som er fornuftig å bruke.

Men er det noen som har eksempler på database. Mener da oppsettet. Altså... strukturen var det jeg ville fram til. Hva trenger jeg av variabler inni den tablen jeg skal legge selve side-innholdet i? navn, kategori, dato(datoen jeg skriver den), innhold(selve innholdet med eventuell html++)

Er det et greit sted å starte likegodt?

Lenke til kommentar

Første gang er det vel bare å starte, så kommer du sikkert på flere felter etterhvert. Men det er ikke noe problem å legge dette til. (Bruk phpmyadmin)

 

Selv har jeg ca. 5 tabller til hjemmesiden min:

 

Innlegg: id-dato-tekst-overskrift (blogg-innlegg jeg skriver)

 

kommentar: id-overskrivt-tekst-navn-kommentar_til (folk kan kommentere innleggene. innleggsid blir da lagt i "kommentar_til feltet, slik at jeg vet hvilket innlegg kommentarer hører til.)

 

Shout: id-tekst-navn-dato (folk kan skrive korte hilsner)

 

nettleser: navn-antall (lager statistikk på hvilke nettleser som er populær)

 

sokeord: id-ord-antall (lagrer ord folk ha søkt på i f.eks. google for å finne min side)

Lenke til kommentar

Har det mye for seg å legge inn nye ting på hjemmesiden gjennom å lage en egen side for det med masse form'er? Eller kan jeg likegodt bruke PHPmyAdmin til å oppdatere hjemmesiden? (bortsett fra innlegg og sånn da, for de skal ikke trenge å oppdateres)

 

side: id, navn, kategori, dato, innhold

 

gjestebok: id, navn, mail, web, melding, dato

 

kommentar: id, navn, kommentar, kommentar_til, dato

 

kategori: navn (dette er rett og slett hovedmenyen min...)

 

Er dette er fornuftig foreløpig oppsett?

 

Sånn egen teller for jeg ta på sikt :p Vil ha teller til hver av enkeltsidene, så jeg får se om jeg kan få til det :)

Lenke til kommentar

Du kan jo gjøre alt for phpmyadmin hvis du vil.. (Bortsett fra gjesteboka.. :p )

 

Men jeg synes det var "kulere" å lage et helt eget system som jeg kan logge inn på, og legge til, redigere, slette, endre, osv osv...

Det er også lettere å logge inn på hjemmesiden og fikse ting, enn å rote rundt i phpmyadmin... (Synes jeg.)

 

Synes tabellene dine så greie ut! Bare å sette i gang.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...