vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   Member Archives (https://vborg.vbsupport.ru/forumdisplay.php?f=202)
-   -   Help Need With Index.php Hack (https://vborg.vbsupport.ru/showthread.php?t=37684)

MarkB 04-21-2002 12:02 AM

Help Need With Index.php Hack
 
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

Sparkz 04-21-2002 12:13 AM

Your PHP-syntax is, err, a bit off ;)

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"
);

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'];
}
eval(
"\$nextgigs = \"".gettemplate("gigs")."\";"); 

Something like this should do it... I think :P

MarkB 04-21-2002 02:33 AM

Hi,

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.

template gigbits is just:

Code:

<tr bgcolor="$bgcolor">
<td nowrap><smallfont>$gigdate</font></td>
<td><smallfont>$gigband</font></td>
<td><smallfont>$gigcity</font></td></tr>

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?).

Please help :ermm:

Sparkz 04-21-2002 12:55 PM

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");

unset (
$nextgigs);

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'];
 eval(
"\$nextgigs .= \"".gettemplate("gigs")."\";");
}

unset(
$gigbits);
$DB_site->free_result($events);
// eval("\$gigbits = \"".gettemplate("gigbits")."\";"); 

Move the $nextgigs-eval inside the while loop, and remember to change = to .=

MarkB 04-21-2002 09:59 PM

1 Attachment(s)
Thanks for the response :)

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");


while (
$gig $DB_site->fetch_array($events)) {
 
$gigid .= $gig['eventid'];
 
$gigdate .= $gig['gigdate'];
 
$gigband .= "<a href=$bburl/shows.php?s=&action=getinfo&eventid=" $gig['eventid'] . ">" $gig['subject'] . "</a>";
 
$gigcity .= $gig['country'];
eval(
"\$gigbits .= \"".gettemplate("gigbits")."\";");
eval(
"\$nextgigs .= \"".gettemplate("gigs")."\";");



I'm getting this result (attached). Any ideas? :ermm:

Sparkz 04-22-2002 07:19 AM

Try 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");


while (
$gig $DB_site->fetch_array($events)) {
 
$gigid $gig['eventid'];
 
$gigdate $gig['gigdate'];
 
$gigband "<a href=$bburl/shows.php?s=&action=getinfo&eventid=" $gig['eventid'] . ">" $gig['subject'] . "</a>";
 
$gigcity $gig['country'];
 eval(
"\$gigbits .= \"".gettemplate("gigbits")."\";");
}

eval(
"\$nextgigs = \"".gettemplate("gigs")."\";"); 

That should do it. I had gigs and gigbits mixed up :)

MarkB 04-22-2002 08:29 AM

That did indeed do it! :D Thanks! :)


All times are GMT. The time now is 09:10 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01164 seconds
  • Memory Usage 1,762KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (4)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (7)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete