Im am trying to output the following results from the database. If the field has the word check next to it, then the number turns to bold. I cannot however get it to work.
I am using the for statment to cut down the code so I dont need to assign each field its own code. If anyone could show me the correct way of doing this it would greatly be appreciated. I am still new to PHP and have only learnt how to databases a few weeks ago.
Here is the code.
<?
include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM calender WHERE $id=id";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
?>
<HTML>
<HEAD>
</HEAD>
<BODY BGCOLOR=WHITE>
<P>CALENDER TEST</P>
</HTML>
<?
$i=0;
while ($i < $num) {
$id=mysql_result($result,$i,"id");
$jan1=mysql_result($result,$i,"jan1");
$jan2=mysql_result($result,$i,"jan2");
$jan3=mysql_result($result,$i,"jan3");
$jan4=mysql_result($result,$i,"jan4");
$jan5=mysql_result($result,$i,"jan5");
$jan6=mysql_result($result,$i,"jan6");
$jan7=mysql_result($result,$i,"jan7");
$jan8=mysql_result($result,$i,"jan8");
$jan9=mysql_result($result,$i,"jan9");
$jan10=mysql_result($result,$i,"jan10");
$jan11=mysql_result($result,$i,"jan11");
$jan12=mysql_result($result,$i,"jan12");
$jan13=mysql_result($result,$i,"jan13");
$jan14=mysql_result($result,$i,"jan14");
$jan15=mysql_result($result,$i,"jan15");
$jan16=mysql_result($result,$i,"jan16");
$jan17=mysql_result($result,$i,"jan17");
$jan18=mysql_result($result,$i,"jan18");
$jan19=mysql_result($result,$i,"jan19");
$jan20=mysql_result($result,$i,"jan20");
$jan21=mysql_result($result,$i,"jan21");
$jan22=mysql_result($result,$i,"jan22");
$jan23=mysql_result($result,$i,"jan23");
$jan24=mysql_result($result,$i,"jan24");
$jan25=mysql_result($result,$i,"jan25");
$jan26=mysql_result($result,$i,"jan26");
$jan27=mysql_result($result,$i,"jan27");
$jan28=mysql_result($result,$i,"jan28");
$jan29=mysql_result($result,$i,"jan29");
$jan30=mysql_result($result,$i,"jan30");
$jan31=mysql_result($result,$i,"jan31");
for ($p = 1; $p <= 31; $p++) {
$temp = "jan".$p;
}
if (${$temp==''}){ ?><p align="center"><? echo"$p";?><?
} elseif (${$temp=='check'}) { ?>
<strong><s><p align="center"><? echo"$p;" ?></s></strong><s>
<? } ?>
<?
++$i;
}
?>
Any ideas or help please
Moderator: General Moderators
- twigletmac
- Her Royal Site Adminness
- Posts: 5371
- Joined: Tue Apr 23, 2002 2:21 am
- Location: Essex, UK
Try something like this:
For more info:
http://www.php.net/mysql_fetch_assoc
http://www.php.net/substr
http://www.php.net/empty
Mac
Code: Select all
<?php
include 'dbinfo.inc.php';
@mysql_connect('localhost', $username, $password) or die(mysql_error());
@mysql_select_db($database) or die(mysql_error());
$sql = "SELECT * FROM calender WHERE $id=id";
$result = mysql_query($sql) or die(mysql_error().'<p>'.$sql.'</p>');
$num_rows = mysql_num_rows($result);
mysql_close();
?>
<html>
<head>
<title>Calendar Test</title>
</head>
<body bgcolor=white>
<h1>CALENDER TEST</h1>
<?php
if ($num_rows > 0) {
while ($row = mysql_fetch_assoc($result)) {
foreach ($row as $field => $info) {
if ($field != 'id') {
$day = substr($info, 3);
echo '<p align="center">';
if (empty($info)) {
echo $day;
} elseif ($info == 'check') {
echo '<strong>'.$day.'</strong>';
}
echo '</p>';
}
}
}
} else {
echo 'That ID does not exist';
}
?>http://www.php.net/mysql_fetch_assoc
http://www.php.net/substr
http://www.php.net/empty
Mac