Archief - Lijst opvragen van alle members

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

scampi_ml

Legacy Member
Yo

kzou graag een lijstje willen vragen van de MySQL db
maar ik kom er niet echt aan uit
Voorbeeld:
EZ Company :: a Battlefield 2 Clan

Links onder waar een lijstje is van alle members

Tabel: vwar0_member

Code:
-- Tabel structuur voor tabel `vwar0_member`
 
CREATE TABLE IF NOT EXISTS `vwar0_member` (
  `name` varchar(100) NOT NULL default '',
dit is het lijntje wat ik wil opvragen
Mysql - php info gezocht maar ik heb echt geen benul waar alles moet komen

PHP: mysql_query - Manual


Thx in advance

Curahee Q

Legacy Member
In een tabel hoort altijd een unieke id. Dus die tabel aanmaken wordt zo gedaan:

CREATE TABLE vwar0_member (
memId INT not null AUTO_INCREMENT,
memName varChar(100) NOT NULL default '',
PRIMARY KEY(memId)
);

Bij het invoegen van nieuwe leden hoef je je niets aan te trekken van het id want deze zal automatisch verhogen (auto_increment).
-----------------------------------------------------------
Ik neem aan dat je al verbinding kan maken met de database.

<?php
// maak verbinding

$query = mysql_query("SELECT memName FROM vwar0_member ORDER BY memName ASC") or die(mysql_error());

while($data = mysql_fetch_assoc($query)) {
echo '<span id="member">' . $data['memName'] . '</span>';
}
?>

De members zullen allemaal verschijnen op alfabetische volgorde (ORDER BY memName ASC, DESC zou andersom zijn).
In de echo kan je zoveel html gebruiken als je zelf wilt, heb er nu een span rond gezet, kan evengoed wat anders zijn of zelfs niks. Een <br /> zal er wel achter moeten (als je het niet met css doet), anders zullen alle namen achter elkaar verschijnen zonder linebreak.

Hopelijk lukt het je.

scampi_ml

Legacy Member
mss had ik moeten zeggen dat het van een DB komt bij de provider

Code:
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13) in /mounted-storage/home50b/sub003/sc34159-SURY/scampiml.com/getusers.php on line 4

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /mounted-storage/home50b/sub003/sc34159-SURY/scampiml.com/getusers.php on line 4
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)

maar hoe kom jij dan aan "memName" ?

