Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 02-26-2010, 06:00 PM
Amit86 Amit86 is offline
 
Join Date: Feb 2008
Location: Israel
Posts: 108
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default PHP Help with widgets

Hey all,
im trying to code something that will echo text and vars into a widgts, while using echo it works but it outputs at the begining of the page instead of inside th wigit it self,
could you try and assit me in altering the code so it would work?

PHP Code:
$Hostname "SERVER";
$Username "USER";
$Password "PASS";
$CharacterDatabase 'characters';
$RealmDatabase 'realmd';
$WorldDatabase 'world';
$CharacterDatabaseEncoding 'utf8'
$toutput=''
$conn mysql_connect($Hostname$Username$Password);

mysql_select_db($CharacterDatabase$conn);

$sql "SELECT * FROM `characters` WHERE `online` = 1 ORDER BY `name`";
$result mysql_query($sql$conn);

$count 0;



$realm_db mysql_connect($Hostname$Username$Password);
mysql_select_db($RealmDatabase$realm_db);
$db_result mysql_query("SET NAMES $CharacterDatabaseEncoding"$realm_db);

$world_db mysql_connect($Hostname$Username$PasswordTRUE);
mysql_select_db($CharacterDatabase$world_db);
$db_result mysql_query("SET NAMES $CharacterDatabaseEncoding"$world_db);
 
$uptime_query mysql_query("SELECT * FROM $RealmDatabase.`uptime` ORDER BY `starttime` DESC LIMIT 1"$realm_db); 
$uptime_results mysql_fetch_array($uptime_query); 
$maxplayers =  $uptime_results['maxplayers'];
if (
$uptime_results['uptime'] > 86400) { //days
    
$uptime =  round(($uptime_results['uptime'] / 24 60 60),2)." ימים";
}
elseif(
$uptime_results['uptime'] > 3600) { //hours
    
$uptime =  round(($uptime_results['uptime'] / 60 60),2)." שעות";
}
else { 
//minutes
    
$uptime =  round(($uptime_results['uptime'] / 60),2)." דקות";
}

$player_query mysql_query("SELECT (SELECT COUNT(guid) FROM $CharacterDatabase.`characters` WHERE race IN(2,5,6,8,10) AND `online`='1') as horde, (SELECT COUNT(guid) FROM $CharacterDatabase.`characters` WHERE race IN(1,3,4,7,11) AND `online`='1') as alliance FROM $CharacterDatabase.`characters`"$world_db); 
$player_results mysql_fetch_array($player_query); 
$horde =  $player_results['horde'];
$alliance =  $player_results['alliance'];
$total $horde $alliance;

echo 
"<table width=\"100%\" border=0 cellspacing=0 cellpadding=3 class=\"alt2\">
  <tr>
    <td class=\"alt2\">פעילות:</td>
    <td class=\"alt2\">
$uptime</td>
  <tr>
    <td class=\"alt2\">מחוברים:</td>
    <td class=\"alt2\">
$total</td>
  </tr>
  </tr>
  <tr>
    <td class=\"alt2\">אלליאנס:</td>
    <td class=\"alt2\">
$alliance</td>
  </tr>
  <tr>
    <td class=\"alt2\">הורד:</td>
    <td class=\"alt2\">
$horde</td>
  </tr>
</table>"

Reply With Quote
  #2  
Old 02-26-2010, 06:17 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You cannot use echo in the widget. You need to assign all your output to the variable $output.
Reply With Quote
  #3  
Old 02-26-2010, 11:43 PM
Amit86 Amit86 is offline
 
Join Date: Feb 2008
Location: Israel
Posts: 108
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

so how do i assign those to a var and still keep the things i want to disaply inside dynamic?
Reply With Quote
  #4  
Old 02-27-2010, 03:18 AM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Not sure what you mean - like this?

PHP Code:
$output .= "<td class=\"alt2\">".$uptime."</td>"
Reply With Quote
  #5  
Old 02-27-2010, 09:38 AM
Vaupell's Avatar
Vaupell Vaupell is offline
 
Join Date: Apr 2008
Location: Esbjerg, Denmark
Posts: 1,036
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

well i would if i was you 2 ways i see this done

1)
create all the var's in the widget as php then register them into a array
and instead of using the default template, i would create my own then
use that to display the var's.

2)
create all the output as lynne said, and you add each line one at a time
then in the end you assign it all to output then it displays in the default template
but it takes ALOT of repetetive codeing.

Personally i do both, but i made the WoW recruitment widget i used option 2,
i created it all in php in the widget then at the end i turned it over to $output
then it will get rendered on default template, but it requires all formatting to be
done in php before $output.

-----

Maybe you should download some widgets first and see how they are buildt..
There are several doing what your trying to achive there, just using other data
than wow online players..
Reply With Quote
  #6  
Old 02-27-2010, 10:05 AM
Amit86 Amit86 is offline
 
Join Date: Feb 2008
Location: Israel
Posts: 108
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks!
i was able to use $output and it worked perfect!
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 06:28 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04205 seconds
  • Memory Usage 2,231KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (6)post_thanks_box
  • (6)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (6)post_thanks_postbit_info
  • (6)postbit
  • (6)postbit_onlinestatus
  • (6)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete