jorgis Skrevet 16. august 2004 Del Skrevet 16. august 2004 Tror ikke man kan kjøre 2 spørringer etter hverandre Du kan ikke kjøre to spørringer i et kall til mysql_query(). F.eks. er dette galt: $sql = mysql_query("SELECT * FROM users; INSERT fisk INTO users;"); Å kjøre to seperate spørringer går helt greit. Lenke til kommentar
Lemkin Skrevet 16. august 2004 Del Skrevet 16. august 2004 oki. Man lærer noe nytt for hver dag som går (eller noe) Lenke til kommentar
Torbjørn Skrevet 16. august 2004 Del Skrevet 16. august 2004 (endret) mysql har førti-snørr funksjoner for å gjøre dato-matematikk i en håndvending. men jeg skjønner fortsatt ikke hva du ønsker å gjøre? du trenger ikke + og - for å finne eldste dato. ønsker du å finne alder på den eldste datoen? select max(dato) from tabell hentes lett ut vha php. evt kan mysqlfunksjonen datediff brukes for å hente ut alder i dager. alder til nyeste dato: select datediff(now(),dato) as alder from tabell order by dato desc limit 1 alder til eldste dato: select datediff(now(),dato) as alder from tabell order by dato limit 1 EDIT: alle funksjonene finner du her:http://dev.mysql.com/doc/mysql/en/Date_and_time_functions.html Endret 16. august 2004 av Torbjørn Lenke til kommentar
Smidt Skrevet 16. august 2004 Forfatter Del Skrevet 16. august 2004 (endret) Har du prøvd å kjøre date() slik som det står i manualen, med to parametre? nei, er ikke helt sikker på hva du mener, kan du forklare litt? Endret 16. august 2004 av Smidt Lenke til kommentar
Smidt Skrevet 16. august 2004 Forfatter Del Skrevet 16. august 2004 det jeg tenker å gjøre er å først finne dato(m/tid) for elste og nyeste post. deretter dele differansen på antall poster som er postet totalt for å finne hvor ofte det har blitt postet. foreløpig er det bare det jeg ønsker å få til. er åpen for andre statistikk forslag, men først hadde det vært greit å få løst det første. Lenke til kommentar
Torbjørn Skrevet 16. august 2004 Del Skrevet 16. august 2004 vel, max(dato) eller min(dato) løser ditt første problem... vil du ha antall poster per dag? per time? eller per sekund? Lenke til kommentar
Smidt Skrevet 16. august 2004 Forfatter Del Skrevet 16. august 2004 hadde vært greit med tiden i dager og timer om det går Lenke til kommentar
Smidt Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 jeg har nå funnet feilen, men vet ikke hvordan jeg skal fikse det. <?php require"dbconnect.php"; $q="SELECT * FROM article ORDER BY date DESC LIMIT 1"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->date; echo"$datelast"; echo"<br>"; $q="SELECT * FROM article ORDER BY date ASC LIMIT 1"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datefirst=$art->date; echo"$datefirst"; echo"<br>"; $datelastmk=mktime($datelast); $datefirstmk=mktime($datefirst); echo"$datefirstmk<br>"; echo"$datelastmk"; ?> når jeg echoer ut $datefirstmk og $datelastmk blir de det samme talle og tallet forandrer seg når jeg refresher. det må jo da være grunnen til at jeg får 0 som sum når jeg trekker de fra hverandre. det virker jo da som om stringene blir omgjort til det tidspunktet som er nå og til unix timestamp på en gang, mens jeg bare vil at de skal bli til unix timestamp (om jeg har forstått rett). hvordan kan jeg fikse på det? Lenke til kommentar
Torbjørn Skrevet 17. august 2004 Del Skrevet 17. august 2004 kanskje du bare har en rad i tabellen? hvorfor ikke bruke mysqlfunksjonene jeg foreslår? Lenke til kommentar
Smidt Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 okei, tester med Torbjørn sin kode: <?php require"dbconnect.php"; $q="SELECT max(date) FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->date; echo"$datelast"; require"dbconnect.php"; $q="SELECT min(date) FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->date; echo"$datefirst"; ?> Dette skulle da i prinsippet echoet ut den siste og første datoen en post ble skrevet, men jeg får ikke ut noe. der etter vil jeg regne ut differansen mellom disse to tidene og dele differansen på antall poster. Lenke til kommentar
joffar Skrevet 17. august 2004 Del Skrevet 17. august 2004 prøv med $q="SELECT max(date) AS lastDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->lastDate; og $q="SELECT min(date) AS firstDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datefirst=$art->firstDate; Lenke til kommentar
Smidt Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 (endret) jess, da er vi der og kan hente ut dato og tid med følgende kode. <?php require"dbconnect.php"; $q="SELECT minx(date) AS lastDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->lastDate; echo"$datelast<br>"; $q="SELECT max(date) AS firstDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datefirst=$art->firstDate; echo"$datefirst"; ?> hvordan kan jeg så trekke den første fra den siste nå? Endret 17. august 2004 av Smidt Lenke til kommentar
joffar Skrevet 17. august 2004 Del Skrevet 17. august 2004 (endret) jess, da er vi der og kan hente ut dato og tid med følgende kode. <?php require"dbconnect.php"; $q="SELECT max(date) AS lastDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->lastDate; echo"$datelast<br>"; $q="SELECT min(date) AS firstDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datefirst=$art->firstDate; echo"$datefirst"; ?> hvordan kan jeg så trekke den første fra den siste nå? /* return the difference in days between two PHP timestamps */ $var_days = ($lastDate - $firstDate) / 86400; // sekunder per day Ellers er det noen php datediff functioner her: http://www.ilovejackdaniels.com/php/php-datediff-function/ http://www.michaelhorowitz.com/php/datediff.php Endret 17. august 2004 av joffar Lenke til kommentar
Smidt Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 når jeg trekker den ene fra den andre blir det bare 0 uansett.. det går altså gale ett eller annet sted under regningen. har nå altså samme feilen som i sted. <?php require"dbconnect.php"; $q="SELECT max(date) AS lastDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->lastDate; echo"Siste post er foreløpig postet $datelast<br>"; $q="SELECT min(date) AS firstDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datefirst=$art->firstDate; echo"Første post ble skrevet $datefirst<br>"; $datefirst=mktime($datefirst); $datelast=mktime($datelast); $var_days = ($lastdate - $firstdate); echo"$var_days"; ?> Lenke til kommentar
joffar Skrevet 17. august 2004 Del Skrevet 17. august 2004 (endret) når jeg trekker den ene fra den andre blir det bare 0 uansett.. det går altså gale ett eller annet sted under regningen. har nå altså samme feilen som i sted. <?php require"dbconnect.php"; $q="SELECT max(date) AS lastDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->lastDate; echo"Siste post er foreløpig postet $datelast<br>"; $q="SELECT min(date) AS firstDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datefirst=$art->firstDate; echo"Første post ble skrevet $datefirst<br>"; $datefirst=mktime($datefirst); $datelast=mktime($datelast); $var_days = ($lastdate - $firstdate); echo"$var_days"; ?> Her er feilen $datefirst=mktime($datefirst); $datelast=mktime($datelast); feil: $var_days = ($lastdate - $firstdate); skal være: $var_days = ($datelast - $datefirst); echo"$var_days"; Endret 17. august 2004 av joffar Lenke til kommentar
rogbiff Skrevet 17. august 2004 Del Skrevet 17. august 2004 (endret) Vis du vil hente ut første og siste post, kan du enkelt gjøre det med max() og min() --> (som er mysql funksjoner). $query= "SELECT min(timestamp eller id), max(timestamp eller id) FROM tabellnavn"; Endret 17. august 2004 av rogbiff Lenke til kommentar
Torbjørn Skrevet 17. august 2004 Del Skrevet 17. august 2004 (endret) igjen, leste du mysql siden jeg foreslo? skal du hente ut forskjellen i dager kanskje? bruk da to_days select to_days(now()) - to_days(min(dato)) as EldsteDagerGammel select to_days(now()) - to_days(max(dato)) as YngsteDagerGammel Endret 17. august 2004 av Torbjørn Lenke til kommentar
Smidt Skrevet 17. august 2004 Forfatter Del Skrevet 17. august 2004 har knotet litt frem og tilbake og fått til dette: nå virker det som det skal og <?php require"dbconnect.php"; $q="SELECT max(date) AS lastDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datelast=$art->lastDate; $q="SELECT min(date) AS firstDate FROM article"; $result= mysql_query($q, $connection) or die(); $art=mysql_fetch_object($result); $datefirst=$art->firstDate; echo"Første post ble skrevet $datefirst<br><br>"; echo"Siste post er foreløpig postet $datelast<br>"; $datefirst=strtotime($datefirst); $datelast=strtotime($datelast); $var_days = (time() - $datefirst); $q="SELECT COUNT(id) AS AntallPoster from article"; $result= mysql_query($q, $connection) or die ("Could not execute query : $q." . mysql_error()); $antall_poster = mysql_result($result,0,"AntallPoster"); $tidprpost= $var_days / $antall_poster; $dager = floor( $tidprpost / 86400); $timer = floor(($tidprpost - $dager * 86400) / 3600); $minutter = floor(($tidprpost - $dager * 86400 - $timer * 3600) / 60); $sekunder = floor($tidprpost - $dager * 86400 - $timer * 3600 - $minutter * 60); echo "<br>"; echo "Det har i gjennomsnitt gått $dager dager $timer timer $minutter minutter $sekunder sekunder mellom hver gang noe har blitt postet"; ?> 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å