Melkekartong Skrevet 7. mars 2011 Del Skrevet 7. mars 2011 (endret) Hei hei! Har i det små begynt å lære meg mySQL, men lurte på om dere kunne tipse meg om noen stikkord så jeg kan lære meg det jeg ønsker å oppnå. * Jeg vil lage en tabell med frivillige som inneholder generell info, dvs navn, e-post, telefonnummer etc. * Disse skal kunne logge seg inn på et webgrensesnitt og sette seg opp til at de vil jobbe forskjellige datoer. * Det skal være en funksjon for å kunne se hvem som vil jobbe når (og da liste telefonnummer, etc). Er smått kjent med php, men i første omgang lurer jeg på hva jeg trenger lære meg innen mySQL for å oppnå målene mine. Jeg klarer å lage en tabell med generell info og klarer å vise dataene fra tabellen, men der stopper det litt opp.. Hvor tar jeg steget videre? Forestiller meg at jeg må lage nok en tabell hvor alle alternative datoer er listet opp, deretter et eller annet slags felt som inneholder IDene til de frivillige som ønsker jobbe de datoene - men hvordan? Samt hvordan kan jeg gå inn på den enkelte frivillige og se når vedkommende har satt seg opp? Endret 7. mars 2011 av Melkekartong Lenke til kommentar
SlettetBruker5125 Skrevet 7. mars 2011 Del Skrevet 7. mars 2011 Jeg mener det riktige nå er å bruke PHP sammen med MySQL for å gi hver enkelt bruker et brukernavn og passord, som autentiseres mot databasen. Du kan gjøre det så enkelt som å lage en form i html, bruke php for å sjekke det som ble skrevet i formen mot MySQL, og så nekte eller tillate brukeren tilgang på en beskyttet side :-) Jeg kan forklare mer konkret eller gi deg et par eksempler på kode senere i dag, men vil anbefale deg at du setter deg inn i det fra bunnen av, etter som man lærer best av å gjøre ting selv Lenke til kommentar
Melkekartong Skrevet 7. mars 2011 Forfatter Del Skrevet 7. mars 2011 Japp. Jeg kan sikkert få til dette med php, for det har jeg vært borti tidligere. Det jeg derimot er usikker på er hvordan jeg skal bygge opp det hele rundt mySQL i forhold til relationships osv. Lenke til kommentar
MikkelRev Skrevet 7. mars 2011 Del Skrevet 7. mars 2011 Feks ansatt (id, navn, epost, tlf) arbeidstid(id, ansatt_id, fra_datotid, til_datotid) Da har du en n:m relasjon mellom ansatt og arbeidstid. En ansatt kan altså ha 0 til mange ønskede arbeidstider over tid. Lenke til kommentar
Melkekartong Skrevet 7. mars 2011 Forfatter Del Skrevet 7. mars 2011 Okei. Slik jeg forstår det må da tabellene (innhold) se slik ut, feks: ansatt(1, Jan, [email protected], 91234567) ansatt(2, Jens, [email protected], 91234577) arbeidstid(1, 1, 26012011, 26012011) arbeidstid(2, 1, 27012011, 27012011) arbeidstid(3, 1, 05022011, 05022011) arbeidstid(4, 2, 26012011, 26012011) arbeidstid(5, 2, 05022011, 05022011) Og at jeg da kan feks telle hvor mange som jobber 26.1.2011 ved å ta en count hvor dato matcher, evt at jeg kan se når "Jan" jobber ved å se hvor jeg finner igjen ansattID 1 i arbeidstid. I så fall skal jeg nok kunne klare lære meg å sy dette sammen Tusen takk for hjelpen Lenke til kommentar
Melkekartong Skrevet 7. mars 2011 Forfatter Del Skrevet 7. mars 2011 (endret) Hmms.. Ser ut til at jeg hvertfall har fått laget tabellene og relationships (phpmyadmin var svært praktisk, gitt!) Hvordan utformer jeg følgende spørring? Vis vaktinfo.Navn og vaktinfo.telefonnummer hvor torsdager.Dato = 17032011? Endret 7. mars 2011 av Melkekartong Lenke til kommentar
Teig Skrevet 7. mars 2011 Del Skrevet 7. mars 2011 Nå er ikke jeg en kløpper i mySQL, men ville trodd det ble noe slik: SELECT Navn, Telefonnummer FROM vaktinfo, torsdager WHERE Dato = 17032011; Lenke til kommentar
Melkekartong Skrevet 7. mars 2011 Forfatter Del Skrevet 7. mars 2011 (endret) Hmms, den viser samtlige av de som er oppført i vaktinfo.. Her er det jeg har så langt: Innhold vaktinfo: mysql> SELECT * FROM vaktinfo; +--------+------+--------------+---------------+-------------+------------+ | vaktID | Navn | E-post | Telefonnummer | Kommentarer | Startet | +--------+------+--------------+---------------+-------------+------------+ | 1 | Jan | [email protected] | 91234567 | | 2008-09-09 | | 2 | Jens | [email protected] | 91234577 | | 2010-01-01 | +--------+------+--------------+---------------+-------------+------------+ 2 rows in set (0.00 sec) Innhold vaktJobb: mysql> SELECT * FROM vaktJobb; +----+--------+-----------+ | id | VaktID | TorsdagID | +----+--------+-----------+ | 1 | 1 | 1 | +----+--------+-----------+ 1 row in set (0.00 sec) Innhold Torsdager: mysql> SELECT * FROM Torsdager; +-----------+-------------+-----------+-----------+------------+ | TorsdagID | ArrType | MinVakter | MaxVakter | Dato | +-----------+-------------+-----------+-----------+------------+ | 1 | Quiz | 5 | 9 | 2011-03-10 | | 2 | Standupshow | 2 | 5 | 2011-03-17 | | 3 | Quiz | 5 | 9 | 2011-03-24 | +-----------+-------------+-----------+-----------+------------+ 3 rows in set (0.00 sec) Resultat fra query: mysql> SELECT Navn, Telefonnummer FROM vaktinfo, Torsdager WHERE Dato = 20110310; +------+---------------+ | Navn | Telefonnummer | +------+---------------+ | Jan | 91234567 | | Jens | 91234577 | +------+---------------+ 2 rows in set (0.00 sec) Endret 7. mars 2011 av Melkekartong Lenke til kommentar
Melkekartong Skrevet 7. mars 2011 Forfatter Del Skrevet 7. mars 2011 Hmms... Nærmer seg. Nå klarer jeg hvertfall vise hvem som jobber basert på TorsdagID. SELECT Navn, Telefonnummer FROM vaktinfo WHERE VaktID IN (SELECT vaktJobb.vaktID FROM vaktJobb WHERE TorsdagID = 1); Lenke til kommentar
laserlars Skrevet 8. mars 2011 Del Skrevet 8. mars 2011 (endret) Hva er det "TorsdagID" gjør ? Du putter "vaktID" inn i den, eller ? Litt merkelig satt opp, men viktigste er at du selv skjønner strukturen så Endret 8. mars 2011 av laserlars Lenke til kommentar
Melkekartong Skrevet 8. mars 2011 Forfatter Del Skrevet 8. mars 2011 Heihei! Japp, har fått det til nå. De ansatte/vaktene skal få mulighet til å sette seg opp på et utvalg av torsdager. Kunne egentlig brukt dato fremfor TorsdagID.. Lenke til kommentar
laserlars Skrevet 8. mars 2011 Del Skrevet 8. mars 2011 Ok, godt det løste seg. Skjønte plutselig litt mer når det kun var torsdager, og ikke hvilken som helst dag 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å