Hi,
I'm newbie in php and I need help in a calendar code. I try to do booking calendar. I have already do mysql function. Now calendar start first day of month and all month start same way and all months are below like this,
january 12345678...
february 12345678...
march 12345678...
april 12345678... and so on for full year, but I want that calendar start like,
mo tu we th fr sa su mo tu we th fr sa su
january 1 2 3 4 5 6 7 8
february 1 2 3 4 5 6 7 8
march 1 2 3 4 5 6
april 1 2 3 4 5 6 7 8 and so on, get the picture.
Here is a code for calendar.
function connect_db($mysql_hostname, $mysql_user, $mysql_pass, $db) {
@$connect = mysql_connect("$mysql_hostname","$mysql_user","$mysql_pass") or die ("Ei voitu yhdistää tietokantaan!");
@$select_db = mysql_select_db($db) OR die('Ei voitu valita tietokantaa!');
}
function update_db($post, $cyear) {
for ($i = 1; $i <= 12; $i++) {
for ($y = 1; $y <= days($i,$cyear); $y++) {
$mm = str_pad($i, 2, "0", STR_PAD_LEFT);
$dd = str_pad($y, 2, "0", STR_PAD_LEFT);
$data = "$cyear-$mm-$dd";
if($post["g" . $data]==$data) {
$sql = "SELECT status FROM dates WHERE date = '" . $data . "'";
$result = mysql_query($sql) OR die(mysql_error());
if(mysql_num_rows($result)) {
if ($post['stan']=='O')$sql="UPDATE dates SET status='$post[stan]' WHERE date='$data'";
if ($post['stan']=='F')$sql ="DELETE FROM dates WHERE date='$data'";
$result =mysql_query($sql);
} else {
if ($post['stan']=='O')$sql ="insert into dates (date, status) values ('$data', '$post[stan]')";
if ($post['stan']!=='F')$result =mysql_query($sql);
}
}
}
}
}
function c_cyear() {
(!isset($_GET['y'])
|| !is_numeric($_GET['y'])
|| !checkdate(1, 1, $_GET['y']))
? $cyear=date("Y") : $cyear=mysql_real_escape_string($_GET['y']);
return $cyear;
}
function days($mm,$cyear) {
$days = 31;
while (!checkdate($mm, $days, $cyear)) $days--;
return $days;
}
function search($mm,$cyear,$admin=0) {
$sql = "SELECT date, status FROM dates WHERE YEAR(date) = '$cyear' AND MONTH(date) = '$mm'";
$result = mysql_query($sql) OR die(mysql_error());
$dates = array();
while ($row = mysql_fetch_array($result, MYSQL_NUM))$dates[$row[0]] = $row[1];
mysql_free_result($result);
for ($i = 1; $i <= days($mm,$cyear); $i++) {
$mm = str_pad($kk, 2, "0", STR_PAD_LEFT);
$dd = str_pad($i, 2, "0", STR_PAD_LEFT);
$data = "$cyear-$mm-$dd";
$tdday = $i;
if(isset($dates[$data])) {
if($dates[$data] == "O")$tdcolor="#FF0000"; //FF0000, #FFA042
} else $tdcolor="#87EC76";
$day = date('w', mktime(0, 0, 0, $mm, $i, $cyear));
if ($day == 6) {
//$tdcolor="#FF0000";
$tdday = 'sa';
}else if ($day == 0) {
//$tdcolor="#FF0000";
$tdday = 'su';
}
$td = "<td id=\"$data\" style=\"width: 15px; text-align: center; background: $tdcolor; font-size: 15px; margin-left=30px;\"";
if ($admin)$td .= " onclick=\"daty(this.id,'$tdcolor')\" ";
$td .= ">";
if ($admin) {
$hidden_form="<input type=\"hidden\" id=\"g$data\" name=\"g$data\" value=\"\">";
(isset($html)) ? $html = $html . $td . $hidden_form . $tdday . "</td>"
: $html = $td . $hidden_form . $tdday . "</td>";
} else {
(isset($html)) ? $html = $html . $td . $tdday . "</td>"
: $html = $td . $tdday . "</td>"
;
}
unset($td);
}
return $html;
}
function calendar($cyear, $admin=0) {
global $lang, $conf;
$ym = $cyear - 1;
$yp = $cyear + 1;
echo('
<table id="calendar" style="font-family: Verdana; border: 0px; padding: 2px;">
<tr>
<td> </td>
<td colspan="31">
<div style="margin-left: 220px; float: left; font-weight: bold;">
<a href="' . basename($_SERVER['PHP_SELF']) . '?y=' . $ym . '"><img border=0 src=larrow.gif></a>
'.$lang['year'].' '.$cyear.'
<a href="' . basename($_SERVER['PHP_SELF']) . '?y=' . $yp . '"><img border=0 src=rarrow.gif></a>
</div>
');
echo('
</td>
</tr>
');
$months = explode(",", $lang['months']);
$months = array_slice($months, 0, 12);
foreach($months as $month) {
(!isset($counter)) ? $counter="1" : $counter++;
echo("
<tr>
<td style=\"font-size: 12px; font-weight: bold;\">$month</td>
" . search($counter,$cyear,$admin) . "
</tr>
");
}
$states = explode(",", $lang['states']);
echo('
<tr>
<td colspan=32 style="text-align: center; font-size: 15px; font-weight: bold;">
<span style="color: #FF0000;">');
if ($admin) echo '<INPUT TYPE="radio" NAME="stan" VALUE="O">';
echo($states[0]."</span>
<span style=\"color: #87EC76;\">");
if ($admin) echo '<INPUT TYPE="radio" NAME="stan" VALUE="F">';
echo($states[1]."</span>
</td>
</tr>
");
if ($admin) echo('
<tr>
<td colspan="32" style="text-align: center;">
<input style="font-size:10pt; border : 1px solid #90A3A9; width:125px; background-color:#f3f3f3;" type="submit" value="Lähetä" name="Submit" />
</td>
</tr>
');
echo('
</table>
');
}
Thanks
Marko
MOD EDIT: [noparse]
..
[/noparse] bbcode tags added to make code easier to read and analyze; please use these tags in the future when posting PHP code!