![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 10.04.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Dla tych co mnie nie znają - jestem skamieliną programowania i bazuje na starym PHP a dodatkowe "i" w MySql (czyt. mysqli) przysparza mi dodatkowych kłopotów. Chcę stworzyć prosty terminarz - kalendarz, w którym są godziny. Stworzyłem sobie kodzik wypisujący godziny od 12 do 21. Sprawdza w bazie czy rekord istnieje i w przypadku, gdy jest, koloruje go na czerwono i nie jest podlinkowany. Proste. http://taniepranie.zgora.pl/test.php Kod <?php // połączenie z bazą danych w osobnym pliku require_once "connectbase.php"; $iddnia = 6; for( $x = 12; $x <= 21; $x++ ) { $result = $mysqli->query("SELECT dzien, godzina FROM terminarz WHERE dzien = '$iddnia' AND godzina = '$x'"); $row_cnt = $result->num_rows; if ($row_cnt > 0) { echo '<font color="red">'.$x.'</font><br>'; } else { echo '<b><a href="terminarz3.php?dzien='.$iddnia.'&godzina='.$x.'">'.$x.'</a></b><br>'; } $result->close(); } ?> Mamy też kalendarz (ja go nie pisałem, tylko dodaje swój mały kod). http://taniepranie.zgora.pl/terminarztest.php Kod <?PHP function printCalendar() { $year = date("Y"); $monthNum = date("n"); $daysofmonth = date("t"); $dayofweek = date("w"); $dayofmonth = date("j"); $firstdayofmonth = date("w", mktime(0,0,0,$monthNum, 1, $year)); if($dayofweek == 0) $dayofweek = 7; if($firstdayofmonth == 0) $firstdayofmonth = 7; switch($monthNum){ case 1 : $monthName = "Styczeń";break; case 2 : $monthName = "Luty";break; case 3 : $monthName = "Marzec";break; case 4 : $monthName = "Kwiecień";break; case 5 : $monthName = "Maj";break; case 6 : $monthName = "Czerwiec";break; case 7 : $monthName = "Lipiec";break; case 8 : $monthName = "Sierpień";break; case 9 : $monthName = "Wrzesień";break; case 10 : $monthName = "Październik";break; case 11 : $monthName = "Listopad";break; case 12 : $monthName = "Grudzień";break; } echo("<TABLE border = 1><TR>"); echo("<TD bgcolor=\"yellow\" align=\"center\" colspan=\"7\">"); echo($monthName." ".$year); echo("</TD></TR><TR>"); ?> <TR> <TD align="center" bgcolor="pink">Pn</TD> <TD align="center" bgcolor="pink">Wt</TD> <TD align="center" bgcolor="pink">Sr</TD> <TD align="center" bgcolor="pink">Cz</TD> <TD align="center" bgcolor="pink">Pi</TD> <TD align="center" bgcolor="pink">So</TD> <TD align="center" bgcolor="pink">Nd</TD> </TR> <? $j = $daysofmonth + $firstdayofmonth - 1; for($i = 0; $i < $j; $i++){ if($i < $firstdayofmonth - 1){ echo("<TD bgcolor=\"white\"></TD>"); continue; } if(($i % 7) == 0){ echo("</TR><TR>"); } if(($i - $firstdayofmonth + 2) == $dayofmonth){ $color = "yellow"; } else{ $color = "green"; } echo("<TD bgcolor=\"$color\" align=\"center\">"); echo($i - $firstdayofmonth + 2); echo("</TD>"); } echo("</TR></TABLE>"); } printCalendar(); ?> W chwili, gdy wypisuje tylko godziny, bez sprawdzania rekordu, wszystko gra. Gorzej, gdy daje zapytanie do bazy. Wyświetla wtedy błąd. Dlaczego? Jak to poprawić? http://taniepranie.zgora.pl/terminarz2.php Kod <?PHP require_once "connectbase.php"; function printCalendar() { $year = date("Y"); $monthNum = date("n"); $daysofmonth = date("t"); $dayofweek = date("w"); $dayofmonth = date("j"); $firstdayofmonth = date("w", mktime(0,0,0,$monthNum, 1, $year)); if($dayofweek == 0) $dayofweek = 7; if($firstdayofmonth == 0) $firstdayofmonth = 7; switch($monthNum){ case 1 : $monthName = "Styczeń";break; case 2 : $monthName = "Luty";break; case 3 : $monthName = "Marzec";break; case 4 : $monthName = "Kwiecień";break; case 5 : $monthName = "Maj";break; case 6 : $monthName = "Czerwiec";break; case 7 : $monthName = "Lipiec";break; case 8 : $monthName = "Sierpień";break; case 9 : $monthName = "Wrzesień";break; case 10 : $monthName = "Październik";break; case 11 : $monthName = "Listopad";break; case 12 : $monthName = "Grudzień";break; } echo("<TABLE border = 1><TR>"); echo("<TD bgcolor=\"yellow\" align=\"center\" colspan=\"7\">"); echo($monthName." ".$year); echo("</TD></TR><TR>"); ?> <TR> <TD align="center" bgcolor="pink">Pn</TD> <TD align="center" bgcolor="pink">Wt</TD> <TD align="center" bgcolor="pink">Sr</TD> <TD align="center" bgcolor="pink">Cz</TD> <TD align="center" bgcolor="pink">Pi</TD> <TD align="center" bgcolor="pink">So</TD> <TD align="center" bgcolor="pink">Nd</TD> </TR> <? $j = $daysofmonth + $firstdayofmonth - 1; for($i = 0; $i < $j; $i++){ if($i < $firstdayofmonth - 1){ echo("<TD bgcolor=\"white\"></TD>"); continue; } if(($i % 7) == 0){ echo("</TR><TR>"); } if(($i - $firstdayofmonth + 2) == $dayofmonth){ $color = "yellow"; } else{ $color = "green"; } echo("<TD bgcolor=\"$color\" align=\"center\">"); echo($i - $firstdayofmonth + 2).'<hr>'; //ify $iddnia = $i - $firstdayofmonth + 2; for( $x = 12; $x <= 21; $x++ ) { $result = $mysqli->query("SELECT dzien, godzina FROM terminarz WHERE dzien = '$iddnia' AND godzina = '$x'"); $row_cnt = $result->num_rows; if ($row_cnt > 0) { echo '<font color="red">'.$x.'</font><br>'; } else { echo '<b><a href="terminarz3.php?dzien='.$iddnia.'&godzina='.$x.'">'.$x.'</a></b><br>'; } $result->close(); } //koniec ify echo("</TD>"); } echo("</TR></TABLE>"); } printCalendar(); ?> HELP, HELP. : ) |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$mysqli->query("SELECT dzien, godzina FROM terminarz WHERE dzien = '$iddnia' AND godzina = '$x'");
Czego nie rozumiesz w komunikacie, ze odpalasz QUERY na NULL? Oznacza to, ze $mysqli zmienna nie istnieje. No i trudno sie dziwic, bo odpalasz to w funkcji a nigdzie jej nie zadeklarowales. Polecam manual -> zasieg zmiennych oraz manual -> funkcje -> parametry ps: polecam rowniez wlaczyc wyswietlanie wszystkich bledow to bys mial pare dodatkowych ktore moze by ci pomogly zrozumiec blad samemu |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 10.04.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuje.
Działa. (IMG:style_emoticons/default/smile.gif) |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 Pomógł: 0 Dołączył: 30.12.2020 Ostrzeżenie: (0%) ![]() ![]() |
Hej (IMG:style_emoticons/default/wink.gif) mógłbyś dać zrzut ekranu bazy danych? Tworzę podobny system i wzoruje się na Twoim.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Masz duzo przykladow w necie opartych o bazy danych.
Zreszta widzisz jakie pola pobiera autor. Dzien Godzina I pewnie ma jeszcze id Ten post edytował dublinka 30.12.2020, 15:14:10 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 10.04.2015 Ostrzeżenie: (0%) ![]() ![]() |
Masz duzo przykladow w necie opartych o bazy danych. Zreszta widzisz jakie pola pobiera autor. Dzien Godzina I pewnie ma jeszcze id Oj, nie bądź taka; ] Hej (IMG:style_emoticons/default/wink.gif) mógłbyś dać zrzut ekranu bazy danych? Tworzę podobny system i wzoruje się na Twoim. Ja mam bardzo wiele zapisane w strukturze bazy, bo u mnie klient klika dany dzień i godzinę a następnie uzupełnia dane personalne i wybiera zakres usługi a na sam koniec, w potwierdzeniu, "system" wylicza klientowi cenę oraz przybliżony czas i mi usuwana godzinę rezerwacji + godzinę wstecz i tyle godzin ile będzie trwała usługa z terminarza. Jak chcesz to mogę Ci wyspisać co mam w bazie, ale nie wiem czy akurat to Ci się przyda. imie nazwisko miasto ulica nrdomu telefon miesiac dzien godzina wiadomosc pojazd (zakres usług do wykonania przy wyborze pojazdu) mebel (zakres usług do wykonania przy wyborze mebla) dywan (ilość,długość, szerokość itp a w efekcie pole) cena czas faktura (tak, nie) ozonowanie (tak, nie) pracownik (czy zlecenie jest przypisane do pracownika czy do mnie osobiście) Sam terminarz opiera się tylko na id, miesiąc, dzień, godzina. Jak będziesz chciał to mogę Ci podrzucić kod, tylko miej na uwadze, że ja jestem skamieliną programowania, niewiele potrafię a wiele rozwiązań stosuje przestarzałych a niektórych nawet do końca nie rozumiem sam ; p Efekt moich wypocin masz tutaj: taniepranie.zgora.pl/terminarz.php |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 594 Pomógł: 66 Dołączył: 22.02.2008 Skąd: Dublin Ostrzeżenie: (0%) ![]() ![]() |
Mam taki kalendarz. Kiedys mi byl potrzebny do zrobienia.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 18.09.2025 - 19:26 |