Code:
CREATE TABLE IF NOT EXISTS `vwar0_member` (
  `memberid` int(11) NOT NULL auto_increment,
  `accessgroupid` smallint(5) unsigned NOT NULL default '0',
  `name` varchar(100) NOT NULL default '',
  `realname` varchar(255) NOT NULL default '',
  PRIMARY KEY  (`memberid`),
  KEY `name_2` (`name`),
  KEY `name_3` (`name`),
  FULLTEXT KEY `name` (`name`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--
-- Gegevens worden uitgevoerd voor tabel `vwar0_member`
--

INSERT INTO `vwar0_member` (`memberid`, `accessgroupid`, `name`, `realname`) VALUES
(1, 1, 'scampi_ml', '', '0000-00-00', '', '', '', '', '', '', '', '', 'xxxxxxxxxxxxxxxxxxxxxxxxxx', 0, 'Administrator', 1, 'english', '', 1, 0, '', 1232299860);

ik dacht aan

Code:
<?php
// maak verbinding

$server         	= "mysql.servage.net"; 		// Hostname of the MySQL-Database                 
$db_user        	= "XXXXXXXX"; 					// MySQL Username                                        
$db_pass        	= "XXXXXXXX";					// MySQL Password                                        
$database       	= "XXXXXXXX"; 					// MySQL Database Name

$query = mysql_query("SELECT name FROM vwar0_member ORDER BY name ASC") or die(mysql_error());

while($data = mysql_fetch_assoc($query)) {
echo '<span id="member">' . $data['name'] . '</span>';
}
?>
ben ik nu zo verkeerd ?

Dit is een ander script die de online users ophaald
Code:
<?php
/* #####################################################################################
 *
 * $Id: online.php,v 1.26 2004/02/24 21:07:24 rob Exp $
 *
 * This notice must remain untouched at all times.
 *
 * Modifications to the script, except the official addons or hacks,
 * without the owners permission are prohibited.
 * All rights reserved to their proper authors.
 *
 * ---------------------------------------------
 * http://www.vwar.de || Copyright (C) 2001-2004
 * ---------------------------------------------
 *
 * #####################################################################################
 */

// ####################################### CONFIGURATION  ###############################

// path to your main vwar-directory (with final ' / ')
// -> from the site, where this extra is included!
// -> use absolute path if you have it included in files with different directories!
//          (e.g. /home/www/htdocs/mysite.com/vwar/)
// -> if included in your _header.php/_footer.php, it is normally: './'
// -> if not, use: './../'
$vwar_xroot  = "./../";

// define how long a member will be shown after his last activity (in minutes)
$onlinetime = 10;

// include header- & footer-information (1=enabled / 0=disabled)
$include    = 0;

// ######################################################################################


// ################################### display members  ################################

// check, if we need to get some global vars or if we need to include them
if( !defined ("VWAR_COMMON_INCLUDED") )
{
	$vwar_root = $vwar_xroot;
	require_once ( $vwar_root . "includes/functions_common.php" );
}

if ( $include == 1 )
{
	include_once ( $vwar_root . "_header.php" );
}

if(!defined("VWAR_LAST_ACTIVITY") && $whoisonline == 1 && !empty($GPC['vwarid']))
{
	define("VWAR_LAST_ACTIVITY", 1);
	$vwardb->query("UPDATE vwar".$n."_member SET lastactivity = '".time()."' WHERE memberid = '".$GPC['vwarid']."'");
}
?>
<table border="0" cellpadding="0" cellspacing="0" align="center">
	<tr>
		<td align="center" colspan="2"><b>Activities in the last <?php echo $onlinetime; ?> minutes</b></td>
	</tr>
<?php
$query = $vwardb->query("
	SELECT memberid, name, lastactivity
	FROM vwar".$n."_member WHERE lastactivity > ".(time() - $onlinetime * 60)."
");
if ($vwardb->num_rows($query) == 0)
{
?>
	<tr>
		<td align="center" width="100%">Nobody online right now</td>
	</tr>
<?php
}
else
{
	while ($row = $vwardb->fetch_array($query))
	{
		dbSelect ($row);
	?>
	<tr>
		<td align="left" width="70%">&raquo; <a href="<?php echo $urltovwar; ?>member.php?action=profile&amp;memberid=<?php echo $row['memberid']; ?>"><?php echo $row['name']; ?></a></td>
		<td align="right" width="30%"><?php echo date("H:i",$row['lastactivity']); ?></td>
	</tr>
	<?php
	}
}
$vwardb->free_result($query);
?>
</table>
<?php
if ( $include == 1 )
{
	include_once ( $vwar_root . "_footer.php" );
}
?>

mss dat die code aan te passen valt
ik heb al meerder keren geprobeerd maar niks werkt

scampi_ml

Legacy Member
Dit script kan wel de aantal members tellen
maar niet echt de namen opvragen

Code:
<?                                                                                                            

$server         	= "mysql.servage.net";  		// Your MySQL Server (usually "localhost")                 
$db_user        	= "XXXXXXX"; 						// Your MySQL Username                                        
$db_pass        	= "XXXXXXX";						// Your MySQL Password                                        
$database       	= "XXXXXXX";						// Database Name
                                                                                                          
 
mysql_connect($server, $db_user, $db_pass) or die ("Database CONNECT Error");                                                                   
$result=mysql_db_query($database, "SELECT name FROM vwar0_member WHERE 1 ") or die("Useronline Database SELECT Error");
$user  =mysql_num_rows($result);                                                                              
mysql_close();                                                                                                
if ($user==1) {echo"<font size=2>$user</font>";} else {echo"<font size=1>$user";}
?>

legerguy

Legacy Member
Code:
<?             
// Connecten met de database                                                                                               
$server = "mysql.servage.net"; // Your MySQL Server (usually "localhost")                 
$db_user = "XXXXXXX"; // Your MySQL Username                                        
$db_pass = "XXXXXXX"; // Your MySQL Password                                        
$database = "XXXXXXX"; // Database Name
$db = mysql_connect($server, $db_user, $db_pass) or die ("Database CONNECT Error");                                                                   
mysql_select_db("$database", $db);

// Hier halen we alles op uit de database
$result = mysql_query("SELECT name FROM vwar0_member ORDER BY name ASC") or die("Useronline Database SELECT Error");
$rows = mysql_num_rows($result);    
                                                                            
// Alle opgehaalde gegevens weergeven                                           
if ($rows != 0) {

    while($user = mysql_fetch_object($result)) {
          print("<font size=2>".$user->name."</font><br />"); // Toon alle gebruikers onder elkaar
    }

} else {

      print("Er zijn geen leden gevonden"); // Geef een fout weer

}

// MySQL connectie afsluiten
mysql_close(); 
?>

Probeer dit eens.

scampi_ml

Legacy Member
Code:
Warning: mysql_query() [function.mysql-query]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13) in /mounted-storage/home50b/sub003/sc34159-SURY/scampiml.com/getusers.php on line 9

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /mounted-storage/home50b/sub003/sc34159-SURY/scampiml.com/getusers.php on line 9
Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (13)
srr das mijn fout maar het werkt perfect, alé op deze nog hé

Thx !!!!

legerguy

Legacy Member
Njah, das uw connectie dat niet goed staat :) En voor de rest geen probleem :)

