Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Asociar con base de datosTema Solucionado

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x

0
No hay votos
 
Votos totales: 0

Daniel Muñoz
Usuario/a
Mensajes: 58
Registrado: 05 Ene 2013, 06:27
Edad: 31

Re: Asociar con base de datos

#16

Mensaje 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.

Código: Seleccionar todo

<?php print $player["nick"]?>
Para el steam id este

Código: Seleccionar todo

<?php print $player["idsteam"]?>

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

Código: Seleccionar todo

authid
Y el nombre del campo personalizado es authid

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: Asociar con base de datos

#17

Mensaje por Alorse »

Y el nombre exacto del campo personalizado?
Mejor deja todo el archivo stats.php en un adjunto.

Daniel Muñoz
Usuario/a
Mensajes: 58
Registrado: 05 Ene 2013, 06:27
Edad: 31

Re: Asociar con base de datos

#18

Mensaje por Daniel Muñoz »

Okay aca te dejo el archivo .
Adjuntos
edit.txt
Archivo PHP stats edit.
(5.6 KiB) Descargado 83 veces

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: Asociar con base de datos

#19

Mensaje 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:

Código: Seleccionar todo

<?php $i=0;foreach($players as $player){$i++;?>
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.

Daniel Muñoz
Usuario/a
Mensajes: 58
Registrado: 05 Ene 2013, 06:27
Edad: 31

Re: Asociar con base de datos

#20

Mensaje 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.

Código: Seleccionar todo

            $result = $db->sql_query_limit($sql, 1);

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: Asociar con base de datos

#21

Mensaje por Alorse »

mmm intenta esto, después de:

Código: Seleccionar todo

steam_id = $player["idsteam"];
Agrega:

Código: Seleccionar todo

global $db;
Así seguro lo solucione.

Daniel Muñoz
Usuario/a
Mensajes: 58
Registrado: 05 Ene 2013, 06:27
Edad: 31

Re: Asociar con base de datos

#22

Mensaje por Daniel Muñoz »

Luego de agregar eso que indicas da mas errores.

Código: Seleccionar todo

global $db;
Imagen
Imagen

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: Asociar con base de datos

#23

Mensaje por Alorse »

Las imágenes no cargan.

Daniel Muñoz
Usuario/a
Mensajes: 58
Registrado: 05 Ene 2013, 06:27
Edad: 31

Re: Asociar con base de datos

#24

Mensaje por Daniel Muñoz »

Hay te dejo las mismas imagenes adjuntas.
Adjuntos
vddTC60.png
vddTC60.png (24.08 KiB) Visto 3149 veces
HciNh6H.png
HciNh6H.png (32.2 KiB) Visto 3149 veces

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: Asociar con base de datos  Tema Solucionado

#25

Mensaje 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'];
        ?>

Daniel Muñoz
Usuario/a
Mensajes: 58
Registrado: 05 Ene 2013, 06:27
Edad: 31

Re: Asociar con base de datos

#26

Mensaje por Daniel Muñoz »

Ya se soluciono el problema. Pero cuando trato de ver los perfiles. Me lleva a esta dirección

Código: Seleccionar todo

/memberlist.php?mode=viewprofile&u=$phpbb_user_id
Y el usuario no existe.

/ Ya limpie el cache
/ Estoy probando con mi cuenta que tiene todos los datos completos. y da ese error

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: Asociar con base de datos

#27

Mensaje 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>

Daniel Muñoz
Usuario/a
Mensajes: 58
Registrado: 05 Ene 2013, 06:27
Edad: 31

Re: Asociar con base de datos

#28

Mensaje 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.

Avatar de Usuario
Alorse
Ex Staff
Mensajes: 5144
Registrado: 22 Mar 2008, 02:14
Género:
Edad: 36

Re: Asociar con base de datos

#29

Mensaje 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.

Daniel Muñoz
Usuario/a
Mensajes: 58
Registrado: 05 Ene 2013, 06:27
Edad: 31

Re: Asociar con base de datos

#30

Mensaje por Daniel Muñoz »

Y como hago dicha validación?

Cerrado

Volver a “Foros de Soporte 3.0.x”