select from database med php

Tags:    php

Jeg har ledt og ledt på nettet for at finde ud af hvordan jeg med PHP kan hente data fra en MySQL database.
I databasen ligger diverse begivenheder som foregår på bestemte datoer, og mit mål er at kunne hente dem som foregik for 7 dage siden (dd. -7) og fremefter.

Jeg har set det lavet i ASP, men er gået over til PHP nu, så jeg vil helst lave det der

/Per Rasmussen



8 svar postet i denne tråd vises herunder
3 indlæg har modtaget i alt 10 karma
Sorter efter stemmer Sorter efter dato
Hej Per.

Du skal først lave en connection til din database i PHP.
Der kan du anvende MySQLI api'et.
Fold kodeboks ind/udPHP kode 

Bemærk at forbindelsen til din database hedder $link, det skal du bruge hver gang du laver et kald til databsen.

Når vi har skabt forbindelse til databasen kan vi begynde at lave forespørgsler til denne.
Fold kodeboks ind/udPHP kode 

Nu ligger hele dit datasæt i variablen $query.
Den kan du så loope igennem for at udskrive værdierne eller du kan tælle rækkerne og se om der er noget datasæt.

For at kunne hjælpe dig med en egentlig SQL er vi nød til at vide hvordan din database ser ud og hvordan datoerne er organiseret.



hvilke format er din dato i ??


demo tabel jeg havde liggende
Fold kodeboks ind/udKode 


lig mærke til last_logon` datetime


sql
Fold kodeboks ind/udKode 

lig mærke til > og ikke <

output
Fold kodeboks ind/udKode 


havde du valgt denne sql
Fold kodeboks ind/udKode 

dvs vendt > om havde du fået de 4 andre ud



så vi skal bruge en demo tabel, med demo dat og forvendtet output




Mine datoer er kun sat som date ikke datetime, er det bedst at ændre dette??

det er ligegyldigt, det virker også med date formatet, så hvis du ikke skal bruge tiden til noget, så behold date formatet




et eks kunne se sådan ud

ref https://www.computerworld.dk/eksperten/spm/1003399?k=8181205
Fold kodeboks ind/udKode 

$mysqli er din connection

men som Daniel Mautone skriver

For at kunne hjælpe dig med en egentlig SQL er vi nød til at vide hvordan din database ser ud og hvordan datoerne er organiseret.





Jeg har allerede det med at connecte og hente data, samt vise det, men uden de begrænsninger som jeg ønsker.
i Databasen hedder felterne
turneringsnavn
fra
til
text felt
og linkfelt.

Det som jeg ønsker er at hente alle turneringer som har en til dato fra -7 dage og fremad



prøv denne i phpmyadmin, og se om du får det resultat du ønsker
Fold kodeboks ind/udKode 

hvis ikke må vi lige have nogle test data (sql dump af din tabel med dummy data)





Hmm jeg prøvede den foreslåede kode, og min kode kom til at se således ud
Fold kodeboks ind/udKode 


Det eneste jeg får frem på siden er en turnering der sluttede d. 30/5, som egentlig ikke burde være kommet frem, men til gengæld så kommer fremtidens turneringer ikke frem, heller ikke en der skulle slutte 18/6





Hej Ronny

Jeg prøvede din kode, efter at have oprettet tabellerne som anvist, og det virkede perfekt.
Så jeg vil lige afprøve det på min egen tabel i morgen.

Mine datoer er kun sat som date ikke datetime, er det bedst at ændre dette??

Men tusind tak for hjælpen



t