nieuws 1x?
Geplaatst: 28 nov 2004, 10:03
scroll naar beneden
Je hebt de verkeerde vars gebruik. Dit script zal niet goed werken omdat er veel meer sessies zijn dat echte bezoekers. Het gebeurt heel vaak dat een ip meerdere sessies heeft. Het is eerder regel dan uitzondering.//gastenonline
$gasten = mysql_query("SELECT * FROM phpbb_sessions WHERE session_user_id = '-1'");
$gastenonline = mysql_num_rows($online);
Kan ook al direct in SQL, mbv COUNT en GROUP BY.WebSiteNet schreef:Doe een ip check. Maak een array, en zet er elk ip in dat je tegenkomt. Als het ip er al staat ga je door. En aan het eind tel je ip's!
Code: Selecteer alles
<?php
include_once("config.php");
//gasten online
$gastensql = mysql_query("SELECT * FROM phpbb_sessions WHERE session_user_id = '-1'");
$gastenarray = array();
$i = 0;
while($row = mysql_fetch_array($gastensql)) {
if(!in_array($row['session_ip'], $gastenarray)) {
$gastenarray[$i] = $row['session_ip'];
$i++;
}
}
$gastenonline = count($gastenarray);
//leden online
$ledensql = mysql_query("SELECT * FROM phpbb_sessions WHERE session_user_id != '-1'");
$ledenarray = array();
$i = 0;
while($row = mysql_fetch_array($ledensql)) {
if(!in_array($row['session_ip'], $ledenarray)) {
$ledenarray[$i] = $row['session_ip'];
$i++;
}
}
$ledenonline = count($ledenarray);
//totaal online
$totaalsql = mysql_query("SELECT * FROM phpbb_sessions");
$totaalarray = array();
$i = 0;
while($row = mysql_fetch_array($totaalsql)) {
if(!in_array($row['session_ip'], $totaalarray)) {
$totaalarray[$i] = $row['session_ip'];
$i++;
}
}
$totaalonline = count($totaalarray);
?>
<table class='tablenobrdr' cellspacing='0' width='95%' background='/images/hyrulec_menu_right.gif'>
<tr background="/images/hyrulec_menu_left.gif">
<td background="/nieuws/themes/<? echo $config['theme']; ?>/images/background-green.png"><font class="captiontext">Online</font></td></tr>
<tr>
<td>
<?
echo "Er zijn in totaal ".$totaalonline." bezoekers online. Waarvan ".$gastenonline." gasten en ".$ledenonline." leden.<br><a href='".$phpbb_root_path."viewonline.php'>Meer informatie";
?>
</td></tr></table>
...?Lucky Luke schreef:hele andere info...
Code: Selecteer alles
$page_title = "Nieuws";
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
//Set up news
Lijn 28 -> $sql = mysql_query("SELECT * FROM nieuws WHERE actief='actief' ORDER BY id DESC LIMIT 5") or die(mysql_error());
while($list = mysql_fetch_object($sql)) {
$sql = mysql_query("SELECT * FROM nieuwsreacties WHERE nid=".$list['id']);
lijn 30 -> $aantal_reacties = mysql_num_rows($sql);
$template->assign_block_vars('news', array(
'NEWS_TITLE' => $list['titel'],
'NEWS_AUTHOR' => $list['auteur'],
'NEWS' => $list['nieuwsbericht'],
'COMMENTSLINK' => "<a href='../nieuws/leesnieuws.php?nid=".$list['id'].">Reacties(".$aantalreacties.")</a>",
'PRINT_IMG' => "<a href='../nieuws/print.php?id=".$list['id']."><img src='../nieuws/images/printer.gif' alt=''></a>",
'EMAIL_IMG' => "<a href='../nieuws/mail.php?id=".$list['id']."><img src='../nieuws/images/printer.gif' alt=''></a>",
'NEWS' => $list['datum']
));
}
Code: Selecteer alles
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /usr/local/psa/home/vhosts/rctlucky.nl/subdomains/hyrulecastle/httpdocs/nieuws/news_test.php on line 30
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /usr/local/psa/home/vhosts/rctlucky.nl/subdomains/hyrulecastle/httpdocs/nieuws/news_test.php on line 28
Daar gebruik je de functies make_bbcode_uid(), bbencode_first_pass() en bbencode_second_pass() uit includes/bbcode.php voor. Bekijk bijvoorbeeld privmsg.php eens om te zien hoe je ze gebruikt, zowel bij het opslaan als weergeven. Je hebt er ook een nieuw varchar(10) database veld voor nodig.Lucky Luke schreef:Hoe kan je de bbcode functie van phpbb gebruiken in mijn nieuws systeem?
Nogal lastig te zeggen, dit kan met je query of database inhoud te maken hebben.Lucky Luke schreef:en er wordt maar 1 nieuws bericht weergeven terwijl ik LIMIT 5 heb gedaan..
hoe komt dat?