hlmod.hu
https://hlmod.hu/

[PHP/MYSQL] Adatok + dátum?
https://hlmod.hu/viewtopic.php?f=114&t=30296
Oldal: 1 / 1

Szerző:  The Peace [ 2020.02.28. 16:18 ]
Hozzászólás témája:  [PHP/MYSQL] Adatok + dátum?

Üdv!

Huhh.. most kéne 1 nagyobb segítség nekem!

PHP / MYSQL , adott egy olyan hogy koncertek táblázatba:

Adatok: (Ezek lennének sql-be)
- Időpont
- Zenekar neve
- Műfaj
- Belépő
- Egyéb információ

De viszont kéne nekem 1 olyan hogy:

A legközelebbi időpont pl:

2020.02.29 | Ektomorf | Metal | 2500 FT | .... |

Ezt úgy szeretném hogy a legközelebbi dátumhoz(koncert) vissza számál pl a főoldalon... pl: Még 1 nap X óra van a koncertig... És közben valahogy az adott héten az adott zenekar egyik zenét akarom lejátszatni azzal aki fellép a webre(valahogy youtubeon nem tudom össze kapcsolni?)


Kicsit lehet összeszedetlen a leírás, de szerintem érthető!

ha valaki segít örök hálám neki!

Szerző:  Dooz [ 2020.02.28. 16:49 ]
Hozzászólás témája:  Re: [PHP/MYSQL] Adatok + dátum?

Én így oldanám meg:

Lekérdezéskor növekvő sorrendbe rendezném időpont szerint és utána a legelsőt kivenném (ami úgye a legközelebbi) és kiszámolnám valahogy, hogy hány nap van még addig. (Időpont - jelenegi idő, erre majd valahogy rájössz).

Szerző:  The Peace [ 2020.02.29. 15:50 ]
Hozzászólás témája:  Re: [PHP/MYSQL] Adatok + dátum?

Dooz írta:
Én így oldanám meg:

Lekérdezéskor növekvő sorrendbe rendezném időpont szerint és utána a legelsőt kivenném (ami úgye a legközelebbi) és kiszámolnám valahogy, hogy hány nap van még addig. (Időpont - jelenegi idő, erre majd valahogy rájössz).

Megvagyok a sorrendel, az egészet datetime-be kértem le, most próbálok a currenttime/date ből kivonni a megadottat.. valahogy napra órára percre kene osztankm

Szerző:  The Peace [ 2020.02.29. 16:38 ]
Hozzászólás témája:  Re: [PHP/MYSQL] Adatok + dátum?

The Peace írta:
Dooz írta:
Én így oldanám meg:

Lekérdezéskor növekvő sorrendbe rendezném időpont szerint és utána a legelsőt kivenném (ami úgye a legközelebbi) és kiszámolnám valahogy, hogy hány nap van még addig. (Időpont - jelenegi idő, erre majd valahogy rájössz).

Megvagyok a sorrendel, az egészet datetime-be kértem le, most próbálok a currenttime/date ből kivonni a megadottat.. valahogy napra órára percre kene osztankm


  1. while($row = mysqli_fetch_array($query)) {
  2.     $dt = new DateTime();
  3.     $kc = $row['Datum_ido'];
  4.     $all = $kc - $dt ;
  5.    
  6.     echo $all->format('H');
  7.      
  8. }


Maga a kiindulásom meglenne már... de SQL-ből kéne kiolvasni a jelenlegit is meg a koncertét...
és valahogy NAP, ÓRA, Perc-re kéne őket osztani.. Help :C

Szerző:  Maxi [ 2020.03.01. 00:02 ]
Hozzászólás témája:  Re: [PHP/MYSQL] Adatok + dátum?

Hát igazából nagyon sok megoldás van rá. Ez lenne az enyém:

Ez itt az adatbázisom:
Kép

Elsőnek is kiválasztom azt a sort amelynek a "datum" oszlopában lévő adat a legközelebb van a jelenlegi dátumhoz, majd ezt le is kérem. Azt a dátumot és a jelenlegi dátumot is átalakítom másodpercre, majd kivonom az adatbázisban lévőt a jelenlegiből. Megkapod, hogy hány másodperc van hátra addig. Osztom 60-nal, majd mégegyszer, és 24-el. Ezzel megkapom hogy hány nap van hátra addig, kiíratom.

Kód:
<?PHP $query = "SELECT * FROM koncertek ORDER BY ABS( DATEDIFF( datum, NOW() )) LIMIT 1"; ?>
        <?PHP $futtatva = $sql->query($query); ?>
        <?PHP $w = $futtatva->fetch_all(MYSQLI_ASSOC); ?>
        <?PHP foreach($w as $adatok) : ?>
            A következő koncert: <?= $adatok["zenekar"]; ?> <br>
            <?= (strtotime($adatok["datum"])-strtotime(date('Y-m-d')))/60/60/24; ?> Nap van hátra.
        <?PHP endforeach; ?>

Én így csinálnám.

OUTPUT:
Kép

De mondom van 1000 meg egy megoldás rá. Ez az enyém, remélem segít.


Egyébként ha nap, óra, percre akarod osztani azt a részét az csak matek miután másodperccé alakítottad. Maradékos osztás % operátor segít.

M.

Szerző:  The Peace [ 2020.03.01. 19:58 ]
Hozzászólás témája:  Re: [PHP/MYSQL] Adatok + dátum?

Maxi írta:
Hát igazából nagyon sok megoldás van rá. Ez lenne az enyém:

Ez itt az adatbázisom:
Kép

Elsőnek is kiválasztom azt a sort amelynek a "datum" oszlopában lévő adat a legközelebb van a jelenlegi dátumhoz, majd ezt le is kérem. Azt a dátumot és a jelenlegi dátumot is átalakítom másodpercre, majd kivonom az adatbázisban lévőt a jelenlegiből. Megkapod, hogy hány másodperc van hátra addig. Osztom 60-nal, majd mégegyszer, és 24-el. Ezzel megkapom hogy hány nap van hátra addig, kiíratom.

Kód:
<?PHP $query = "SELECT * FROM koncertek ORDER BY ABS( DATEDIFF( datum, NOW() )) LIMIT 1"; ?>
        <?PHP $futtatva = $sql->query($query); ?>
        <?PHP $w = $futtatva->fetch_all(MYSQLI_ASSOC); ?>
        <?PHP foreach($w as $adatok) : ?>
            A következő koncert: <?= $adatok["zenekar"]; ?> <br>
            <?= (strtotime($adatok["datum"])-strtotime(date('Y-m-d')))/60/60/24; ?> Nap van hátra.
        <?PHP endforeach; ?>

Én így csinálnám.

OUTPUT:
Kép

De mondom van 1000 meg egy megoldás rá. Ez az enyém, remélem segít.


Egyébként ha nap, óra, percre akarod osztani azt a részét az csak matek miután másodperccé alakítottad. Maradékos osztás % operátor segít.

M.


Köszönöm M.

Egy kérdés miért így van ez a PHP? Hogy minden sorba lekered hogy php?

Oldal: 1 / 1 Minden időpont UTC+02:00 időzóna szerinti
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/