Jump to content

IF STATEMENT HELP


rascle

Recommended Posts

Hi

i have created a calendar from a table:

 

Calendar: October 2009
<table width=300 border="1">
<tr>
<th><a href="calendar.php"><</a></th>
<th>M</th>
<th>T</th>
<th>W</th>
<th>T</th>
<th>F</th>
<th>S</th>
<th>S</th>
<th><a href="calendar.php?nov09">></a></th>
</tr>
<tr> 
<td></td>
<td>  </td>
<td> </td>
<td> </td>
<td>1</td>
<td>2</td>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td></td>
<td>5 </td>
<td>6</td>
<td>7 </td>
<td>8 </td>
<td>9 </td>
<td>10 </td>
<td>11 </td>
</tr>
<tr>
<tr>
<td></td>
<td>12 </td>
<td>13 </td>
<td>14</td>
<td>15 </td>
<td>16 </td>
<td>17 </td>
<td>18 </td>
</tr>
<tr>
<td></td>
<td>19 </td>
<td>20 </td>
<td>21 </td>
<td>22</td>
<td>23 </td>
<td>24 </td>
<td>25 </td>
</tr>
<tr>
<td></td>
<td>26 </td>
<td>27 </td>
<td>28 </td>
<td>29 </td>
<td>30 </td>
<td>31 </td>
<td>  </td>
</tr>
</table>

The table works fine.

But i have a mysql table and it has some dates in it, so for example it has 01102009 which is the 1st October 2009 and it has another date eg. 12102009 which is the 12th October 2009 etc. I want it so that the table recognises the dates and the dates are shown in blue. I was going to do this like this:

$booked = mysql_query("SELECT * FROM calendar WHERE `company` = '$logged[company]'");
$booked = mysql_fetch_array($booked);
echo'
<table border="1">
<tr>
<td>M</td>
<td>T</td>
<td>W</td>
<td>T</td>
<td>F</td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td>';
if($booked[datebooked] == "01102009"){
echo"<font color='blue'>01</font>";
}
else{
echo"01";
}
echo'</td>
<td>';
if($booked[datebooked] == "02102009"){
echo"<font color="blue">02</font>";
}
else{
echo"02";
}
echo'</td>
<td>03</td>
<td>04</td>
<td>05</td>
</tr>
</table>
';

And so on, this works the first time so 01 would be blue, but 12 would be normal, i know this is something to do with it only being able to select one at a time, but i dont know how to fix it, any ideas.

I could maybe use a while loop if anyone hasnt got any better ideas???

Thanks In Advance

Rhys

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/
Share on other sites

Ok, no offense, but you're doing this completely the wrong way. You should be making it so that the table is generated automatically, rather than you typing it up. Anyway, show us the code that you would put in for 12, and let's see why it's not working

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934298
Share on other sites

I would like to have it automatically generated but i dont know how to do it. And for the 2th is the same as the rest would be:

<td>';
if($booked[datebooked] == "11102009"){
echo'<font color="blue">11</font>';
}
else{
echo"11";
}
echo'</td>
<td>';
if($booked[datebooked] == "12102009"){
echo'<font color="blue">12</font>';
}
else{
echo"12";
}
echo'</td>
<td>';
if($booked[datebooked] == "13102009"){
echo'<font color="blue">13</font>';
}
else{
echo"13";
}

 

 

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934302
Share on other sites

$days_in_month = 31;
$booked_date = substr($booked['datebooked'],0,2);
for($i = 1; $i < $days_in_month; $i++)
{
    echo '<td>';
    $num = str_pad($i,2,'0',STR_PAD_LEFT);
    echo ($booked_date == $i) ? '<font color="blue">'.$num.'</font>' : $num;
    echo '</td>';
} 

That should get you started

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934332
Share on other sites

I must have been really bored

 

<?php

$Month = 10;
$Year = 2009;
$i = 1;
$num = cal_days_in_month(CAL_GREGORIAN, $Month, $Year);

echo "<table>
<tr>
<td>
Mon
</td>
<td>
Tue
</td>
<td>
Wed
</td>
<td>
Thur
</td>
<td>
Fri
</td>
<td>
Sat
</td>
<td>
Sun
</td>
</tr>";

$booked['datebooked'] = "12102009";

$i = 1;
$Timestamp = mktime(0, 0, 0, $Month, 1, $Year);
$Day = date("D", $Timestamp);
echo date("N", $Timestamp);

while($i < date("N", $Timestamp))
{
$i ++;
echo "<td> </td>";
}

if(date("N", $Timestamp) == 7)
{
echo "</tr><tr>";
}

for($i = 1; $i <= $num; $i++)
{
$Timestamp = mktime(0, 0, 0, $Month, $i, $Year);
$Day = date("d", $Timestamp);
echo "<td>";
$Fulldate = $Day . $Month . $Year;

if($booked['datebooked'] == $Fulldate)
	{
	echo "<font color='blue'>$Day</font>";
	}
else
	{
	echo $Day;
	}

echo "</td>";

if(date("D", $Timestamp) == "Sun")
	{
	echo "</tr>";
	if($i != $num)
		{
		echo "<tr>";
		}
	}
}

