MyBB.de Forum

Normale Version: Mitgliederanzahl extern anzeigen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Kann man die Anzahl der Board-Mitglieder auch extern anzeigen lassen? Also so, dass auf meiner Homepage steht:
Boardmitglieder: 60
Das ganze geht ganz einfach mittels SQL Abfrage Wink
Du brauchst natürlich auf deiner Homepage eine Verbindung zur Datenbank wo auch die Tabelle der User drinnen ist:

PHP-Code:
require("dbconnect.php"); 

dann bindest du den PHP Code in deine Seite ein ...

PHP-Code:
$res=mysql_query("SELECT id FROM mybb_users",$db); // hier ist es wichtig das die tabelle mybb_users so eingegeben ist wie sie bei dir heißt
$mitglieder=mysql_num_rows($res); 

Wichtig ist das du eine MySQL Verbdinung aufbaust, angenehm ist das wenn du das mit einer PHP Datei machst, die man meistens dbconnect.php oder so nennt, der Inhalt sollte in etwa so aussehen:

PHP-Code:
  $dbuser        "";    # Datenbank-USER:
  $dbpass        "";        # Datenbank-PASSWORT
  $dbserver     "";    # Datenbank-SERVER
  $dbname     "";    # Datenbank-NAME

  #######################
  $db=mysql_pconnect($dbserver,$dbuser,$dbpass);
  mysql_select_db($dbname,$db);

extract ($_REQUESTEXTR_OVERWRITE);
$referrer $_COOKIE[referrer]; 

Dann speicherst du diese Datei in das Verzeichnis wo die Datei mit der Abfrage drinnen ist!

Danach solltest du zu deinem gewünschten Ergebnis kommen, in dem du die Variable $mitglieder auf der gewünschten Stelle in deiner Seite einbaust Smile

Das ganze sollte dann so aussehen:
PHP-Code:
<? echo "$mitglieder" ?>
Hmmmm....
So eine Datenbankabfrage habe ich schon in dem Code. Von der Abfrage für die neuesten Themen.

PHP-Code:
<?php
// Daten für Verbindung zur Datenbank
$dbhost "xxx";
$dbuser "xxx";
$dbpassword "xxx";
$dbdatabase "xxx";

// Präfix
$prefix "xxx_mybb_";

// URL zum Forum 
$url "http://www.xxx/xxxBoard";

// Anzahl der Themen
$limit "5";

// Verbindung zur Datenbank aufnehmen
$db mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");  
mysql_select_db
($dbdatabase,$db);


// Überschrift
//echo "<strong>Neueste Themen</strong><br />";

// Liste starten
echo "<ul>";

// Letzte Themen auslesen
$query mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' AND fid NOT IN ('1', '2', '3', '4', '5' ,'6', '7', '8', '9', '10', '11', '12', '13', '14', '15') ORDER BY tid DESC LIMIT 0,".$limit."");



while (
$newest_threads mysql_fetch_array($query)) 
    {
    echo "<ul style='{ margin-top:7px; margin-left:-15px; margin-right:5px; margin-bottom:7px; padding-left:3px; }'><li><a href=\"".$url."/showthread.php?tid=".$newest_threads['tid']."\" target=\"_blank\">".$newest_threads['subject']."</a></li></ul>";
    }

// Liste schließen
echo "</ul>";
?>

Könnte man deine Abfrage da nicht einbauen, so dass ich dann
<? echo "$mitglieder" ?>
nur noch an der passenden Stelle einsetzen muss?
Ich habe es eben selbst versucht, aber die Fehlermeldungen haben jedes Mal den Rahmen meiner Page gesprengt. Embarrassed
Klar doch!
PHP-Code:
<?php
// Daten für Verbindung zur Datenbank
$dbhost "xxx";
$dbuser "xxx";
$dbpassword "xxx";
$dbdatabase "xxx";

// Präfix
$prefix "xxx_mybb_";

// URL zum Forum 
$url "http://www.xxx/xxxBoard";

// Anzahl der Themen
$limit "5";

// Verbindung zur Datenbank aufnehmen
$db mysql_connect($dbhost,$dbuser,$dbpassword) or die ("Verbindung fehlgeschlagen");  
mysql_select_db($dbdatabase,$db);

// Mitglieder abfragen
$res=mysql_query("SELECT id FROM ".$prefix."users",$db); $mitglieder=mysql_num_rows($res);

// Überschrift
//echo "<strong>Neueste Themen</strong><br />";

// Liste starten
echo "<ul>";

// Letzte Themen auslesen
$query mysql_query ("SELECT subject,tid FROM ".$prefix."threads WHERE visible='1' AND fid NOT IN ('1', '2', '3', '4', '5' ,'6', '7', '8', '9', '10', '11', '12', '13', '14', '15') ORDER BY tid DESC LIMIT 0,".$limit."");



while (
$newest_threads mysql_fetch_array($query)) 
    {
    echo 
"<ul style='{ margin-top:7px; margin-left:-15px; margin-right:5px; margin-bottom:7px; padding-left:3px; }'><li><a href="".$url."/showthread.php?tid=".$newest_threads['tid']."" target="_blank">".$newest_threads['subject']."</a></li></ul>";
    }

// Liste schließen
echo "</ul>";
?>

Nun solltest du die Variable mittels
PHP-Code:
<?=mitglieder?>

oder
PHP-Code:
<? echo "$mitglieder" ?>

abrufen können!
Da bekomme ich leider die Fehlermeldung:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /is/xxx/xxx/xxx/left_panel.php on line 237

Und Line 37 ist
$res=mysql_query("SELECT id FROM ".$prefix."users",$db); $mitglieder=mysql_num_rows($res);

Dave

Ersetze die Zeile mal hiermit:
PHP-Code:
$res=mysql_query("SELECT id FROM ".$prefix."users"); $mitglieder=mysql_num_rows($res); 
Achtest du auch auf die Groß/Kleinschreibung?
Ich weiß ne dumme Frage, aber der PHP Code funzt bei mir einwandfrei *kratz*

Stimmt das $db am schluss kannst eigentlich auch weg lassen ...
@Dave
Nein, leider die gleiche Fehlermeldung.

@computexx
Ich kopiere den Text immer hier genau ab und füge ihn dann so ein.
Daher kann ich da auch nix falsch haben.

Wenn's bei dir geht muss es doch bei mir auch gehen... Ich werde mich heute Nachmittag noch mal ganz in Ruhe dran setzen.
Menno sorry ... besser doch einfach das "id" auf "uid" aus Wink Eh klar das er nichts finden kann, heißt ja auch ganz anders. Sorry!
Mit
PHP-Code:
// Mitglieder abfragen
$res=mysql_query("SELECT uid FROM ".$prefix."users",$db); $mitglieder=mysql_num_rows($res); 
klappt es jetzt ganz primaExclamation

Das $db muss aber übrigens dabei bleiben, ohne gibt es eine Fehlermeldung.

Klasse, sieht prima aus jetzt, danke!