legerguy

Legacy Member
Als je het script gebruikt dat ik heb gezet, zal dit wel werken. Met het script dat jij hier zette, ging alleen de eerst gevonden persoon weergegeven worden, dat is die while() functie voor.

Als je het script gebruikt dat ik heb, dan is er maar 1 user in uw database.

scampi_ml

Legacy Member
lol das waar, ik zweer dat ik die van u gepakt hebt
mja goed, kan verwarring geweest zijn

http://www.blackhawkdown.be/vwar/extra/getusers.php

het werkt, en ik snap het al 80% ervan :p

THX THX THX !
ben gewoon naar het verkeerde aan het zoeken geweest
het was "mysql_fetch_object" in plaats van "mysql_get"

thx again !
nu eens lijken of ik ze allemaal een link kan geven naar het profiel

************************************************************

Code:
		<td align="left" width="70%">&raquo; <a href="member.php?action=profile&amp;memberid=<?php echo $row['memberid']; ?>"><?php echo $row['name']; ?></a></td>
		<td align="right" width="30%"><?php echo date("H:i",$row['lastactivity']); ?></td>

dus ik zou het ID van de member moeten hebben en die in de URL zetten + URLS aan de users geven

Curahee Q

Legacy Member
mysql_fetch_assoc() is sneller, kan je beter deze gebruiken.

Ik zie dat je de datum van de query omzet met behulp van php-code. De gouden regel is, wat je met mysql kan doe je niet met php.

query: SELECT id, member, DATE_FORMAT("%H:%i", lastactivity) AS lastactivity FROM Tabel

Dan zal de query dus je datum automatisch omzetten mits lastactivity een DATE of een DATETIME field is.

MySQL :: MySQL 5.1 Reference Manual :: 11.6 Date and Time Functions

Cycloon zei:
In een tabel hoort niet altijd een unieke id.
En wanneer dan niet?

legerguy

Legacy Member
Code:
<?             
// Connecten met de database                                                                                               
$server = "mysql.servage.net"; // Your MySQL Server (usually "localhost")                 
$db_user = "XXXXXXX"; // Your MySQL Username                                        
$db_pass = "XXXXXXX"; // Your MySQL Password                                        
$database = "XXXXXXX"; // Database Name
$db = mysql_connect($server, $db_user, $db_pass) or die ("Database CONNECT Error");                                                                   
mysql_select_db("$database", $db);

// Hier halen we alles op uit de database
$result = mysql_query("SELECT memberid, name, DATE_FORMAT("%H:%i", lastactivity) AS lastactivity FROM vwar0_member ORDER BY name ASC") or die("Useronline Database SELECT Error");
$rows = mysql_num_rows($result);    
                                                                            
