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();
}
?>
// 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();
?>
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();
?>
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. : )