echo "</table>";

?>

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934344
Share on other sites

If i change the code to:

<?php

$Month = 10;
$Year = 2009;
$i = 1;
$num = cal_days_in_month(CAL_GREGORIAN, $Month, $Year);

echo "<table>
<tr>
<td>
Mon
</td>
<td>
Tue
</td>
<td>
Wed
</td>
<td>
Thur
</td>
<td>
Fri
</td>
<td>
Sat
</td>
<td>
Sun
</td>
</tr>";
$booked = mysql_query("SELECT * FROM calendar WHERE `companyname` = '$logged[companyname]'");
$booked = mysql_fetch_array($booked);
echo $booked['datebooked'];

$i = 1;
$Timestamp = mktime(0, 0, 0, $Month, 1, $Year);
$Day = date("D", $Timestamp);
echo date("N", $Timestamp);

while($i < date("N", $Timestamp))
{
$i ++;
echo "<td> </td>";
}

if(date("N", $Timestamp) == 7)
{
echo "</tr><tr>";
}

for($i = 1; $i <= $num; $i++)
{
$Timestamp = mktime(0, 0, 0, $Month, $i, $Year);
$Day = date("d", $Timestamp);
echo "<td>";
$Fulldate = $Day . $Month . $Year;

if($booked['datebooked'] == $Fulldate)
	{
	echo "<font color='blue'>$Day</font>";
	}
else
	{
	echo $Day;
	}

echo "</td>";

if(date("D", $Timestamp) == "Sun")
	{
	echo "</tr>";
	if($i != $num)
		{
		echo "<tr>";
		}
	}
}

echo "</table>";

?>

Note i changed $booked['datebooked'] = "12102009"; to $booked = mysql_query("SELECT * FROM calendar WHERE `companyname` = '$logged[companyname]'");

$booked = mysql_fetch_array($booked);

echo $booked['datebooked']; it doesnt work. What do i do to get the dates from the MySQL table to show on the calendar???

Thanks Again :)

Rhys

 

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934356
Share on other sites

My first advice would be learn how to use simple mysql functions, since you clearly don't know what you're doing

 

Check out a few tutorials. I recommend

http://www.phpvideotutorials.com/lesson13/

http://www.phpvideotutorials.com/lesson14/

 

or

 

http://www.w3schools.com/php/php_mysql_intro.asp

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934361
Share on other sites

Ok i have read the w3school tutorial and the only thing i can think of doing is to create a while loop to make see if the date is in the table and if it is then to change it to the colour blue. But how would i write this in the calendar script????

Thanks

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934397
Share on other sites

Ok thanks i am currently using:

<?php
include "headinfo.php";


$Month = 10;
$Year = 2009;
$i = 1;
$num = cal_days_in_month(CAL_GREGORIAN, $Month, $Year);

echo "<table>
<tr>
<td>
Mon
</td>
<td>
Tue
</td>
<td>
Wed
</td>
<td>
Thur
</td>
<td>
Fri
</td>
<td>
Sat
</td>
<td>
Sun
</td>
</tr>";
$booked = mysql_query("SELECT * FROM calendar WHERE `companyname` = '$logged[companyname]'");
$booked = mysql_fetch_array($booked);
$i = 1;
$Timestamp = mktime(0, 0, 0, $Month, 1, $Year);
$Day = date("D", $Timestamp);
echo date("N", $Timestamp);

while($i < date("N", $Timestamp))
{
$i ++;
echo "<td> </td>";
}

if(date("N", $Timestamp) == 7)
{
echo "</tr><tr>";
}

for($i = 1; $i <= $num; $i++)
{
$Timestamp = mktime(0, 0, 0, $Month, $i, $Year);
$Day = date("d", $Timestamp);
echo "<td>";
$Fulldate = $Day . $Month . $Year;

if(in_array($Fulldate, $booked))
	{
	echo "<font color='blue'>$Day</font>";
	}
else
	{
	echo $Day;
	}

echo "</td>";

if(date("D", $Timestamp) == "Sun")
	{
	echo "</tr>";
	if($i != $num)
		{
		echo "<tr>";
		}
	}
}

echo "</table>";

?>

But i am still only getting 14 (the first row) turning blue!!!!

What am i doing wrong??!

Thanks

Rhys

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934419
Share on other sites

This is the output:

Mon  Tue  Wed  Thur  Fri  Sat  Sun 

Array

(

    [0] => ABC

    [companyname] => ABC

    [1] => Jose

    [name] => Jose

    [2] => 19102009

    [datebooked] => 19102009

)

 

Mon  Tue  Wed  Thur  Fri  Sat  Sun

 

it does not display the dates

Link to comment
https://forums.phpfreaks.com/topic/177199-if-statement-help/#findComment-934484
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.