Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Kalendarz - dodanie kolejnych miesięcy
dreamit
post 17.07.2018, 19:08:38
Post #1





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 15.07.2018

Ostrzeżenie: (0%)
-----


Na wstępie dodam, że nie chce aby ktoś mi pisał gotowca. Rozpocząłem naukę php i robię wszystko małymi krokami, bardziej zależy mi na instrukcji jak to zrobić niż na gotowym rozwiązaniu - jakaś drobna podpowiedź, coś zrealizuje i zadam kolejne pytania itd.

Chce stworzyć kalendarz, wykorzystałem skrypt Link: http://webmade.org/porady/kalendarz-php.ph
- zrobiłem odnośnik do dat z kalendarza w formie linku - jeżeli mam link w formie http://localhost/data/2018/07/17 to w jaki sposób zrobić aby taki link był poprawny i np. wyświetlić wtedy na stronie "Witaj, przesłałeś w linku następującą datę: 2018/07/17" ?


Ten post edytował dreamit 17.07.2018, 19:09:18
Go to the top of the page
+Quote Post
b4rt3kk
post 17.07.2018, 19:52:44
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Musisz sobie napisać regułę w .htaccess, która poprawnie zinterpretuje to jako dane $_GET. Bo podejrzewam, że teraz jak otwierasz ten link to masz błąd, że taki plik/katalog nie istnieje?

A jeśli masz to ogarnięte to poprostu odczytaj dane z tablicy $_GET.

  1. var_dump($_GET);


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
dreamit
post 22.07.2018, 07:17:11
Post #3





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 15.07.2018

Ostrzeżenie: (0%)
-----


Dokładnie o tego typu pomoc mi chodziło. Działa.

#edit
date_default_timezone_set('UTC');

$aktualna= strtotime(date("Y-m-d")) / (60*60*24);
$wybrana= strtotime(2018+7+22) / (60*60*24);
echo $aktualna;
echo $wybrana;


Dlaczego mam roznice w dacie?

Ten post edytował dreamit 22.07.2018, 14:52:21
Go to the top of the page
+Quote Post
b4rt3kk
post 23.07.2018, 10:43:39
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Cytat(dreamit @ 22.07.2018, 08:17:11 ) *
Dokładnie o tego typu pomoc mi chodziło. Działa.

#edit
date_default_timezone_set('UTC');

$aktualna= strtotime(date("Y-m-d")) / (60*60*24);
$wybrana= strtotime(2018+7+22) / (60*60*24);
echo $aktualna;
echo $wybrana;


Dlaczego mam roznice w dacie?


Bo pchasz sumę działania 2018+7+22 jako datę. Tam ma być string.

  1. $aktualna= strtotime(date("Y-m-d")) / (60*60*24);
  2. $wybrana= strtotime('2018/7/22') / (60*60*24);


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
dreamit
post 4.08.2018, 13:39:31
Post #5





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 15.07.2018

Ostrzeżenie: (0%)
-----


Dzięki, teraz działa.

Stworzyłem teraz coś takiego
  1. <?php
  2. $sql = "SELECT * from budowa";
  3.  
  4. if ($wynik = @$db_connect->query($sql))
  5. {
  6. $wiersze = $wynik->num_rows;
  7.  
  8. for ($i=0;$i<$wiersze;$i++)
  9. {
  10. $wiersz = $wynik->fetch_assoc();
  11. echo '<option name="'.$wiersz['id_budowy'].'" value="">'.($i+1).'. '.$wiersz['rodzaj_budowy'].'</option>';
  12. }
  13. $wynik->close();
  14. }
  15. ?>


Lista rozwijana się wyświetla na podstawie bazy. Teraz jak zrobić ze w zależności co wybierze osoba z tej listy to wyświetli mi się
Cena -- $wiersz['cena']
Czas -- $wiersz['czas']
?

Ten post edytował dreamit 4.08.2018, 14:18:08
Go to the top of the page
+Quote Post
b4rt3kk
post 4.08.2018, 23:21:43
Post #6





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Przykro mi, ale nie rozumiem co chcesz wyświetlić.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
dreamit
post 7.08.2018, 07:50:07
Post #7





Grupa: Zarejestrowani
Postów: 15
Pomógł: 0
Dołączył: 15.07.2018

Ostrzeżenie: (0%)
-----


już tłumacze

Mam tabele budowa o takiej strukturze:
- id_budowy (INT)
- rodzaj_budowy (VARCHAR)
- cena_budowy (INT)
- czas_wykonania (INT)

oraz nastepujące rekordy w tej tabeli:
1 malowanie 30 60
2 inna praca 50 40
3 uslugi kominiarskie 60 90

mam taki kod
  1. <?php
  2. $sql = "SELECT * from budowa";
  3.  
  4. if ($wynik = @$db_connect->query($sql))
  5. {
  6. $wiersze = $wynik->num_rows;
  7.  
  8. for ($i=0;$i<$wiersze;$i++)
  9. {
  10. $wiersz = $wynik->fetch_assoc();
  11. echo '<option name="'.$wiersz['id_budowy'].'" value="">'.($i+1).'. '.$wiersz['rodzaj_budowy'].'</option>';
  12. }
  13. $wynik->close();
  14. }
  15. ?>


On wyświetla mi z bazy danych z tabeli budowa z kolumny rodzaj_budowy wszystkie rekordy, czyli bede mial do wyboru

1. malowanie
2. inna praca
3. usługi kominiarskie

itd... teraz Klient na stronie widzi rozwijaną listę a na niej wszystkie np. malowanie
Teraz chciałbym wyświetlić mu cene oraz czas przypisany do tego rekordu w bazie danych tongue.gif Czyli żeby po wybraniu tej opcji na stronie miał wyświetloną cenę_budowy oraz czas_wykonania. Np za chwilę wybierzę "inna praca" to na stronie wyświetli się czas i cena przypisana dla "inna praca" w bazie danych, za chwilę wybierze uslugi kominiarskie to wyświetli mu cene i czas uslug kominiarskich

Oczywiście to tylko przykład, rozbudowuje skrypt i w rezultacie on będzie miał "głębszy" sens.

jest ktoś w stanie podpowiedzieć jak to ogarnąć? Myślałem od razu w tym miejscu
  1. echo '<option name="'.$wiersz['id_budowy'].'" value="">'.($i+1).'. '.$wiersz['rodzaj_budowy'].'</option>';

pobrać i zapisać gdzieś cene i czas.

Jednak nie bardzo wiem jak to zrobić - a w okienku select niechciałbym tego wyświetlać tylko normalnie w innej linii.

Ten post edytował dreamit 5.08.2018, 12:49:09
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.04.2024 - 04:42