Seite 2 von 2

Verfasst: 25.12.2006 23:01
von S2B
Anton222 hat geschrieben:wie meinst du Verbindung zur Datenbank aufbauen?
Und noch einen Link dazu: [php:mysql].

Verfasst: 26.12.2006 16:47
von Anton222
ah so:)
ok erstmal danke..
für die verbindung...reicht da nicht wenn ich die config php im gleichen ordner habe und include ('config.php');
mach?

also bei mir kommt jetzt noch eine fehlermeldung!?
habe mir mal den code angeschaut..
seh ich das richtig das dieser nur die angemeldeten user anzeigt?
ich hätte halt gern alle nutzer..
ganz simple im prinzip:) ich weiß nur nicht genau wie ichs meiner datenbank sag das sie das ausspuckt:)
gäste+user+versteckte user = anzahl der user
ganz einfach als zahl
kein "es sind momentan keine user online" oder sowas..nur die zahl..

verbindung zur datenbank aufbauen habe ich sowohl mit include ('config.php')
als auch so versucht.

<?php

$mysqlhost="host";
$mysqluser="user";
$mysqlpwd="Passwort ";
$mysqldb="db';

war das so ok?

Verfasst: 26.12.2006 18:07
von gn#36
Anton222 hat geschrieben:ah so:)
ok erstmal danke..
für die verbindung...reicht da nicht wenn ich die config php im gleichen ordner habe und include ('config.php');
mach?
Nein, das reicht nicht. In der config.php stehen nur die Anmeldedaten, es wird keine Verbindung aufgebaut.
Anton222 hat geschrieben: <?php

$mysqlhost="host";
$mysqluser="user";
$mysqlpwd="Passwort ";
$mysqldb="db';

war das so ok?
Das reicht daher nicht.

Code: Alles auswählen

mysql_connect($mysqlhost,$mysqluser,$mysqlpwd);
mysql_select_db($mysqldb);
Muss noch dazu(ich hoffe ich habe mich nicht in der Parameterreihenfolge vertan).
Danach steht die Verbindung sofern die Daten korrekt sind.
EDIT: Das muss natürlich hinter den oben stehenden Code...
Dahinter dann das Skript.

Verfasst: 26.12.2006 20:19
von Anton222
danke! jetzt klappts.
aber jetzt weiß ich immer noch nicht wie ich es jetzt mache das er ausgibt wieviele leute grade auf der seite sind(mitglieder+versteckte+gäste).
wenn mir das noch verrätst haben wirs:)

Verfasst: 26.12.2006 20:34
von gn#36

Code: Alles auswählen

$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
		FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
		WHERE u.user_id = s.session_user_id
			AND s.session_time >= ".( time() - 300 ) . "
		ORDER BY u.username ASC, s.session_ip ASC";
$result = mysql_query($sql) or die(mysql_error());
$anzahl_user_online = mysql_num_rows($result);
$u_online = '';
while ($row = mysql_fetch_assoc($result))
{
   $u_online .= ($users_online != '') ? ', ' : '';
   $u_online .= '<a href="pfad_zum_forum/profile.php?mode=viewprofile&u=' . $row['user_id'] . '">' . $row['username'] . '</a>';
} 

//Jetzt steht in $anzahl_user_online die Anzahl
//und in $u_online die Liste mit Links zu den Usern
//Ausgeben:
echo "Online Users: ";
echo $anzahl_user_online;
echo "<br>\nDiese User sind: ";
echo $u_online;
Oder im vorhandenen Skript einfach

Code: Alles auswählen

$anzahl_user_online = mysql_num_rows($result);
echo "Anzahl der User: $anzahl_user_online";

Verfasst: 26.12.2006 21:39
von Anton222
:(
glaub langsam bin zu doof:)
also bei der vorletzten variante zeigts mir an das keiner da ist, obwohl über 20 da waren...
bei der zweiten gibts nur ne fehlermeldung.
!?

so sieht die zweite dann bei mir aus in gänze aus!?


Code: Alles auswählen

<?php

$mysqlhost='xy';
$mysqluser='xy';
$mysqlpwd='xy;
$mysqldb='xy'; 


mysql_connect($mysqlhost,$mysqluser,$mysqlpwd);
mysql_sel
ect_db($mysqldb);

$five_min_ago_ts = time() - (60 * 5);


$sql = "SELECT u.username, u.user_id, 

u.user_allow_viewonline, u.user_level, 

s.session_logged_in, s.session_ip
      FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
      WHERE u.user_id = s.session_user_id
         AND s.session_time >= ".( time() - 300 ) . "
      ORDER BY u.username ASC, s.session_ip ASC";
$result = mysql_query($sql) or die(mysql_error());
$anzahl_user_online = mysql_num_rows($result);
$u_online = '';
while ($row = mysql_fetch_assoc($result))
{
   $u_online .= ($users_online != '') ? ', ' : '';
   $u_online .= '<a 

href="http://www.xy.de/fo/profile.php?mode=viewprofile&a

mp;u=' . $row['user_id'] . '">' . $row['username'] . 

'</a>';
}

//Jetzt steht in $anzahl_user_online die Anzahl
//und in $u_online die Liste mit Links zu den Usern
//Ausgeben:
echo "Online Users: ";
echo $anzahl_user_online;
echo "<br>\nDiese User sind: ";
echo $u_online; 

?>

Verfasst: 26.12.2006 21:50
von gn#36

Code: Alles auswählen

$mysqlpwd='xy;
Da fehlt ein Anführungszeichen am Ende vor dem Semikolon.

Code: Alles auswählen

mysql_sel
ect_db($mysqldb);
Das sollte eine Zeile sein.

Code: Alles auswählen

href="http://www.xy.de/fo/profile.php?mode=viewprofile&a

mp;u='
Das vermutlich besser auch.

Verfasst: 30.12.2006 16:40
von Anton222
geht aber leider immer noch nicht! :(

Tabelle 'DATENBANKNAME.USERS_TABLE' existiert nicht!?

Verfasst: 30.12.2006 16:47
von nickvergessen
du musst da natürlich deinen datenbanknamen einfügen

Verfasst: 30.12.2006 17:37
von Miriam
oder die constants.php includieren. :P