// Alle opgehaalde gegevens weergeven                                           
if ($rows != 0) {

    while($user = mysql_fetch_assoc($result)) {

          print("<td align=\"left\"><a href=\"member.php?action=profile&amp;memberid=".$user['memberid']."\"><font size=2>".$user['name']."</font></a></td>
                 <td align=\"right\">".$user['lastactivity']."</td>"); // Toon alle gebruikers onder elkaar
    }

} else {

      print("Er zijn geen leden gevonden"); // Geef een fout weer

}

// MySQL connectie afsluiten
mysql_close(); 
?>

Normaal zou dit moeten helpen. Heb bovenstaande tips erook ingewerkt ;)

scampi_ml

Legacy Member
Parse error: syntax error, unexpected T_ELSE in /home/Blackhaw/domains/blackhawkdown.be/public_html/vwar/extra/getusers.php on line 27

legerguy

Legacy Member
Code:
<table>
<?             
// Connecten met de database                                                                                               
$server = "mysql.servage.net"; // Your MySQL Server (usually "localhost")                 
$db_user = "XXXXXXX"; // Your MySQL Username                                        
$db_pass = "XXXXXXX"; // Your MySQL Password                                        
$database = "XXXXXXX"; // Database Name
$db = mysql_connect($server, $db_user, $db_pass) or die ("Database CONNECT Error");                                                                   
mysql_select_db("$database", $db);

// Hier halen we alles op uit de database
$result = mysql_query("SELECT memberid, name, DATE_FORMAT("%H:%i", lastactivity) AS lastactivity FROM vwar0_member ORDER BY name ASC") or die("Useronline Database SELECT Error");
$rows = mysql_num_rows($result);    
                                                                            
// Alle opgehaalde gegevens weergeven                                           
if ($rows != 0) {

    while($user = mysql_fetch_assoc($result)) {

          print("<tr>
                   <td align=\"left\"><a href=\"member.php?action=profile&memberid=".$user['memberid']."\"><font size=2>".$user['name']."</font></a></td>
                   <td align=\"right\">".$user['lastactivity']."</td>
                 </tr>"); // Toon alle gebruikers onder elkaaronder elkaar
    }

} else {

      print("Er zijn geen leden gevonden"); // Geef een fout weer

}

// MySQL connectie afsluiten
mysql_close(); 
?>
</table>

scampi_ml

Legacy Member
lastactivity moet er ni bij ze :)

Parse error: syntax error, unexpected ':' in /home/Blackhaw/domains/blackhawkdown.be/public_html/vwar/extra/getusers.php on line 13

legerguy

Legacy Member
Dus dat moet er niet bij, zolang de naam maar wordt getoond?
Code:
<table>
<?             
// Connecten met de database                                                                                               
$server = "mysql.servage.net"; // Your MySQL Server (usually "localhost")                 
$db_user = "XXXXXXX"; // Your MySQL Username                                        
$db_pass = "XXXXXXX"; // Your MySQL Password                                        
$database = "XXXXXXX"; // Database Name
$db = mysql_connect($server, $db_user, $db_pass) or die ("Database CONNECT Error");                                                                   
mysql_select_db("$database", $db);

// Hier halen we alles op uit de database
$result = mysql_query("SELECT memberid, name FROM vwar0_member ORDER BY name ASC") or die("Useronline Database SELECT Error");
$rows = mysql_num_rows($result);    
                                                                            
// Alle opgehaalde gegevens weergeven                                           
if ($rows != 0) {

    while($user = mysql_fetch_assoc($result)) {

          print("<tr>
                   <td align=\"left\"><a href=\"member.php?action=profile&memberid=".$user['memberid']."\"><font size=2>".$user['name']."</font></a></td>
                 </tr>"); // Toon alle gebruikers onder elkaaronder elkaar
    }

} else {

      print("Er zijn geen leden gevonden"); // Geef een fout weer

}

// MySQL connectie afsluiten
mysql_close(); 
?>
</table>
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan