elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Como proteger una cartera - billetera de Bitcoin


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  consulta a base My sql
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: consulta a base My sql  (Leído 1,742 veces)
Ambolia

Desconectado Desconectado

Mensajes: 20


Ver Perfil
consulta a base My sql
« en: 3 Noviembre 2013, 19:12 pm »

hola,tengo un php para que consulte nuevos post en phpBB3 y que los ponga en la pagina principal.

------------------------------
Post.php
------------------------------

<?php

$con =mysql_connect("mysql.hostinger.es", "*********", "***********");
mysql_select_db("*************", $con);
// Cantidad de post a mostrar y prefijo de las tablas
$ultimos = 10;
$prefijo = "phpbb_";

// Consultas a la base
$result_mensaje=mysql_query("select * from $prefijo"."posts order by post_id desc limit $ultimos",$con);
while($mostrar_m = mysql_fetch_array($result_mensaje)) {
$post=$mostrar_m["post_id"];
$forum_id=$mostrar_m["forum_id"];
$result_foro=mysql_query("select * from $prefijo"."forums where forum_id like $forum_id",$con);
$mostrar_f=mysql_fetch_array($result_foro);
$forum_name = $mostrar_f["forum_name"];
mysql_free_result($result_foro);
?>
<i><b><?=$forum_name;?></b></i> - </font><font face="verdana" size="1"><a href="http://taxhack.96.lt//Menu/Foro/viewtopic.php?p=<?=$post;?>" target="_blank"><? echo $mostrar_m["post_subject"]; ?></a>


<?
}
// Cerramos conexión
mysql_free_result($result_mensaje);
mysql_close($con);
?>


---------------------------------------------------------
Y quiero poner que debajo me ponga el nombre del usuario que a escrito ese mensaje y no se que poner...

alguien me puede decir....

Se lo agradezco mucho


« Última modificación: 4 Noviembre 2013, 13:18 pm por Ambolia » En línea

Saberuneko


Desconectado Desconectado

Mensajes: 2.182



Ver Perfil WWW
Re: consulta a base My sql
« Respuesta #1 en: 4 Noviembre 2013, 17:29 pm »

¿Podrías mostrarnos las tablas de la base de datos?
(Si tienes acceso a ellas por consola, utiliza el comando "desc").

Código:
desc nombre_tabla

(Donde nombre_tabla sería el nombre de la tabla a mostrar).

Ya que sin la estructura de datos, no podemos saber cuál puede ser el nombre de la columna que contiene el nombre de usuario (si lo hay, que debería).

Nota: Intenta utilizar las etiquetas de código del foro.
Te dejo esto un poco mejor colocado:

Código
  1. <?php
  2.  
  3. $con =mysql_connect("mysql.hostinger.es", "*********", "***********");
  4. mysql_select_db("*************", $con);
  5. // Cantidad de post a mostrar y prefijo de las tablas
  6. $ultimos = 10;
  7. $prefijo = "phpbb_";
  8.  
  9. // Consultas a la base
  10. $result_mensaje=mysql_query("select * from $prefijo"."posts order by post_id desc limit $ultimos",$con);
  11. while($mostrar_m = mysql_fetch_array($result_mensaje))
  12. {
  13. $post=$mostrar_m["post_id"];
  14. $forum_id=$mostrar_m["forum_id"];
  15. $result_foro=mysql_query("select * from $prefijo"."forums where forum_id like $forum_id",$con);
  16. $mostrar_f=mysql_fetch_array($result_foro);
  17. $forum_name = $mostrar_f["forum_name"];
  18. mysql_free_result($result_foro);
  19. ?>
  20.  
  21. <i><b><?=$forum_name;?></b></i> - </font><font face="verdana" size="1"><a href="http://taxhack.96.lt//Menu/Foro/viewtopic.php?p=<?=$post;?>" target="_blank"><? echo $mostrar_m["post_subject"]; ?></a>
  22.  
  23.  
  24. <?
  25. }
  26. // Cerramos conexión
  27. mysql_free_result($result_mensaje);
  28. mysql_close($con);
  29. ?>

PS: No he retocado nada, sólo utilizado las etiquetas e indentado el código.



En línea

Ambolia

Desconectado Desconectado

Mensajes: 20


