Wykonanie skryptu po kolei w kliku miejscach...

0

Mam pytanie mianowicie mam klika dat załóżmy że chcę określić ile dni pozostało Sylwestra 2015, 2106, 2017 itd...
Czyli np. mamy tekst:

Do Sylwestra 2015-12-31 pozostało 709dni
Wymyśliłem taki kod...:

<?php 
echo 'Do Sylwestra '.

$test =  "2015-12-31"; 

$datetime=strtotime($test);
$date2=strtotime("NOW -1 day");
 if 
     ($datetime < $date2) 
        { 
           $holdtotday=intval(($date2-$datetime)/86400);
           echo " minęło " .$holdtotday. "dni<br>"; 
         } 
    else 
        {
            $holdtotday=intval(($datetime-$date2)/86400);
            echo " pozostało " .$holdtotday. "dni <br>";
        }
 ?>

I teraz moje pytanie jest następujące... Bo niestety nie mogę pójść dalej z kodem Mianowice hipotetycznie chcę określić ilości dni aż do 2030 roku. W jaki sposób to zapętlić by wywołać skrypt który obliczy nam datę od 2015 aż do 2030 roku korzystając ze zmiennej $test po kolei dla każdego roku
czyli:

Od Sylwestra 2013-12-31 minęło 20 dni
Do Sylwestra 2014-12-31 pozostało 344 dni
Do Sylwestra 2015-12-31 pozostało 709 dni
Do Sylwestra 2016-12-31 pozostało 1075 dni

itd. aż do 2030 roku...

Oczywiście te daty są tylko przykładowe bo docelowo chcę określić ile zostało dni dla różnych dat w jednym tekście...

dodanie znaczników <code> i `` - fp

0

To jakie w końcu jest pytanie?
Nie wiesz co to tablice i pętle?

2

co to za nowy styl pisania kodu w tej samej linii co klamra otwierająca? o.O
-100 do czytelności

przede wszystkim poczytaj o tym co to funkcja i swoje obliczenia zapakuj w funkcję, żebyś potem mógł zrobić:

function roznicaDat() {
  // jakies obliczenia
  return $wynik; // zwróć swój tekst (nie echuj go tutaj)
}

for ($i=2015; $i<=2030; $i++) {
  echo roznicaDat($i.'-12-31');
}
0
_13th_Dragon napisał(a):

To jakie w końcu jest pytanie?
Nie wiesz co to tablice i pętle?

Sorki może pisze pokrętnie ale za php dopiero wziąłem się jakiś tydzień temu... także miej wyrozumiałość a najlepiej uczę się robiąc sobie wymyślone zadania...
I części rzeczy nie ogarniam jeszcze ale próbuję zrozumieć jak co działa nie chcę gotowego skryptu tylko strukturę jakich funkcji użyć itd jak to zrobię to i tak wymyślę sobie nowe zadanie by to przećwiczyć czy to zrozumiałem...

dzek69 napisał(a):

co to za nowy styl pisania kodu w tej samej linii co klamra otwierająca? o.O
-100 do czytelności

przede wszystkim poczytaj o tym co to funkcja i swoje obliczenia zapakuj w funkcję, żebyś potem mógł zrobić:

function roznicaDat() {
  // jakies obliczenia
  return $wynik; // zwróć swój tekst (nie echuj go tutaj)
}

for ($i=2015; $i<=2030; $i++) {
  echo roznicaDat($i.'-12-31');
}

Oki rozumiem tylko co w przypadku jak będę miał różne daty nie wiem 2014-12-11, 2014-09-19, 2015-05-30 itd... bo tutaj jest pętla akurat to co podałeś jak dobrze zrozumiałem dla konkretnego dnia czyli 31.12

Oki chyba zaczaiłem baze ;)

 function data($test)
{
$datetime=strtotime($test);
$date2=strtotime("NOW -1 day");
 if 
     ($datetime < $date2) 
        { 
           $holdtotday=intval(($date2-$datetime)/86400);
           return " minęło " .$holdtotday. "dni<br>"; 
         } 
    else 
        {
            $holdtotday=intval(($datetime-$date2)/86400);
            return " pozostało " .$holdtotday. "dni <br>";
        }
}
echo 'Do Sylwestra 2015-12-31 pozostało '; echo data("2015-12-31");

echo 'Do Sylwestra 2016-12-31 pozostało ';echo data("2016-12-31")


        
        
1
$Tb=array
  (
   array( 'name' => 'silwestr 2014', 'date' => '01.31.2014' ),
   array( 'name' => 'silwestr 2015', 'date' => '01.31.2015' ),
  );
0
_13th_Dragon napisał(a):
$Tb=array
  (
   array( 'name' => 'silwestr 2014', 'date' => '01.31.2014' ),
   array( 'name' => 'silwestr 2015', 'date' => '01.31.2015' ),
  );

Dzięki później to ogarnę w takiej postaci z tablicami ;)

na razie wymodziłem takie coś ;)

function data($test)
{
$datetime=strtotime($test);
$date2=strtotime("NOW -1 day");
 if 
     ($datetime < $date2) 
        { 
           $holdtotday=intval(($date2-$datetime)/86400);
           return " minęło " .$holdtotday. "dni<br>"; 
         } 
    else 
        {
            $holdtotday=intval(($datetime-$date2)/86400);
            return " pozostało " .$holdtotday. "dni <br>";
        }
}
echo 'Do Sylwestra '.$data1="2015-12-31" ;' pozostało '; echo data($data1);
 
echo 'Do Sylwestra ' .$data1="2016-12-31" ;' pozostało '; echo data($data1);

 
1

Przyczepię się do kawałka kodu:

echo 'Do Sylwestra '.$data1="2015-12-31" ;' pozostało '; echo data($data1);

po rozbiciu na linie dla czytelności:

echo 'Do Sylwestra '.$data1="2015-12-31" ; // przypisanie do zmiennej i jednoczesne wyświetlenie tego. nieładne, nieczytelne, będą problemy w przyszłości jak będziesz tak robił ;)

' pozostało '; // nie robi nic, string podany jako osobna instrukcja nic nie zrobi.

echo data($data1); // wyświetla treść
0

;) ale działa... chodziło mi o to żeby dwa razy nie wpisywać daty tylko wpisać ją raz i tak sobie to wymyśliłem dlatego użyłem zmiennej żeby ją potem wywołać i użyć w funkcji ;)...
Cel wyznaczyłem sobie zapisać to do bazy za pomocą formularza i potem odczytać to ale jeszcze trochę rozdziałów z php przede mną

usunięcie cytowania całego poprzedniego posta - fp

1 użytkowników online, w tym zalogowanych: 0, gości: 1