Solved

Archiving events using PHP + MySQL

Posted on 2011-09-06
21
440 Views
Last Modified: 2012-05-12
I currently display a 'previous monthly events' dropdown of past events in on my website here..http://www.anjoman.co.uk/previous-monthly-meeting.php

The list is now way to long so I want to archive the list by year...Events 2009...Events 2010 and so on.

Any ideas howto go about this?

You can see I have used the date function in MySQL so hopefully this isn't too tricky!


Here's the script i'm currently using to display the results at the moment...

mysql_select_db($database_anjoman, $anjoman);
$query_date = "SELECT * FROM monthly ORDER BY `date` DESC";
$date = mysql_query($query_date, $anjoman) or die(mysql_error());
$row_date = mysql_fetch_assoc($date);
$totalRows_date = mysql_num_rows($date);


<?php do { ?>
<a href="previous-monthly-meeting-archive.php?date=<?php echo $row_date['date']; ?>" class="eventsdrop">» <?php echo $row_date['invitation']; ?></a><br />
<?php } while ($row_date = mysql_fetch_assoc($date)); ?>
Screen-shot-2011-09-06-at-07.52..png
0
Comment
Question by:BrighteyesDesign
  • 11
  • 10
21 Comments
 
LVL 14

Expert Comment

by:EMB01
ID: 36488356
How exactly do you want them to be displayed?  Do you want the user to first click:

Events 2009...Events 2010 and so on.

Then, a dropdown would display the specific year they've selected?

If so, you can try this:

// this should get all dates for 2009
mysql_select_db($database_anjoman, $anjoman);
$query_date = "SELECT * FROM monthly WHERE date >= '2009-0-0 00:00:00' AND date <= '2009-12-31 99:99:99' ORDER BY `date` DESC";
$date = mysql_query($query_date, $anjoman) or die(mysql_error());
$row_date = mysql_fetch_assoc($date);
$totalRows_date = mysql_num_rows($date);

Open in new window

0
 

Author Comment

by:BrighteyesDesign
ID: 36488545
Yes, that's the idea, i'll try your code now.

With this method I guess I would need to add code each year?
0
 
LVL 14

Expert Comment

by:EMB01
ID: 36488580
You don't have to, you could pass a parameter for the year in the URL if you want:

// this should get all dates for 2009
// the next line should escape the url param and cast as an integer, this should keep you safe from SQL injection attacks
$year = (int) mysql_real_escape_string($_GET['year']);
mysql_select_db($database_anjoman, $anjoman);
$query_date = "SELECT * FROM monthly WHERE date >= '$year-0-0 00:00:00' AND date <= '$year-12-31 99:99:99' ORDER BY `date` DESC";
$date = mysql_query($query_date, $anjoman) or die(mysql_error());
$row_date = mysql_fetch_assoc($date);
$totalRows_date = mysql_num_rows($date);

Open in new window

0
 
LVL 14

Expert Comment

by:EMB01
ID: 36488584
Let me update that code to make sure it works:
// this should get all dates for 2009
// the next line should escape the url param and cast as an integer, this should keep you safe from SQL injection attacks
$year = mysql_real_escape_string($_GET['year']);
$year = (int)$year;
mysql_select_db($database_anjoman, $anjoman);
$query_date = "SELECT * FROM monthly WHERE date >= '".$year."-0-0 00:00:00' AND date <= '".$year."-12-31 99:99:99' ORDER BY `date` DESC";
$date = mysql_query($query_date, $anjoman) or die(mysql_error());
$row_date = mysql_fetch_assoc($date);
$totalRows_date = mysql_num_rows($date);

Open in new window

0
 
LVL 14

Expert Comment

by:EMB01
ID: 36488633
By the way, dates are kind of funny in sql, so if that method doesn't work, try this one:
$query_date = "SELECT * FROM monthly WHERE date BETWEEN '".$year."-0-0 00:00:00' AND '".$year."-12-31 99:99:99' ORDER BY `date` DESC";

Open in new window


Ref.  http://www.roseindia.net/sql/sql-between-datetime.shtml
0
 

Author Comment

by:BrighteyesDesign
ID: 36488761
Thanks for that EMB01,

I know have this query, I'm using events rather than date by the way from the table events which is the same as the table in the attachment above.

$year = mysql_real_escape_string($_GET['year']);
$year = (int)$year;
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '".$year."-0-0 00:00:00' AND '".$year."-12-31 99:99:99' ORDER BY `date` DESC";
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
$row_events = mysql_fetch_assoc($events);
$totalRows_events = mysql_num_rows($events);

Nothing is showing on the page yet  http://www.anjoman.co.uk/previous-events-archivetest.php

But this is probably down to the display code here...

<?php do { ?>
                                <a href="previous-events-archive.php?date=<?php echo $row_events['date']; ?>" class="eventsdrop">» <?php echo $row_events['title']; ?></a><br />
<?php } while ($row_events = mysql_fetch_assoc($events)); ?>

Does this need to change?
0
 
LVL 14

Expert Comment

by:EMB01
ID: 36488805
Yes, please show me the output of this code:

$year = mysql_real_escape_string($_GET['year']);
$year = (int)$year;
die($year);
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '".$year."-0-0 00:00:00' AND '".$year."-12-31 99:99:99' ORDER BY `date` DESC";
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
$row_events = mysql_fetch_assoc($events);
$totalRows_events = mysql_num_rows($events);

Open in new window

0
 

Author Comment

by:BrighteyesDesign
ID: 36489165
Sure, how would I show that output?

(thanks for your patience!)
0
 

Author Comment

by:BrighteyesDesign
ID: 36489353
There does not seem to be any results showing.

I have attached a results test screenshot from Dreamweaver as well as the database database databaseresults.png
0
 
LVL 14

Expert Comment

by:EMB01
ID: 36489380
Thank you, but to send output, just go to the page where the parameter will be called; i.e.:

http://www.anjoman.co.uk/previous-events-archivetest.php?date=[whatever your date would be]

The die($date) line will end the script and display only the contents of the $date variable.

Please let me know if you need more help.
0
How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

 

Author Comment

by:BrighteyesDesign
ID: 36489685
Hi there,

There's no results showing on the page though so I can't click on anything to get to the results?

The page is actually shows blank  http://www.anjoman.co.uk/previous-events-archivetest.php

I'm using...

$year = mysql_real_escape_string($_GET['year']);
$year = (int)$year;
die($year);
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '".$year."-0-0 00:00:00' AND '".$year."-12-31 99:99:99' ORDER BY `date` DESC";
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
$row_events = mysql_fetch_assoc($events);
$totalRows_events = mysql_num_rows($events);


<?php do { ?>
                                <a href="previous-events-archivetest.php?date=<?php echo $row_events['date']; ?>" class="eventsdrop">» <?php echo $row_events['title']; ?></a><br />
<?php } while ($row_events = mysql_fetch_assoc($events)); ?>
0
 
LVL 14

Expert Comment

by:EMB01
ID: 36489734
K, just make your code like this then:

$year = mysql_real_escape_string($_GET['year']);
$year = (int)$year;
if (isset($_GET['year'])) { die($year); }
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '".$year."-0-0 00:00:00' AND '".$year."-12-31 99:99:99' ORDER BY `date` DESC";
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
$row_events = mysql_fetch_assoc($events);
$totalRows_events = mysql_num_rows($events);

Open in new window

0
 

Author Comment

by:BrighteyesDesign
ID: 36498490
Thanks again, still blank though...Results should show on the left where that small blue arrow is.

http://www.anjoman.co.uk/previous-events-archivetest.php

I'll attach the whole pages code too in case there's any clues there.

I'm using...
$year = mysql_real_escape_string($_GET['year']);
$year = (int)$year;
if (isset($_GET['year'])) { die($year); }
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '".$year."-0-0 00:00:00' AND '".$year."-12-31 99:99:99' ORDER BY `date` DESC";
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
$row_events = mysql_fetch_assoc($events);
$totalRows_events = mysql_num_rows($events);

and...

<?php do { ?>
                                <a href="previous-events-archivetest.php?date=<?php echo $row_events['date']; ?>" class="eventsdrop">» <?php echo $row_events['title']; ?></a><br />
<?php } while ($row_events = mysql_fetch_assoc($events)); ?>

<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$colname_Recordset1 = "-1";
if (isset($_GET['date'])) {
  $colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['date'] : addslashes($_GET['date']);
}
mysql_select_db($database_anjoman, $anjoman);
$query_Recordset1 = sprintf("SELECT id, title, title2, invitation, date_format(`date`,'%%D %%M %%Y') as `date`, `time`, venue, `map`, speaker, memberfee, guestfee, youngfee, youngmemberfee FROM events WHERE `date` = %s", GetSQLValueString($colname_Recordset1, "text"));
$Recordset1 = mysql_query($query_Recordset1, $anjoman) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 = mysql_num_rows($Recordset1);

mysql_select_db($database_anjoman, $anjoman);
$query_date = "SELECT * FROM monthly ORDER BY `date` DESC";
$date = mysql_query($query_date, $anjoman) or die(mysql_error());
$row_date = mysql_fetch_assoc($date);
$totalRows_date = mysql_num_rows($date);



mysql_select_db($database_anjoman, $anjoman);
$query_gallery = "SELECT category_id, category_name, date, type FROM gallery_category WHERE type = 'event' ORDER BY date DESC";
$gallery = mysql_query($query_gallery, $anjoman) or die(mysql_error());
$row_gallery = mysql_fetch_assoc($gallery);
$totalRows_gallery = mysql_num_rows($gallery);



mysql_select_db($database_anjoman, $anjoman);
$query_gallerymonth = "SELECT category_id, category_name, `date`, type FROM gallery_category WHERE type = 'monthly' ORDER BY `date` DESC";
$gallerymonth = mysql_query($query_gallerymonth, $anjoman) or die(mysql_error());
$row_gallerymonth = mysql_fetch_assoc($gallerymonth);
$totalRows_gallerymonth = mysql_num_rows($gallerymonth);


$year = mysql_real_escape_string($_GET['year']);
$year = (int)$year;
if (isset($_GET['year'])) { die($year); }
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '".$year."-0-0 00:00:00' AND '".$year."-12-31 99:99:99' ORDER BY `date` DESC";
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
$row_events = mysql_fetch_assoc($events);
$totalRows_events = mysql_num_rows($events);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Anjoman - Previous Events</title>


<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>

<script type="text/javascript" src="js/dropmenu.js"></script> 


<script type="text/javascript">
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
</script>
<link href="anjoman.css" rel="stylesheet" type="text/css" />

<script type="text/javascript" src="js/coolclock.js"></script> 
    
    

<script src="js/menu-collapsed.js" type="text/javascript"></script>
<link rel="stylesheet" type="text/css" href="css/menu.css" />
<link href="css/style.css" rel="stylesheet" type="text/css" />



</head>

<body>
<!-- START of freefind onpage results html -->
<!-- position these div's right after your body tag -->

<!--  FreeFind on-page results divs  -->
<div id="ffresult_win"   style=" z-index:1; padding: 20px 0 16px 0; margin:0px; width:538px; height:728px; border:none; display:none; position:absolute; top:0px; left:0px;">
	<div  id="ffresult_bar" onmousedown="ffresults.drag(event,false)"  style="cursor: move; z-index:5; position:absolute; top:0px; left:0px; background-color:maroon; padding:0; text-align: right; width:100%; height:20px; display:block;  border:solid; border-width: 1px; border-bottom: 0px; border-color:maroon;">
	<a  id="ffrclose" style="z-index:6; font-family: arial, verdana, sans-serif; font-size:8pt; color:white; " href="javascript:ffresults.hide()">Close window [X]</a>&nbsp;&nbsp;&nbsp;
	</div>
	<div  id="ffresult_2" style="z-index:7; position: relative; height: 100%; background-color:white;  display:block;">
	<div  id="ffresult_cvr" style="z-index:0; position:absolute; top:0px; left:0px; display:block; width:100%; height:100%;">
	</div>
	<iframe  id="ffresult_ifr" name="ffresult_frame"  style="z-index:1; position:absolute; top:0px; left:0px; border:solid; border-width: 0px 1px 0px 1px; border-color:gray;" src="" width="100%" height="100%" scrolling="auto" frameborder="0">
	</iframe>
	</div>
	<div  id="ffresult_btm" style=" position:absolute; bottom:-1; left:0px; border:solid; border-color:gray; border-width: 1px; border-top: 0px; display: block; z-index:18; background-color:#d0d0d0; width:100%; height:16px; " >
		<div  id="ffresult_sbx" onmousedown="ffresults.drag(event,true);" style="cursor: se-resize; float:right; border:none; border-color:gray; border-width: 0px; width:16px; height:16px; "><img  style="" id="ffresult_szimg" height=16 width=16 border=0 src="" alt=""></div>
	</div>
</div>


<!--  FreeFind on-page results handler  -->