Ver Perfil
Re: consulta a base My sql
« Respuesta #2 en: 22 Noviembre 2013, 17:05 pm »

Aqui las tablas:

phpbb_acl_groups

phpbb_acl_options

phpbb_acl_roles

phpbb_acl_roles_data

phpbb_acl_users

phpbb_attachments

phpbb_banlist

phpbb_bbcodes

phpbb_bookmarks

phpbb_bots

phpbb_config

phpbb_confirm

phpbb_disallow

phpbb_drafts

phpbb_extensions

phpbb_extension_groups

phpbb_forums

phpbb_forums_access

phpbb_forums_track

phpbb_forums_watch

phpbb_groups

phpbb_icons

phpbb_lang

phpbb_log

phpbb_login_attempts

phpbb_moderator_cache

phpbb_modules

phpbb_poll_options

phpbb_poll_votes

phpbb_posts

phpbb_privmsgs

phpbb_privmsgs_folder

phpbb_privmsgs_rules

phpbb_privmsgs_to

phpbb_profile_fields

phpbb_profile_fields_data

phpbb_profile_fields_lang

phpbb_profile_lang

phpbb_ranks

phpbb_reports

phpbb_reports_reasons

phpbb_search_results

phpbb_search_wordlist

phpbb_search_wordmatch

phpbb_sessions

phpbb_sessions_keys

phpbb_sitelist

phpbb_smilies

phpbb_styles

phpbb_styles_imageset

phpbb_styles_imageset_data

phpbb_styles_template

phpbb_styles_template_data

phpbb_styles_theme

phpbb_topics

phpbb_topics_posted

phpbb_topics_track

phpbb_topics_watch

phpbb_users

phpbb_user_group

phpbb_warnings

phpbb_words

phpbb_zebra
En línea

Saberuneko


Desconectado Desconectado

Mensajes: 2.182



Ver Perfil WWW
Re: consulta a base My sql
« Respuesta #3 en: 22 Noviembre 2013, 17:21 pm »

Bien, de estas tablas, deduzco que de las que necesitas sacar los valores sería de phpbb_posts y phpbb_users... posiblemente.

Puede que seas capaz de hacerlo seleccionando el valor "poster_id" de la siguiente:
https://wiki.phpbb.com/Table.phpbb_posts

Que, si no me equivoco, referencia al valor "user_id" de esta otra:
https://wiki.phpbb.com/Table.phpbb_users

Esta tabla de usuarios tiene el valor "username". Que sería el nombre de tu usuario.

Por tanto, la consulta sería:
Código
  1. SELECT username FROM phpbb_posts p, phpbb_users u WHERE p.poster_id LIKE u.user_id;

Ahora lo que queda, sería buscar la forma de añadirlo después de leer la tabla:

(En la línea 10, lees la tabla phpbb_posts)
Código
  1. $result_mensaje=mysql_query("select * from $prefijo"."posts order by post_id desc limit $ultimos",$con);

Por tanto, recoger el valor correspondiente, posiblemente con:
Código
  1. $poster=$mostrar_m["poster_id"];

Utilizarlo para realizar la consulta de arriba...

Código
  1. $username=mysql_query("select username from $prefijo"."users where $poster like user_id);

Y luego recogerlo y mostrarlo, como los demás valores.

Código
  1. $mostrar_m["username"]=$username;

Con esto, teóricamente, meterías el nombre de tu usuario en el array "$mostrar_m[]" que deduzco que es el que lleva todo el contenido del mensaje a mostrar.
« Última modificación: 22 Noviembre 2013, 17:40 pm por Saberuneko » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Consulta a un Base de Datos de accces?
Programación Visual Basic
TheGhost(Z) 5 2,818 Último mensaje 18 Noviembre 2005, 09:47 am
por TheGhost(Z)
Error en consulta a base de datos
Programación Visual Basic
Gorky 2 2,540 Último mensaje 8 Febrero 2008, 21:27 pm
por Pendex
consulta base de datos
.NET (C#, VB.NET, ASP)
Choclito 1 3,186 Último mensaje 9 Mayo 2010, 06:19 am
por raul338
ayuda con consulta a base de datos y foreach
.NET (C#, VB.NET, ASP)
slipeer 3 3,710 Último mensaje 1 Agosto 2011, 12:00 pm
por slipeer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines