Page 1 of 1

Any ideas or help please

Posted: Fri Feb 21, 2003 2:24 am
by adrian28uk
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;
}
?>

Posted: Fri Feb 21, 2003 3:09 am
by twigletmac
Try something like this:

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';
}
?>
For more info:
http://www.php.net/mysql_fetch_assoc
http://www.php.net/substr
http://www.php.net/empty

Mac