<script type="text/javascript">
<!--
var ffresults = {

	// copyright 2008 - 2010 FreeFind.com - authorized for use with the FreeFind service only

	// Start of config settings

    autoPos : true,			// automatic initial window position / size. 

	// if autoPos if false, the following four numbers are used as initial window position and size

	initialX : 78,			// left position (pixels)
	initialY : 66,			// right position (pixels)
	initialH : 395,			// height of window
	initialW : 622,			// width of window

	// choose a number for z-index that is high enough so the results window appears above other windows on your page

	initialZ : 10000000,    // initial z-index of the results window
	
	// the following value controls the color of the window's drag bar (top area of window)
	
	barColor : '#59A3D9',

	// end of config settings

	element : undefined,
	cover : undefined,
	mouseDownX : 0,
	mouseDownY : 0,
	objectX : 0,
	objectY : 0,
	objectH : 0,
	objectW : 0,
    ipos : false,
	resize : false,
	
	sizeImageUrl : 'http://search.freefind.com/img/rsize.gif',

	selectFunc : undefined,
	selectState : undefined,
	mozSelect : undefined,

	noSelect : function()
	{
	    var obj = document.body;

        ffresults.selectFunc = obj.onselectstart;
		ffresults.selectState = obj.unselectable;
		ffresults.mozSelect = obj.style.MozUserSelect;

		obj.onselectstart = function(){ return false; };
		obj.unselectable = 'on';
		obj.style.MozUserSelect = 'none';
	},

	restoreSelect : function()
	{
	    var obj = document.body;

		obj.onselectstart = ffresults.selectFunc;
		obj.unselectable = ffresults.selectState;
		obj.style.MozUserSelect = ffresults.mozSelect;
	},


	drag : function (e,size)
	{
		if(!document.getElementById) return;
		
		if(!e) e = window.event;
		var targ = e.target || e.srcElement;
	    ffresults.resize = size;

		if(targ.id != 'ffresult_bar' && targ.id != 'ffresult_szimg') return true;
		ffresults.noSelect();

		ffresults.element = document.getElementById('ffresult_win');
		ffresults.objectX = parseInt(ffresults.element.style.left,10);
		ffresults.objectY = parseInt(ffresults.element.style.top,10);
		ffresults.objectH = parseInt(ffresults.element.style.height,10);
		ffresults.objectW = parseInt(ffresults.element.style.width,10);

		ffresults.cover = document.getElementById('ffresult_cvr');
		ffresults.cover.style.zIndex = '40';
		ffresults.mouseDownX = e.clientX;
		ffresults.mouseDownY = e.clientY;
		if(e.preventDefault) e.preventDefault();
		e.returnValue = false;
		e.cancelBubble = true;
		ffresults.attach(document,"mouseup",ffresults.drop);
		ffresults.attach(document,"mousemove",ffresults.move);
	},




	attach : function(to,eventname,func)
	{
		if(to.addEventListener) 
			to.addEventListener(eventname,func,false);
		else
			to.attachEvent("on" + eventname,func);
	},

	detach : function(to,eventname,func)
	{
		if(to.removeEventListener) 
			to.removeEventListener(eventname,func,false);
		else
			to.detachEvent("on" + eventname,func);
	},

	drop : function(e)
	{
		ffresults.detach(document,"mouseup",ffresults.drop);
		ffresults.detach(document,"mousemove",ffresults.move);
		ffresults.cover.style.zIndex = 0;	
		ffresults.element = null;
		ffresults.restoreSelect();
	},

	move: function(e)
	{
	   if(!e) e = window.event;

	   e.returnValue = false;
	   e.cancelBubble = true;
	   if(e.preventDefault) e.preventDefault();

		var x = e.clientX;
		var y = e.clientY; 

		if(ffresults.resize)
		{
			var winW = ffresults.objectW + x - ffresults.mouseDownX;
			var winH = ffresults.objectH + y - ffresults.mouseDownY;
			
			if(winH < 128) winH = 128;
			if(winW < 128) winW = 128;

			ffresults.element.style.width = winW + "px";
			ffresults.element.style.height = winH + "px";
		}
		else
		{
			var left = ffresults.objectX + x - ffresults.mouseDownX;
			var top = ffresults.objectY + y - ffresults.mouseDownY;

			ffresults.element.style.left = left + "px";
			ffresults.element.style.top = top + "px";
		}
		

	},

	hide : function()
	{
		var rStyle = document.getElementById('ffresult_win').style;
		rStyle.display = "none";
		rStyle.zIndex = 0;
		var ifr = document.getElementById('ffresult_ifr');
		if(ifr) ifr.src="";
		var szImg = document.getElementById('ffresult_szimg');
		if(szImg) szImg.src = "";

	},


	show : function(num)
	{
		if(!document.getElementById) return;

		var searchForm = document.getElementById('ffresult_sbox'+num);
		var idxLink = document.getElementById('ffresult_idx'+num);
		var smpLink = document.getElementById('ffresult_smp'+num);
		var advLink = document.getElementById('ffresult_adv'+num);

		if(searchForm) searchForm.target = 'ffresult_frame';
		if(idxLink) idxLink.target = 'ffresult_frame';
		if(smpLink) smpLink.target = 'ffresult_frame';
		if(advLink) advLink.target = 'ffresult_frame';

		var rDiv = document.getElementById('ffresult_win');

		if(!ffresults.ipos)
		{
		    if(ffresults.autoPos)
			{
			    ffresults.computePos(rDiv); 
			}
			else
			{
				rDiv.style.top = ffresults.initialY + 'px';
				rDiv.style.left = ffresults.initialX + 'px';
				rDiv.style.width = ffresults.initialW + 'px';
				rDiv.style.height = (ffresults.initialH - 36) + 'px';	
			}
			ffresults.ipos = true;
		}

		var szImg = document.getElementById('ffresult_szimg');
		if(szImg) szImg.src = ffresults.sizeImageUrl;

		var dragBar = document.getElementById('ffresult_bar');
		if(dragBar) 
		{
			dragBar.style.backgroundColor = ffresults.barColor;
			dragBar.style.borderColor = ffresults.barColor;
		}

		rDiv.style.zIndex = ffresults.initialZ;
		rDiv.style.display = "block";
	},



	computePos : function(rDiv)
	{

		var view = ffresults.viewSize();
		var w = parseInt(view.width * 0.75,10);
		var h = parseInt(view.height * 0.75,10);
		if(w < 220) w = 220;
		if(h < 220) h = 220;


		var left = parseInt((view.width - w ) / 2,10);
		var top = parseInt((view.height - (h + 36)) / 2,10);


		if(left < 0) left = 0;
		if(top < 0) top = 0;

		rDiv.style.top = (top + view.scrollY) + 'px';
		rDiv.style.left =  (left + view.scrollX) + 'px';
		rDiv.style.width =  w + 'px';
		rDiv.style.height =  h + 'px';

	},
	
	viewSize : function()
	{   
		var w = 0;
		var h = 0;
		var sx = 0;
		var sy = 0;

	    if(window.innerWidth)	
		{  // non-ie
		   w = window.innerWidth;
		   h = window.innerHeight;
		   sx = window.pageXOffset;
		   sy = window.pageYOffset;
		}
		else
		{
		    var elem;
			if(document.documentElement && document.documentElement.clientWidth != 0)
			{   // ie strict
				elem = document.documentElement;
			}
			else
			{	// ie quirks
				elem = document.body;
			}
			w = elem.clientWidth;
			h = elem.clientHeight;
			sx = elem.scrollLeft;
			sy = elem.scrollTop;
			
		}
		  
		
		return {width: w,height: h, scrollX: sx, scrollY: sy};
		
	}


};

//-->
</script>
<!-- END of freefind onpage results html -->
<table width="1008" height="305" border="0" align="center" cellpadding="0" cellspacing="0" class="monthlymtings">
  <tr>
    <td height="152" valign="top"><table width="1008" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="mapbg">
          <tr>
            <td width="26%" valign="middle"><table width="100" border="0" cellspacing="0" cellpadding="5">
              <tr>
                <td><img src="img/anjoman.gif" width="255" height="74" alt="logo" /></td>
              </tr>
            </table></td>
            <td width="74%" align="right" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td align="right"><div class="iframecontainer" style="height:30;width:100%;">
                  <iframe src="http://www.anjoman.co.uk/clock.php" width="325" height="100" frameborder="0" scrolling="No"></iframe>
                </div></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="bottom3">
          <tr>
            <td width="78%" align="left"><ul id="nav-one" class="dropmenu">
              <li> <a href="http://www.anjoman.co.uk/index.php">HOME</a></li>
              <li> <a href="http://www.anjoman.co.uk/about.php">ABOUT ANJOMAN</a>
                <ul>
                  <li><a href="http://www.anjoman.co.uk/previousboard.php">Board members</a></li>
                  <li><a href="http://www.anjoman.co.uk/speakers.php">Selected speakers</a></li>
                </ul>
              </li>
              <li><a href="http://www.anjoman.co.uk/monthly-meeting.php">MONTHLY MEETING</a>
                 <ul>
                  <li><a href="http://www.anjoman.co.uk/monthly-meeting.php">Next Monthly Meeting</a></li>
                     <li><a href="http://www.anjoman.co.uk/previous-monthly-meeting.php">Previous Monthly Meetings</a></li>
                        <li><a href="http://www.anjoman.co.uk/galleries.php">Galleries</a></li>
                </ul>
              <li><a href="http://www.anjoman.co.uk/events.php">EVENTS</a>
              <ul>
                  <li><a href="http://www.anjoman.co.uk/events.php">Next Event</a></li>
                   <li><a href="http://www.anjoman.co.uk/previous-events.php">Previous Events</a></li>
                   <li><a href="http://www.anjoman.co.uk/galleries.php">Galleries</a></li>
                </ul>
              <li><a href="http://www.anjoman.co.uk/joinanjoman.php">JOIN ANJOMAN</a></li>
              <li> <a href="http://www.anjoman.co.uk/contact.php">CONTACT US</a></li>
              <li> <a href="http://www.anjoman.co.uk/exchange.php">INFORMATION</a>
                <ul>
                  <li><a href="http://www.anjoman.co.uk/exchange.php">Exchange Rates</a></li>
                </ul>
              </li>
              <li> </li>
            </ul></td>
            <td width="22%" align="right"><table cellpadding="0" cellspacing="0" border="0" >
              <tr>
                <td colspan="2" align="right" style="font-family: Arial, Helvetica, sans-serif; font-size: 7.5pt;"><form  id="ffresult_sbox0" style="margin:0px; margin-top:4px;" action="http://search.freefind.com/find.html" method="get" accept-charset="utf-8" onsubmit="ffresults.show(0);">
                  <input type="hidden" name="si" value="96214948" />
                  <input type="hidden" name="pid" value="r" />
                  <input type="hidden" name="n" value="0" />
                  <input type="hidden" name="_charset_" value="" />
                  <input type="hidden" name="bcd" value="÷" />
                  <input type="hidden" name="sbv" value="j1" />
                  <table width="100%" border="0" cellspacing="0" cellpadding="0">
                    <tr>
                      <td><input type="text" name="query" size="15" /></td>
                      <td><input type="image" name="imageField" id="imageField" src="img/search.png" /></td>
                    </tr>
                  </table>
                </form></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="697" valign="top"><img src="img/topcurve.jpg" width="1008" height="23" alt="topcurve" /></td>
      </tr>
      <tr>
        <td align="center" valign="top" class="middlecurve"><table width="95%" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td><table width="100%" border="0" cellpadding="10" cellspacing="0" class="bottomgreydots">
              <tr>
                <td width="38%"><h1>Previous Events<br />
                </h1></td>
                <td width="62%" align="right">&nbsp;</td>
              </tr>
            </table></td>
          </tr>
          <tr>
            <td><table width="100%" border="0" cellpadding="0" cellspacing="0" class="top3">
              <tr>
                <td width="65%" valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td width="22%" valign="top"><table width="100%" border="0" cellpadding="5" cellspacing="0" class="top15">
                      <tr>
                        <td><?php do { ?>
                                <a href="previous-events-archivetest.php?date=<?php echo $row_events['date']; ?>" class="eventsdrop">» <?php echo $row_events['title']; ?></a><br />
<?php } while ($row_events = mysql_fetch_assoc($events)); ?></td>
                      </tr>
                    </table></td>
                    <td width="78%" align="right" valign="top"><table width="100" border="0" cellspacing="0" cellpadding="0">
                      <tr>
                        <td width="697" valign="top"><img src="img/small-white-top.jpg" width="740" height="20" alt="topcurve" /></td>
                      </tr>
                      <tr>
                        <td align="center" valign="top" class="middlecurveCopy"><table width="90%" border="0" cellpadding="0" cellspacing="0" >
                          <tr>
                            <td><table width="98%" border="0" cellspacing="0" cellpadding="0">
                              <tr>
                                <td width="962"><img src="img/bluetop.jpg" width="700" height="8" alt="bluetop" /></td>
                              </tr>
                              <tr>
                                <td align="center" bgcolor="#5BA2D6"><table width="97%" border="0" cellspacing="0" cellpadding="5">
                                  <tr>
                                    <td align="left"><span class="monthlytitle"><?php echo $row_Recordset1['title']; ?></span><br />
                                      <span class="subtitle"><?php echo $row_Recordset1['title2']; ?></span></td>
                                  </tr>
                                </table></td>
                              </tr>
                              <tr>
                                <td><img src="img/bluebottom.jpg" width="700" height="9" alt="bluebottom" /></td>
                              </tr>
                            </table></td>
                          </tr>
                          <tr>
                            <td><table width="100" border="0" cellpadding="0" cellspacing="0" class="top15">
                              <tr>
                                <td width="70%" align="left" valign="top"><table width="430" border="0" cellpadding="15" cellspacing="0" class="top3">
                                  <tr>
                                    <td><?php echo $row_Recordset1['speaker']; ?></td>
                                  </tr>
                                  <tr>
                                    <td>&nbsp;</td>
                                  </tr>
                                </table></td>
                                <td width="30%" align="right" valign="top"><table width="240" border="0" cellpadding="0" cellspacing="0">
                                  <tr>
                                    <td><img src="img/gray-top.jpg" width="268" height="21" alt="greytop" /><br /></td>
                                  </tr>
                                  <tr>
                                    <td align="center" class="greymiddle"><table width="95%" border="0" cellspacing="0" cellpadding="15">
                                      <tr>
                                        <td align="left" valign="top"><span class="infoboxblue">Date<br />
                                          </span><?php echo $row_Recordset1['date']; ?><span class="infoboxblue"><br />
                                            <br />
                                            Time <br />
                                            </span><?php echo $row_Recordset1['time']; ?><span class="infoboxblue"><br />
                                              <br />
                                              Venue<br />
                                              </span><?php echo $row_Recordset1['venue']; ?><span class="infoboxblue"><br />
                                                <br />
                                                </span><span class="darkbluelink"><a href="<?php echo $row_Recordset1['map']; ?>" target="_new" class="darkbluelink"><strong>Click here for a map</strong></a></span><span class="infoboxblue"><br />
                                                  <br />
                                                  Fees</span><span class="whitetext"><br />
                                                    </span><strong>Members</strong> £<?php echo $row_Recordset1['memberfee']; ?><br />
                                          <strong>Guests</strong> £<?php echo $row_Recordset1['guestfee']; ?><br />
                                          <strong>Young Members</strong> £<?php echo $row_Recordset1['youngmemberfee']; ?><br />
                                          (Age 25 and under) <br />
                                          <strong>Young Guests</strong> £<?php echo $row_Recordset1['youngfee']; ?><br />
                                          (Age 25 and under) <span class="whitetext"><br />
                                            <br />
                                            <br />
                                          </span><span class="whitetext"> <a href="mailto:events@anjoman.co.uk" class="darkbluelink">RSVP to events@anjoman.co.uk</a></span></td>
                                      </tr>
                                    </table></td>
                                  </tr>
                                  <tr>
                                    <td><img src="img/gray-bottom.jpg" width="268" height="22" alt="greybottom" /></td>
                                  </tr>
                                </table></td>
                              </tr>
                            </table></td>
                          </tr>
                        </table></td>
                      </tr>
                      <tr>
                        <td valign="top"><img src="img/small-bottom.jpg" width="740" height="29" alt="bottomcurve" /></td>
                      </tr>
                    </table></td>
                  </tr>
                </table></td>
              </tr>
            </table></td>
          </tr>
        </table></td>
      </tr>
      <tr>
        <td valign="top"><img src="img/bottomcurve.jpg" width="1008" height="25" alt="bottomcurve" /></td>
      </tr>
    </table></td>
  </tr>
  <tr>
    <td><table width="100%" border="0" align="right" cellpadding="15" cellspacing="0" class="bottom-border">
      <tr>
        <td align="right" valign="top"><span class="bottomcopy">© Anjoman 2011</span></td>
      </tr>
    </table></td>
  </tr>
</table>
<p class="events">&nbsp;</p>
<p>&nbsp; </p>
</body>
</html>
<?php
mysql_free_result($Recordset1);

mysql_free_result($date);

mysql_free_result($speakers);

mysql_free_result($gallery);

mysql_free_result($events);


?>

Open in new window

0
 
LVL 14

Expert Comment

by:EMB01
ID: 36502204
Ok, I hope this works...  Just run this in place of the old one and tell me what it says.  Be sure to point your browser to:

http://www.anjoman.co.uk/previous-events-archivetest.php?year=2010
$year = mysql_real_escape_string($_GET['year']);
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'year is '.$year; die;
$date1 = $year;
$date1 = $date1 . " 00:00:00";
$date2 = $date1+1 . " 23:59:59"; 
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'date1 is '.$date1; die;
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'date2 is '.$date2; die;
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '".$year."-0-0 00:00:00' AND '".$year."-12-31 99:99:99' ORDER BY `date` DESC";
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'query is '.$query_events; die;
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
while ($row_events = mysql_fetch_assoc($events)) {
echo var_dump($row_events);
}
$totalRows_events = mysql_num_rows($events);
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'total rows '.$totalRows_events; die;

Open in new window

0
 
LVL 14

Expert Comment

by:EMB01
ID: 36502212
Use this one actually, I've updated the query:
$year = mysql_real_escape_string($_GET['year']);
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'year is '.$year; die;
$date1 = $year;
$date1 = $date1 . " 00:00:00";
$date2 = $date1+1 . " 23:59:59"; 
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'date1 is '.$date1; die;
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'date2 is '.$date2; die;
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '$date1' AND '$date2' ORDER BY `date` DESC";
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'query is '.$query_events; die;
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
while ($row_events = mysql_fetch_assoc($events)) {
echo var_dump($row_events);
}
$totalRows_events = mysql_num_rows($events);
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'total rows '.$totalRows_events; die;

