vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   template reading database data (https://vborg.vbsupport.ru/showthread.php?t=223556)

al3bed 09-19-2009 02:57 AM

template reading database data
 
hello,

I have a problem (how-to).. let me show you an example:

PHP Code:

if(something == something else){
$ain_data $vbulletin->db->query_first("
SELECT id, type, content
FROM " 
TABLE_PREFIX "ainadse AS ainadse
WHERE id = '1'  "
);

//str_replace code to fetch the template (show) here
}

if(
something == something else){
$ain_data $vbulletin->db->query_first("
SELECT id, type, content
FROM " 
TABLE_PREFIX "ainadse AS ainadse
WHERE id = '2'  "
);

//str_replace code to fetch the template (show) here
}

if(
something == something else){
$ain_data $vbulletin->db->query_first("
SELECT id, type, content
FROM " 
TABLE_PREFIX "ainadse AS ainadse
WHERE id = '3'  "
);

//str_replace code to fetch the template (show) here


now the problem is when I call $ain_data from a template it's always take the last one in the template... in our example its will take data of id 3

is there any way to solve that? cuz my brain out of data now!
I try something like this but it's the same:

PHP Code:

if(something == something else){

$ain_id '1';

//str_replace code to fetch the template (show) here
}

if(
something == something else){

$ain_id '2';

//str_replace code to fetch the template (show) here
}

if(
something == something else){

$ain_id '3';

//str_replace code to fetch the template (show) here 
}

$ain_data $vbulletin->db->query_first("
SELECT id, type, content
FROM " 
TABLE_PREFIX "ainadse AS ainadse
WHERE id = '
$ain_id'  "); 

.. template always read last variable $ain_id

what I'm trying to achive? what is my idea?
I want to show ads in a forum by a templete
in a plugin, I read the ads data from the database then
use str_replace to fetch that template in exact place where i want
regarding to the if statment

if there is a better way please tell me
I think my way to achive this is wrong!

thanks alot

Lynne 09-19-2009 03:40 AM

It's hard to tell what you are doing wrong since you aren't giving us the real if statements.

al3bed 09-19-2009 10:05 AM

sorry the if statements look like:

PHP Code:

$db->hide_errors();
$ain_info $vbulletin->db->query_first("
SELECT fh_loc_1, fh_loc_2, fh_loc_3, fh_adid_1, fh_adid_2, fh_adid_3
FROM " 
TABLE_PREFIX "adsopt AS adsopt
WHERE id = '1' "
);
$db->show_errors();

if(
$ain_info['fh_adid_1'] != '0'){

//code for data 1

}

if(
$ain_info['fh_adid_2'] != '0'){

//code for data 2

}

if(
$ain_info['fh_adid_3'] != '0'){

//code for data 3



code for data is the same as what I wirte in first post something like:

PHP Code:

$ain_data $vbulletin->db->query_first(
SELECT id, type, content 
FROM " 
TABLE_PREFIX "ainadse AS ainadse 
WHERE id = '1'  "
); 

if(
$ain_info['fh_loc_1'] == '1'){
    
$vbulletin->templatecache['FORUMHOME'] = str_replace('$navbar''$ain_tableh $ain_tablef'.'$navbar'$vbulletin->templatecache['FORUMHOME']);}
elseif(
$ain_info['fh_loc_1'] == '2'){
    
$vbulletin->templatecache['FORUMHOME'] = str_replace('$navbar''$navbar'.'$ain_tableh $ain_tablef'$vbulletin->templatecache['FORUMHOME']);} 

whereas $ain_tableh $ain_tablef fetch the templates:

PHP Code:

eval('$ain_tableh .= "' fetch_template('ain_tableh') . '";');
eval(
'$ain_tablef .= "' fetch_template('ain_tablef') . '";'); 

I also try using fetch_template('ain_tablef') in the str_replace command but it's the same
the template always read the last variable in the plugin no matter if there is (if)s or not


hope it's clear to find where is the problem :)

thanks for your response

Lynne 09-19-2009 02:35 PM

The way things are written, all three variables could be non-zero (I would guess) and so you end up going through each if statement and they write over each other (in each you set $ain_id to something).

If all you are doing is placing something at the beginning or end of the navbar, why don't you just append it instead of using str_replace? (something like $navbar = $navbar . $ain_tableh . $ain_tablef)

al3bed 09-19-2009 04:05 PM

I see.. if all three variables non-zero they write over each other
so what should I do to execute the code after each if statement before get ride of it?

it's not always placing at the beginning or end of the navbar

Lynne 09-19-2009 04:22 PM

Since I don't know what you are doing, or what your thinking is, I really can't recommend anything else to do. Sometimes it helps to write out what you want in english and write out all the logic involved and then write your conditions afterwards.


All times are GMT. The time now is 05:15 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.01118 seconds
  • Memory Usage 1,748KB
  • 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
  • (5)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)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