Pagina 1 van 2

table value op portal

Geplaatst: 30 jun 2005, 11:32
door funnyman
hallo,

ik wil graag het aantal shouts, pics, commentaren enz. op mijn portal

ik vroeg me af of dit mogelijk is?

alvast bedankt :thumb:

Geplaatst: 01 jul 2005, 11:54
door Luuk
Ja dat gaat allemaal, met COUNT in de sql querrie. Shouts zijn van de shoutbox neem ik aan (weke precies, geef even de link), foto0s van de album mod? en commentaren?? Wat bedoel je daarmee?

Geplaatst: 02 jul 2005, 16:53
door funnyman
fully intergrated shoutbox
http://www.phpbbhacks.com/download/1255

en smartors photo album, met reacties bedoel ik de reacties die op de foto's worden gegeven...

alvast bedankt :)

Geplaatst: 03 jul 2005, 15:22
door Luuk
Kun je zelf een beetje php(BB)? Anders moet ik je nog verder helpen.

Code: Selecteer alles

$sql = "SELECT COUNT(s.shout_id) AS shouts, COUNT(a.pic_id) AS pics, COUNT(c.comment_id) AS comments
    FROM " . SHOUTBOX_TABLE . " s, " . ALBUM_TABLE . " a, " . ALBUM_COMMENT_TABLE . " c;
if( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not count', '', __LINE__, __FILE__, $sql);
}

if( $row = $db->sql_fetchrow($result) )
{
    $shouts = $row['shouts'];
    $pics = $row['pics'];
    $comments = $row['comments'];
}
$db->sql_freeresult($result);

Geplaatst: 03 jul 2005, 15:43
door funnyman
beetje... maar waar kan ik em het beste in portal.php plaatsen?

en hoe roep ik dit op? gewoon {shouts} ofzo?

iig al super bedankt :D

Geplaatst: 03 jul 2005, 15:48
door Luuk
Bijna goed, als je nu in portal.php tussen

Code: Selecteer alles