Open in new window

0
 

Author Comment

by:BrighteyesDesign
ID: 36502294
Thanks for that,

Here's what you get with that...

http://www.anjoman.co.uk/previous-events-archivetest.php

And this is the code to create the archive list...

<?php do { ?>
<a href="previous-events-archivetest.php?year=<?php echo $row_events['date']; ?>" class="eventsdrop">» <?php echo $row_events['date']; ?></a><br />
<?php } while ($row_events = mysql_fetch_assoc($events)); ?>
0
 
LVL 14

Accepted Solution

by:
EMB01 earned 500 total points
ID: 36502321
Okay, so please run through and for each thing that gets echoed properly, delete or comment it out and move on to the next.  We're just trying to make sure each variable is created.

For example, nav to this address:

http://www.anjoman.co.uk/previous-events-archivetest.php?year=2010

You'll see that it says "year is 2010."

Now, delete or comment out that line in the script like so:

$year = mysql_real_escape_string($_GET['year']);
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
//echo 'year is '.$year; die;
$date1 = $year;
$date1 = $date1 . " 00:00:00";
$date2 = $date1+1 . " 23:59:59"; 
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'date1 is '.$date1; die;
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'date2 is '.$date2; die;
mysql_select_db($database_anjoman, $anjoman);
$query_events = "SELECT * FROM events WHERE date BETWEEN '$date1' AND '$date2' ORDER BY `date` DESC";
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'query is '.$query_events; die;
$events = mysql_query($query_events, $anjoman) or die(mysql_error());
while ($row_events = mysql_fetch_assoc($events)) {
echo var_dump($row_events);
}
$totalRows_events = mysql_num_rows($events);
// IF THE NEXT LINE WORKS, DELETE IT AND CONTINUE
echo 'total rows '.$totalRows_events; die;

Open in new window


And, run the script, again.  Keep doing this until you reach an error or a variable that does not get created.

Goodluck!
0
 

Author Comment

by:BrighteyesDesign
ID: 36502344
I have attached a visual of what we're trying to acheive

How the page appears in Dreamweaver
How the page appear in Dreamweaver

How it needs to display
How it needs to display
0
 

Author Comment

by:BrighteyesDesign
ID: 36502354
Ok,i'll try that..
0
 

Author Closing Comment

by:BrighteyesDesign
ID: 36502471
I'm sure this works but I feel I may not of described what I need properly so i'm going to ask again as a separate question in more detail.
0
 
LVL 14

Expert Comment

by:EMB01
ID: 36502512
Well this is only the first part; we want to make sure our variables get values, our queries return resources, then we'll handle formatting issues.
0

Featured Post

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

These days socially coordinated efforts have turned into a critical requirement for enterprises.
This article discusses how to create an extensible mechanism for linked drop downs.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

757 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now