I have got The Code!! We Changed out plan slightly and went with a numberinf scheme instead..
Any input or questions would be appreciated:
<?php
function HTML_HEAD(){
include("header.inc") ;
}
function HTML_FOOTER(){
include("footer.inc") ;
}
function FINDCHILDREN($parentid,$parentorderNum,$pid2){
global $cnx;
$hor = $parentorderNum;
$sql="SELECT TblProjectTasks.ProjectTasksOrder, TblProjectTasks.ProjectTasksName, Format([ProjectTasksStartDate],'mm/dd/yyyy') AS Expr1, Format([ProjectTasksEndDate],'mm/dd/yyyy') AS Expr2, TblFont.FontName, TblColor.ColorHTML, TblStatus.StatusCharacter, TblComments.CommentsComent, TblProjectTasks.ProjectTasksId
FROM (TblColor RIGHT JOIN ((TblFont RIGHT JOIN TblStatus ON TblFont.FontId = TblStatus.FontId) RIGHT JOIN TblProjectTasks ON TblStatus.StatusId = TblProjectTasks.StatusID) ON TblColor.ColorId = TblStatus.ColorId) LEFT JOIN TblComments ON TblProjectTasks.ProjectTasksId = TblComments.ProjectTasksId
WHERE (((TblProjectTasks.ProjectId)=$pid2) AND ((TblProjectTasks.ProjectTasksFId)=$parentid))
ORDER BY TblProjectTasks.ProjectTasksOrder, TblComments.CommentsTime DESC;";
$curh=odbc_exec($cnx,$sql);
while(odbc_fetch_row($curh)){
$hor=odbc_result($curh,1);
$hnm=odbc_result($curh,2);
$hsd=odbc_result($curh,3);
$hed=odbc_result($curh,4);
$hfn=odbc_result($curh,5);
$hhc=odbc_result($curh,6);
$hst=odbc_result($curh,7);
$hcm=odbc_result($curh,8);
$hid=odbc_result($curh,9);
$prn = FINDWORKERS($hid,2);
$pon = FINDWORKERS($hid,1);
$hor = "$parentorderNum.$hor";
print "<tr><td bgcolor='#ffffff'>$hor</td><td bgcolor='#ffffff'>$hnm</td><td bgcolor='#ffffff' align='center'>$hsd</td><td bgcolor='#ffffff' align='center'>$hed</td><td bgcolor='#ffffff' align='center'><font color=#$hhc face='$hfn' size=5>$hst</font></td><td bgcolor='#ffffff' align='center'>$prn</td><td bgcolor='#ffffff' align='center'>$pon</td><td bgcolor='#ffffff'>$hcm</td></tr>\n";
FINDCHILDREN($hid,$hor,$pid2);
}
}
function FINDWORKERS($taskid,$posid){
global $cnx;
$sql3="SELECT [EmployeeFname] & ' ' & [EmployeeLname] AS Expr1
FROM TblLinkLinkProjectEmployeePosition INNER JOIN TblEmployee ON TblLinkLinkProjectEmployeePosition.EmployeeId = TblEmployee.EmployeeId
WHERE (((TblLinkLinkProjectEmployeePosition.ProJectTasksId)=$taskid) AND ((TblLinkLinkProjectEmployeePosition.PositionId)=$posid));";
$curr=odbc_exec($cnx,$sql3);
while(odbc_fetch_row($curr)){
if($prn){
$prn.=", ".odbc_result($curr,1);
}else{
$prn=odbc_result($curr,1);
}
}
return $prn;
}
$cnx = odbc_connect('projects','root','');
HTML_HEAD();
print "<Table width='100%' bgcolor='#000000'>\n";
//Lay Down the headers
print "<tr><td bgcolor='#D0D0D0'></td><th bgcolor='#D0D0D0'>Projects</th><tH bgcolor='#D0D0D0'>Start Date</th><th bgcolor='#D0D0D0'>End Date</th><th bgcolor='#D0D0D0'>Status</th><th bgcolor='#D0D0D0'>Resources</th><th bgcolor='#D0D0D0'>Responsibility/Project Leader</th><th bgcolor='#D0D0D0'>Comments</th></tr>\n";
//Matching the format of the Excel Sheet
print "<tr><td bgcolor='#ffffff'></td><th bgcolor='#ffffff'><img src='tile.gif'></th><tH bgcolor='#ffffff'></th><th bgcolor='#ffffff'></th><th bgcolor='#ffffff'></th><th bgcolor='#ffffff'></th><th bgcolor='#ffffff'></th><th bgcolor='#ffffff'></th></tr>\n";
//Select all Projects
$sql="SELECT TblProject.ProjectID, TblProject.ProjectName, [EmployeeFname] & ' ' & [EmployeeLname] AS Expr1
FROM TblEmployee INNER JOIN TblProject ON TblEmployee.EmployeeId = TblProject.EmployeeID
ORDER BY TblProject.ProjectName;";
$cur=odbc_exec($cnx,$sql);
while (odbc_fetch_row($cur)){
$pid = odbc_result($cur,1);
$pnm = odbc_result($cur,2);
$pow = odbc_result($cur,3);
print "<tr><th bgcolor='#D0D0D0' colspan='2' align='left'>$pnm</th><tH bgcolor='#D0D0D0'></th><th bgcolor='#D0D0D0'></th><th bgcolor='#D0D0D0'></th><th bgcolor='#D0D0D0'></th><th bgcolor='#D0D0D0'>$pow</th><th bgcolor='#D0D0D0'></th></tr>\n";
//Get all Items that are headers for Projects
$sql="SELECT TblProjectTasks.ProjectTasksOrder, TblProjectTasks.ProjectTasksName, Format([ProjectTasksStartDate],'mm/dd/yyyy') AS Expr1, Format([ProjectTasksEndDate],'mm/dd/yyyy') AS Expr2, TblFont.FontName, TblColor.ColorHTML, TblStatus.StatusCharacter, TblComments.CommentsComent, TblProjectTasks.ProjectTasksId
FROM (TblColor RIGHT JOIN ((TblFont RIGHT JOIN TblStatus ON TblFont.FontId = TblStatus.FontId) RIGHT JOIN TblProjectTasks ON TblStatus.StatusId = TblProjectTasks.StatusID) ON TblColor.ColorId = TblStatus.ColorId) LEFT JOIN TblComments ON TblProjectTasks.ProjectTasksId = TblComments.ProjectTasksId
WHERE (((TblProjectTasks.ProjectId)=$pid) AND ((TblProjectTasks.ProjectTasksFId) Is Null))
ORDER BY TblProjectTasks.ProjectTasksOrder, TblComments.CommentsTime DESC;";
$curh=odbc_exec($cnx,$sql);
while(odbc_fetch_row($curh)){
$hor=odbc_result($curh,1);
$hnm=odbc_result($curh,2);
$hsd=odbc_result($curh,3);
$hed=odbc_result($curh,4);
$hfn=odbc_result($curh,5);
$hhc=odbc_result($curh,6);
$hst=odbc_result($curh,7);
$hcm=odbc_result($curh,8);
$hid=odbc_result($curh,9);
$prn = FINDWORKERS($hid,2);
$pon = FINDWORKERS($hid,1);
print "<tr><td bgcolor='#ffffff'><b>$hor</b></td><td bgcolor='#ffffff'>$hnm</td><td bgcolor='#ffffff' align='center'>$hsd</td><td bgcolor='#ffffff' align='center'>$hed</td><td bgcolor='#ffffff' align='center'><font color=#$hhc face='$hfn' size=5>$hst</font></td><td bgcolor='#ffffff' align='center'>$prn</td><td bgcolor='#ffffff' align='center'>$pon</td><td bgcolor='#ffffff'>$hcm</td></tr>\n";
//Get ALL Sub Items
FINDCHILDREN($hid,$hor,$pid);
}
//Find Each Sub Item for each Item "Should be recursive..."
}
print "</Table>";
HTML_FOOTER();
odbc_close($cnx);
?>