Página 2 de 3
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 00:23
por Daniel Muñoz
Con este hago el llamado a la base de datos
Código: Seleccionar todo
<?php
$bd = mysql_connect('localhost', 'root', 'daniel');
if (!$bd) {
die('No pudo conectarse: ' .mysql_error());
}
$dbs = mysql_select_db('stats_full', $bd);
if (!$dbs) {
die(' No pudo conectarse: ' .mysql_error());
}
$sql = "SELECT * FROM stats_full ORDER BY p_kill DESC LIMIT 30";
$cdb = mysql_query($sql);
if (!$cdb){
die('No se realizo consulta: ' .mysql_error());
}
while($base=mysql_fetch_array($cdb, MYSQL_ASSOC)){
$players[]=$base;
}
?>
El código con que muestro el nick de los usuarios es este.
Para el steam id este
El nombre de la tabla donde se almacena los STEAM id es (en la misma base de dato donde se guardan los NICK y los demas datos
Y el nombre del campo personalizado es
authid
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 00:36
por Alorse
Y el nombre exacto del campo personalizado?
Mejor deja todo el archivo stats.php en un adjunto.
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 01:12
por Daniel Muñoz
Okay aca te dejo el archivo .
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 02:14
por Alorse
mmm pero... en ese archivo no aparecen
$player["idsteam"]
ni
$player["nick"]
por ningún lado, me mandaste el que no era?
En fin... cambia esto:
Por esto:
Código: Seleccionar todo
<?php $i = 0;
foreach ($players as $player) {
$i++;
$nombre_campo = "authid";
$steam_id = $player["idsteam"];
$sql = "SELECT user_id
FROM " . PROFILE_FIELDS_DATA_TABLE . "
WHERE pf_" . $nombre_campo . " = " . $steam_id;
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$user_id_phpbb = $row['user_id'];
?>
Y luego para crear el link:
Código: Seleccionar todo
<td align="left" valign="top" id="margen"><a href="/memberlist.php?mode=viewprofile&u=$user_id_phpbb"><?php print $player["nick"]?></a></td>
Supongo que llamas ese archivo con un include, así que no deberia ser problema para que cargue la base de datos de phpBB.
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 04:29
por Daniel Muñoz
Okay listo, al realizar este cambio me arroja el siguiente error.
Código: Seleccionar todo
Fatal error: Call to a member function sql_query_limit() on a non-object in /home/111/public_html/stats.php on line 74
La linea 74 es la siguiente.
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 06:39
por Alorse
mmm intenta esto, después de:
Agrega:
Así seguro lo solucione.
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 07:45
por Daniel Muñoz
Luego de agregar eso que indicas da mas errores.

Re: Asociar con base de datos
Publicado: 23 Ene 2013, 16:25
por Alorse
Las imágenes no cargan.
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 20:04
por Daniel Muñoz
Hay te dejo las mismas imagenes adjuntas.
Re: Asociar con base de datos Tema Solucionado
Publicado: 23 Ene 2013, 20:09
por Alorse
Hay un error en la consulta, el steam_id debe estar entre comillas.
Código: Seleccionar todo
<?php $i = 0;
foreach ($players as $player) {
$i++;
$nombre_campo = "authid";
$steam_id = $player["idsteam"];
$sql = "SELECT user_id
FROM " . PROFILE_FIELDS_DATA_TABLE . "
WHERE pf_" . $nombre_campo . " = '$steam_id'";
$result = $db->sql_query_limit($sql, 1);
$row = $db->sql_fetchrow($result);
$db->sql_freeresult($result);
$user_id_phpbb = $row['user_id'];
?>
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 20:41
por Daniel Muñoz
Ya se soluciono el problema. Pero cuando trato de ver los perfiles. Me lleva a esta dirección
Y el usuario no existe.
/ Ya limpie el cache
/ Estoy probando con mi cuenta que tiene todos los datos completos. y da ese error
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 21:07
por Alorse
Bueno, pues... porque una vez más tienes algo mal, o solo te indico como son las cosas pero tu debes acomodarlas a tu código, no puedes usar variables php en html, debes concatenar, el enlace debe ser así:
Código: Seleccionar todo
<td align="left" valign="top" id="margen"><a href="/memberlist.php?mode=viewprofile&u=<?php print $user_id_phpbb; ?>"><?php print $player["nick"]?></a></td>
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 21:11
por Daniel Muñoz
Ya tema resuelto, no te molestes amigo.
Prueba y error, así se aprende. Muchas gracias por tu tiempo y dedicación.
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 21:19
por Alorse
Con gusto, recuerda hacer una validación, si el steam_id existe, que muestre el enlace, sino, que solo muestre el nombre de usuario, así te evitas inconvenientes.
Re: Asociar con base de datos
Publicado: 23 Ene 2013, 21:34
por Daniel Muñoz
Y como hago dicha validación?