Version: , by MarkB
Developer Last Online: Nov 2009
Version: Unknown
Rating:
Released: 04-21-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")."\";");
Any help is appreciated...
Mark
Show Your Support
This modification may not be copied, reproduced or published elsewhere without author's permission.
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");