Mellet Skrevet 23. april 2006 Del Skrevet 23. april 2006 (endret) Har laget et før. Men det var en stund siden og det ble ikke så alt for bra. Så derfor setter jeg meg ned nå for å prøve på nytt. Er ikke sikker på den beste løsningen for å lage et galleri, men jeg velger å ha alt i en tabell i databasen. (Bildene havner i en mappe på siden.) sql tabell: `id` INT NOT NULL AUTO_INCREMENT , `album` VARCHAR( 50 ) NOT NULL , `navn` VARCHAR( 50 ) NOT NULL , `tekst` TEXT NOT NULL , `thumburl` VARCHAR( 50 ) NOT NULL , `url` VARCHAR( 50 ) NOT NULL , `dato` VARCHAR( 25 ) NOT NULL , PRIMARY KEY ( `id` ) Det første som skal skje i galleriet er at de skal vise fram alle "albummene" jeg har tilgjengelig. Her trenger jeg litt hjelpe, hvordan kan jeg hente ut alle felt i tabellen hvor feltet album er like. Slik at dersom jeg har disse feltene: 'På hytta' 'På hytta' 'I skogen' 'På hytta' 'I skogen' Blir til: 'På hytta' 'I skogen' Dermed vet scriptet at dette er de 2 albummene jeg har så langt. Endret 23. april 2006 av Mellet Lenke til kommentar
trondes Skrevet 23. april 2006 Del Skrevet 23. april 2006 (endret) Høres ut som en fin ide det Men jeg ville kanskje ha tatt med størrelsen på bildene i tabelen også, slik at når du skriver ut html koden så kan du ta med det også.. Hater sider som vokser etter hvert som bildene bli lastet ned Ser at du har skrevet: `thumburl` VARCHAR( 50 ) NOT NULL , `url` VARCHAR( 50 ) NOT NULL , Har du tenkt til å legge inn hele url her? Dette er kanskje ikke så smart, tenk hva som skjer hvis du engang flytter litt på mappene dine eller får ny domene. Jeg ville ha satt selve path/url i selve scriptet og bare lagret filnavnet i databasen. Du trenger igrunn bare et felt også: "filnavn". Du kan enten legge filene i forskjellige mapper "thumb" og "images" eller sette en "th_" forand filnavnet og legge alle i samme mappe. En annen ting er at jeg forstår ikke hvorfor dere bruker varchar() på datafelt, ser mange som gjør dette. Selv ville jeg valgt datetime eller date. Ved lagring setter jeg bare inne now() og når jeg heter ut bruker jeg date_format() for å få ut slik som jeg vil ha det. SELECT * FROM <tabelnavn> GROUP BY album ORDER BY album Denne vil bare gi deg en ut for hver album. Jeg ville også ha laget en egen tabel for album navn, men det er nå meg `album_id` INT NOT NULL AUTO_INCREMENT , `navn` VARCHAR( 50 ) NOT NULL , `beskrivelse` TEXT NOT NULL MEn jeg liker å ha flere tabeler da Lykke til videre. Endret 23. april 2006 av trondes Lenke til kommentar
Mellet Skrevet 23. april 2006 Forfatter Del Skrevet 23. april 2006 Men jeg ville kanskje ha tatt med størrelsen på bildene i tabelen også, slik at når du skriver ut html koden så kan du ta med det også. Ja, tenkte på det i etterkant. Skal legge det til også. Har du tenkt til å legge inn hele url her? Nei, har bare tenkt å legge filnavn (bildenavn.jpg) i databasen. En annen ting er at jeg forstår ikke hvorfor dere bruker varchar() på datofelt, ser mange som gjør dette. Selv ville jeg valgt datetime eller date. Ved lagring setter jeg bare inne now() og når jeg heter ut bruker jeg date_format() for å få ut slik som jeg vil ha det. Har prøvd meg med det bruke datetime men får ikke helt til SELECT * FROM <tabelnavn> GROUP BY album ORDER BY album Denne vil bare gi deg en ut for hver album. Jeg ville også ha laget en egen tabel for album navn, men det er nå meg Slik var det ja. Tekte også på å lage en egen tabell for album, så jeg kan legge til en beskrivelse på albummet ja. Lenke til kommentar
sfenne Skrevet 26. april 2006 Del Skrevet 26. april 2006 (endret) tbl.bilder `id` INT(5) NOT NULL AUTO_INCREMENT , `albumid` INT( 5 ) NOT NULL , `bildetittel` CHAR( 50 ) NOT NULL , `bildetekst` TEXT NOT NULL , `thumbimg` TINYBLOB NOT NULL , `fullimg` MEDIUMBLOB NOT NULL , `dato` INT( 10 ) NOT NULL , PRIMARY KEY ( `id` ) tbl.galleri `id` INT(5) NOT NULL AUTO_INCREMENT , `galleritittel` CHAR( 50 ) NOT NULL , PRIMARY KEY ( `id` ) $sql=mysql_query("SELECT g.id gid,g.galleritittel,b.* FROM galleri g, bilder b WHERE b.albumid=a.id ORDER BY a.tittel"); while($row=mysql_fetch_assoc($sql)){} albumid referer til galleri BLOB = binary, du lagrer bildet i databasen (hvis ønskelig). Du bruker convert (imagemagick) for resizing/cropping av bildet. $row["dato"] = 'dato: '.date("d.m.Y H:i:s", $row["dato"]); Endret 26. april 2006 av sfenne Lenke til kommentar
Mellet Skrevet 26. april 2006 Forfatter Del Skrevet 26. april 2006 BLOB = binary, du lagrer bildet i databasen (hvis ønskelig). Hmm, lyst å gå litt nermer inn på hvordan jeg legger bildene inn i databasen. Alltid lurt på dette. Eller kom med en link som forklarer meg dette. Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå