Version: , by MarkB
Developer Last Online: Nov 2009
Version: Unknown
Rating:
Released: 04-20-2002
Last Update: Never
Installs: 0
No support by the author.
I'm placing the following code in index.php - the idea is to get the 5 latest records from the events table (including some custom fields of my own), formatted via templates. Having this code in index.php, however, just leaves my with index loading as a blank page
Code:
$events = $DB_site->query("SELECT eventid, DATE_FORMAT(eventdate,'%M %d') AS gigdate, eventdate, subject, location, country
FROM calendar_events WHERE public='1' ORDER BY eventdate LIMIT 10");
while ($gig = $DB_site->fetch_array($events) and ++$bgcounter):
$gigid .= "$event['eventid']";
$gigdate .= "$event['gigdate']";
$gigband .= "<a href=$bburl/shows.php?s=&action=getinfo&eventid=$event['eventid']>$event['subject']</a>";
$gigcity .= "$event['country']";
eval("\$nextgigs = \"".gettemplate("gigs")."\";");
My idea for this hack was two pull the next 10 events from the calendar table, sort them by date, and have them displayed in individual table rows so I can display them in a side column on index.php (within their own table of course) -- see the right-side column of www.ultimatemetal.com/forum/ for placement idea.
Anyway, I have problems. I can pull the data out fine, but when displayed, it displays all dates in one cell, all subjects in another, etc:
May 1May 2May3 May4
etc...
This is the code:
In index.php, before $birthdaybits=""; I put:
Code:
$events = $DB_site->query("SELECT eventid, DATE_FORMAT(eventdate,'%M %d') AS gigdate, eventdate, subject, location, country
FROM calendar_events WHERE public='1' ORDER BY eventdate LIMIT 10");
while ($gig = $DB_site->fetch_array($events) and ++$bgcounter) {
$gigid .= $gig['eventid'];
$gigdate .= $gig['gigdate'];
$gigband .= "<a href=$bburl/shows.php?s=&action=getinfo&eventid=" . $gig['eventid'] . ">" . $gig['subject'] . "</a>";
$gigcity .= $gig['country'];
}
unset($gigbits);
$DB_site->free_result($events);
// eval("\$gigbits = \"".gettemplate("gigbits")."\";");
// eval("\$nextgigs = \"".gettemplate("gigs")."\";");
(note the two extra table fields I've added in calendar for my hack)
Template gigs is just a table with two header rows, and then $gigbits where I want the content rows to be added.
Is there anything else I need to do to make sure each individual record has its own row? Or is it just not possible? I did have it being called from an external PHP into index.php, but that seemed to slow everything down (possibly because of an extra 10 queries when loading the page?).
I really haven't messed to much with templates and stuff, other than following directions for hacks I have installed, but I think you need to do some eval'ing inside the while loop. So you'd do something like this:
PHP Code:
$events = $DB_site->query("SELECT eventid, DATE_FORMAT(eventdate,'%M %d') AS gigdate, eventdate, subject, location, country FROM calendar_events WHERE public='1' ORDER BY eventdate LIMIT 10");
I'm getting closer to my desired result, but still having problems...
With this code:
PHP Code:
$events = $DB_site->query("SELECT eventid, DATE_FORMAT(eventdate,'%M %d') AS gigdate, eventdate, subject, location, country FROM calendar_events WHERE public='1' ORDER BY eventdate LIMIT 10");
$events = $DB_site->query("SELECT eventid, DATE_FORMAT(eventdate,'%M %d') AS gigdate, eventdate, subject, location, country FROM calendar_events WHERE public='1' ORDER BY eventdate LIMIT 10");