$template->assign_vars(array(
en

Code: Selecteer alles

'SHOUTS' => $shouts,
'PICS' => $pics,
'COMMENTS' => $comments,
zet (en natuurlijk dat vorige stuk moet ook in portal.php staan), kan je {SHOUTS} etc gebruiken in het .tpl bestand.

Geplaatst: 03 jul 2005, 16:00
door funnyman
hmm... ik krijg een foutmelding "(

Code: Selecteer alles

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/the-partycrew.com/area51/portal.php on line 454
dit staat er in portal.php in regel 454:

Code: Selecteer alles

    $shouts = $row['shouts'];
ik heb em zo geplaatst...

Code: Selecteer alles

//
// END Random or Recent Photo
//

// BEGIN Table count voor portal
$sql = "SELECT COUNT(s.shout_id) AS shouts, COUNT(a.pic_id) AS pics, COUNT(c.comment_id) AS comments
    FROM " . SHOUTBOX_TABLE . " s, " . ALBUM_TABLE . " a, " . ALBUM_COMMENT_TABLE . " c;
if( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not count', '', __LINE__, __FILE__, $sql);
}

if( $row = $db->sql_fetchrow($result) )
{
    $shouts = $row['shouts'];
    $pics = $row['pics'];
    $comments = $row['comments'];
}
$db->sql_freeresult($result);
//END Table count voor portal

$template->assign_vars(array(
	'SHOUTS' => $shouts,
	'PICS' => $pics,
	'COMMENTS' => $comments,
	'WELCOME_TEXT' => $CFG['welcome_text'],

Geplaatst: 03 jul 2005, 16:06
door Luuk
Hmm vreemd. Ik zie niets verkeerds. Probeer dan eens zo:

Code: Selecteer alles

$count = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$shouts = $count['shouts'];
$pics = $count['pics'];
$comments = $count['comments'];

Geplaatst: 03 jul 2005, 16:16
door funnyman
vaagg, nog steeds de zelfde foutmelding, heb de script ook al een paar keer verplaatst maar helpt ook nie..

Geplaatst: 03 jul 2005, 16:18
door Luuk
Ik zie het al, " vergeten :oops:

Code: Selecteer alles

$sql = "SELECT COUNT(s.shout_id) AS shouts, COUNT(a.pic_id) AS pics, COUNT(c.comment_id) AS comments
    FROM " . SHOUTBOX_TABLE . " s, " . ALBUM_TABLE . " a, " . ALBUM_COMMENT_TABLE . " c;
moet zijn

Code: Selecteer alles

$sql = "SELECT COUNT(s.shout_id) AS shouts, COUNT(a.pic_id) AS pics, COUNT(c.comment_id) AS comments
    FROM " . SHOUTBOX_TABLE . " s, " . ALBUM_TABLE . " a, " . ALBUM_COMMENT_TABLE . " c";

Geplaatst: 03 jul 2005, 16:41
door funnyman
aha :)

maar dit klopt ook nie geloof ik...

Code: Selecteer alles

47085192 Shouts | 47085192 Partypics | 47085192 Reacties 

Geplaatst: 03 jul 2005, 19:08
door Luuk
Ik hoopte dat dat wel ging, maar schijnbaar vermenigvuldigd hij alle getallen met elkaar.
Dan worden het 3 losse querries:

Code: Selecteer alles

$sql = "SELECT COUNT(shout_id) AS total
    FROM " . SHOUTBOX_TABLE;
if( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not count shouts', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$shouts = $row['total'];

$sql = "SELECT COUNT(pic_id) AS total
    FROM " . ALBUM_TABLE;
if( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not count pics', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$pics = $row['total'];

$sql = "SELECT COUNT(comment_id) AS total
    FROM " . ALBUM_COMMENT_TABLE;
if( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not count comments', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$comments = $row['total'];

Geplaatst: 03 jul 2005, 19:15
door funnyman
heel super bedankt! :thumb:

zou je miss van deze mod ook zon script kunnen maken, dan is dat ook klaar :D

## Mod Title: profile guestbook mod
## Mod Version: 0.91 beta

Code: Selecteer alles

CREATE TABLE phpbb_profile_gb (
  comments_id int(10) NOT NULL auto_increment,
  user_id int(10) NOT NULL default '0',
  comments_text text NOT NULL,
  comments_title text NOT NULL,
  comments_time int(50) NOT NULL default '0',
  comment_bbcode_uid varchar(10) default NULL,
  poster_id mediumint(8) NOT NULL default '0',
  PRIMARY KEY  (comments_id),
  KEY comments_id (comments_id),
  FULLTEXT KEY comment_bbcode_uid (comment_bbcode_uid)
) TYPE=MyISAM;
alvast bedankt!

Geplaatst: 03 jul 2005, 20:55
door mattle
dit is mijn eerste keer, dus ik zou hem nog niet plaatsen.
mischien kan luuk hem controleren:

Code: Selecteer alles

$sql = "SELECT COUNT(comments_id) AS total 
    FROM " . PROFILE_GB_TABLE; 
if( !($result = $db->sql_query($sql)) ) 
{ 
    message_die(GENERAL_ERROR, 'Could not count gb posts', '', __LINE__, __FILE__, $sql); 
} 
$row = $db->sql_fetchrow($result); 
$db->sql_freeresult($result); 

$guestbook = $row['total'];

bij

Code: Selecteer alles

$count = $db->sql_fetchrow($result); 
$db->sql_freeresult($result); 

$shouts = $count['shouts']; 
$pics = $count['pics']; 
$comments = $count['comments']; 
achter toevoegen

Code: Selecteer alles

$guestbook = $count['guestbook']; 

klopt ie zo luuk of moderator's (enz.)

Geplaatst: 03 jul 2005, 21:44
door funnyman
:thumb: het werkt :D

Geplaatst: 03 jul 2005, 21:44
door Luuk
Zover ik kan zien is het wel goed, je moet alleen even controleren of PROFILE_GB_TABLE ook goed is (staat in includes/constants.php als het goed is). Alleen het laatste hoeft niet, alleen de eerste querrie. En dan nog 'GUESTBOOK' => $guestbook, natuurlijk bij die anderen :wink:

Geplaatst: 04 jul 2005, 06:28
door mattle
joepie!
mijn eerst zelf geschreven kleine verandering!

Geplaatst: 04 jul 2005, 08:20
door funnyman
8) :bier:

Geplaatst: 04 jul 2005, 11:54
door funnyman
ik wou ook het aantal highscores toevoegen, lukt alleen niet :(

ik heb gekeken in /includes/constants.php...

Code: Selecteer alles

define('iNA_AT_SCORES', $table_prefix.'ina_at_scores');
en krijg vervolgens een foutmelding:

Code: Selecteer alles

$sql = "SELECT COUNT(game_name) AS total
    FROM " . iNA_AT_SCORES_TABLE;
if( !($result = $db->sql_query($sql)) )
{
    message_die(GENERAL_ERROR, 'Could not count highscores', '', __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

$highscores = $row['total'];
foutmelding:

Code: Selecteer alles

Could not count highscores

DEBUG MODE

SQL Error : 1146 Table '346area.iNA_AT_SCORES_TABLE' doesn't exist

SELECT COUNT(game_name) AS total FROM iNA_AT_SCORES_TABLE

Line : 551
File : portal.php

Geplaatst: 04 jul 2005, 12:06
door Luuk
Dat _TABLE hoort er niet bij, staat ook niet bij define ;)