Wackamole Skrevet 29. april 2008 Del Skrevet 29. april 2008 (endret) Hei, sliter litt med et problem. Jeg har i tankene en nedteller for og telle ned antall dager og timer til annenhver fredag. Jeg har ingen kode, men trenger info om hvordan jeg burde gjøre dette... Blir ikke "live" script (ajax, javascript, elns.), men skal bare oppdateres hver gang man reloader siden. Håper at det er noen gode sjeler der ute, som kan gi meg en peilepinne på hvordan jeg kan gjøre dette -Fredrik Endret 30. april 2008 av Famen Lenke til kommentar
Hallonen Skrevet 29. april 2008 Del Skrevet 29. april 2008 Det enkleste vil vel være å regne det ut ifra en gitt startdato, skulle jeg tro Lenke til kommentar
Wackamole Skrevet 29. april 2008 Forfatter Del Skrevet 29. april 2008 Ja, men så må jeg også hoppe over en fredag i måneden... Lenke til kommentar
Hallonen Skrevet 29. april 2008 Del Skrevet 29. april 2008 Dersom dette er en fast fredag hver mnd (f.eks den siste i hver mnd), så er det bare å regne seg frem til hvilken fredag det blir. Hvis det er en tilfeldig valgt fredag, må du nesten plotte inn hvilke fredager det skal telles ned til i en database eller lignende. Lenke til kommentar
pulse Skrevet 29. april 2008 Del Skrevet 29. april 2008 Håper at det er noen gode sjeler der ute, som kan gi meg en peilepinne på hvordan jeg kan gjøre dette Annen hver? Er vel lettere om du kommer med en dato. men uansett, her er en pekepin: Du kan bruke strtotime("Next Friday"); Og om det er neste der igjen kan du bruke strtotime("+1 week Next Friday"); (tror jeg) Deretter kan du bare trekke dette ifra nåtid, og du har antall sekunder mellom datoene. -- Utestet! Lenke til kommentar
Wackamole Skrevet 29. april 2008 Forfatter Del Skrevet 29. april 2008 <?php $nextfri = date('d', strtotime("Next Friday")); $present = date('d'); $countdown = $present-$nextfri; echo $countdown; ?> Slik?, mulig jeg er helt på jorde nå, men det blir feil Lenke til kommentar
pulse Skrevet 29. april 2008 Del Skrevet 29. april 2008 Det blir litt feil ja. Prøv denne: <?php $countdown = strtotime("Next Friday") - time(); echo "Det er $countdown sekunder igjen."; ?> Lenke til kommentar
Wackamole Skrevet 29. april 2008 Forfatter Del Skrevet 29. april 2008 <?php $nextfri = date('U', strtotime("Next Friday")); $present = date('U'); $countdown = $nextfri-$present; $cdmin = $countdown / '60'; $cdhours = $cdmin / '60'; $cddays = $cdhours / '24'; $cdmincut = mb_substr($cdmin,0,4); $cdhourscut = mb_substr($cdhours,0,2); $cddayscut = mb_substr($cddays,0,2); echo "Det er: $cddayscut dager, $cdhourscut timer og $cdmincut minutter igjen til neste fredag<br><br>"; ?> har denne koden nå, men det selvsagt feil, men jeg er litt usikker på regnestykket, fordi jeg vil telle dager, timer og minutter til fredagen... Lenke til kommentar
pulse Skrevet 29. april 2008 Del Skrevet 29. april 2008 <?php$nextfri = date('U', strtotime("Next Friday"));$present = date('U'); $countdown = $nextfri-$present;Der er i alle fall første feil. Du må fjerne date('U', ) så du sitter igjen med kun: $nextfri = strtotime("Next Friday"): i linje 1, og linje to må du bytte ut date('U') med time(); så den blir: $present = time(); Da skal du sitte igjen med antall sekunder. (Om du vil regne om disse til dager/timer/minutter/sekunder så gjøres dette på en annen måte, uten bruk av date(); ). Få til del en først, så skal vi heller se på det med omregning. Lenke til kommentar
Flin Skrevet 29. april 2008 Del Skrevet 29. april 2008 $nextfri = date('U', strtotime("Next Friday")); $present = date('U'); $countdown = $nextfri-$present; $cdmin = $countdown / 60; $cdhours = $cdmin / 60; $cddays = $cdhours / 24; $cdmincut = substr($cdmin,0,4); $cdhourscut = substr($cdhours,0,2); $cddayscut = substr($cddays,0,2); echo "Det er: $cddayscut dager, $cdhourscut timer og $cdmincut minutter igjen til neste fredag<br><br>"; ?> Regnestykket stemmer, jeg bytta bare om på en ting så funka det for meg. Bruker substr itstede for mb_substr. Lenke til kommentar
pulse Skrevet 29. april 2008 Del Skrevet 29. april 2008 (endret) Hvorfor ha med date('U'); hele tiden? Den bruker serverens hestekrefter, men endrer da overhodet ingen ting. $nextfri = date('U', strtotime("Next Friday")); og $nextfri = strtotime("Next Friday"); skal da gi nøyaktig samme svar? Edit: Den er også veldig forvirrende, da den gjør koden mer tunglest. Endret 29. april 2008 av pulse Lenke til kommentar
Wackamole Skrevet 29. april 2008 Forfatter Del Skrevet 29. april 2008 (endret) <?php //Finne ut når neste fredag er, og nåtid $nextfri = strtotime("Next Friday"); $present = time(); //Substraktere sekunder til neste fredag, med nåtid (i sekunder) $countdown = $nextfri - $present; //Regnerstykke for og få minutter, timer og dager $cdmin = $countdown / '60'; $cdhours = $cdmin / '60'; $cddays = $cdhours / '24'; //tar bort desimalene $cdmincut = mb_substr($cdmin,0,4); $cdhourscut = mb_substr($cdhours,0,2); $cddayscut = mb_substr($cddays,0,2); //Printer ut svarene echo "Det er: $cddayscut dager, $cdhourscut timer og $cdmincut minutter igjen til neste fredag<br><br>"; ?> Koden jeg har nå, neste problem: Jeg vil at den skal vise at det er : 2 Dager, 4 Timer og 36 Minutter (eks.) og ikke 2 Dager, 48 Timer og 2909 Minutter... Vet ikke hvordan man skal regne dette sammen, aner rett og slett ikke hva regnestykket blir... -Fredrik EDIT: Skriveleif Endret 29. april 2008 av Famen Lenke til kommentar
Martin A. Skrevet 29. april 2008 Del Skrevet 29. april 2008 (endret) Ser fin ut i teorien, men heller dårlig i praksis. For det første så er matematikken din litt på halv tolv, og for det andre så forsøker du å dele en integer med en string. PHP klarer dette, men ikke tro at noen andre språk er like dumsnille. Og hvorfor i alle dager bruker du en multi-byte stringfunksjon for å fjerne desimaler? PHP 4-5 forskjellige funksjoner som alle klarer jobben lettere. <?php //Finne ut når neste fredag er, og nåtid $nextfri = strtotime('Next Friday'); $present = time(); //Substraktere sekunder til neste fredag, med nåtid (i sekunder) $countdown = $nextfri - $present; //Regnerstykke for og få minutter, timer og dager $cddays = floor( $countdown/60/60/24 ); $cdhours = floor( ( $countdown - ( $cddays*60*60*24 ) ) /60/60 ); $cdmin = floor( ( $countdown - ( $cddays*60*60*24 ) - ( $cdhours*60*60 ) ) /60 ); //Printer ut svarene echo "Det er: $cddays dager, $cdhours timer og $cdmin minutter igjen til neste fredag<br /><br />"; ?> Endret 29. april 2008 av M4rTiN Lenke til kommentar
pulse Skrevet 29. april 2008 Del Skrevet 29. april 2008 (endret) Dette er en heller dårlig (men burde funke) metode å finne ut av det på: <?php $days = floor($countdown / (60 * 60 * 24)); $countdown = $countdown - ($days * 60 * 60 * 24); $hour = floor($countdown / (60 * 60)); $countdown = $countdown - ($hour * 60 * 60); $min = floor($countdown / 60); $seconds = $countdown - ($hour * 60); echo "Det er $days dager, $hour timer, $min minutter og $seconds sekunder igjen."; ?> Utestet sådan.... Edit: Leif Endret 29. april 2008 av pulse Lenke til kommentar
Wackamole Skrevet 29. april 2008 Forfatter Del Skrevet 29. april 2008 ok, supert nå fikk jeg det til (med mye hjelp ) men er det noen som kan svare meg på dette spørsmålet?: <?php include("exportrss.php"); // Parse XML/RSS 2.0 feed $feed = new ExportRSS("http://minside.no/rss.php", "2.0"); $channel = $feed->get_channel_data(); foreach ($feed->get_data() as $item) { $stream = $item['link']; } echo $stream; ?> Jeg får den første linken som ble lagt ut, men jeg vil ha den siste? er det noen som vet og kan hjelpe meg? Lenke til kommentar
Martin A. Skrevet 30. april 2008 Del Skrevet 30. april 2008 Den feilen der mener jeg at jeg har forklart det tidligere. = / .= You figure out the difference. Lenke til kommentar
Wackamole Skrevet 30. april 2008 Forfatter Del Skrevet 30. april 2008 (endret) Klikk for å se/fjerne innholdet nedenfor <?php /* * exportrss.php * * Copyright 2007 Alec Hussey <[email protected]> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, * MA 02110-1301, USA. */ class ExportRSS { protected $data = array(); protected $channel = array(); protected $rawdata = array(); public function __construct($data, $version) { $feed = @file_get_contents($data); $this->rawdata = simplexml_load_string($feed); // Parse the XML/RSS file switch ($version) { case "1.0": { $this->channel = array( "title" => $this->rawdata->channel->title, "link" => $this->rawdata->channel->link, "description" => $this->rawdata->channel->description, "image" => $this->rawdata->channel->image, "items" => $this->rawdata->channel->items, "textinput" => $this->rowdata->channel->textinput ); foreach ($this->rawdata->item as $item) { $row = array( "title" => $item->title, "link" => $item->link, "description" => $item->description ); array_push($this->data, $row); } break; } case "2.0": { $this->channel = array( "title" => $this->rawdata->channel->title, "link" => $this->rawdata->channel->link, "description" => $this->rawdata->channel->description, "language" => $this->rawdata->channel->language, "date" => $this->rawdata->channel->pubDate, "builddate" => $this->rawdata->channel->lastBuildDate, "docs" => $this->rawdata->channel->docs, "generator" => $this->rawdata->channel->generator, "editor" => $this->rawdata->channel->managingEditor, "webmaster" => $this->rawdata->channel->webMaster, ); foreach ($this->rawdata->channel->item as $item) { $row = array( "title" => $item->title, "link" => $item->link, "description" => $item->description, "enclosure" => $this->enclosure, "date" => $item->pubDate, "guid" => $item->guid ); array_push($this->data, $row); } break; } default: { echo "ExportRSS::WARNING: invalid version was specified"; break; } } } public function get_raw_data() { return $this->rawdata; } public function get_channel_data() { return $this->channel; } public function get_data() { return $this->data; } } ?> Glemte selfølgelig exportrss.php, jeg finner rett og slett ikke ut av hvorfor vil hente ut den første rss-feeden og ikke den siste.. EDIT: Bare glem det, fikk det til... takk for all hjelpen jeg fikk -Fredrik Endret 30. april 2008 av Famen 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å