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.

Una ayuda con una consulta a la base de datosTema Solucionado

Foros donde podréis dejar vuestras dudas sobre phpBB 3.0.x
Cerrado
EdgarAlexander
Observador/a
Mensajes: 39
Registrado: 31 Jul 2011, 01:50
Edad: 30

Una ayuda con una consulta a la base de datos

#1

Mensaje por EdgarAlexander »

URL: http://hardgamecafe.clanteam.com/Foro/index.php
Versión phpBB: phpbb3
MODs Instalados: Ninguno
Plantilla(s) usada(s): DVGFX
Servidor: Windows, gratuito, Zymic hosting
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No

Buenas, ¿cómo están..?, lo que quiero hacer es algo a la vez fácil, y a la vez un poco complejo..

Resulta que tengo la página principal de mi Web:

http://hardgamecafe.clanteam.com/

Donde abajo verán noticias y actualizaciones, cada noticia, es un post de mi foro "Noticias y Actualizaciones", entonces debajo de cada noticia (de la pág. principal) pueden ver algo como "Comentar" y "Ver comentarios", (que son enlaces al newtopic, y al viewforum), entonces, mi cosa va con el "Ver comentarios", ya que quiero que al lado, se vea el número de respuestas al Foro (que es el mismo número de "RESPUESTAS" que se ve en cada foro http://hardgamecafe.clanteam.com/Foro/viewforum.php?f=4), y bueno, de lo poco que sé de PHP, sé que se hace con una consulta a la base de datos "SELECT FROM WHERE", pero no se cual es la tabla de cada respuesta.

Bueno, yo diría que a la final debería quedar algo así:

<?php

(String de conexión, hostname, usuario, contraseña, etc etc etc)

Noticia1

"blah blah blah..."

Comentar Ver comentarios (SELECT FROM "nombre de tabla" (y me imagino que iría el ID de cada foro))

y así con todas las noticias...

?>

Bueno, solo necesito eso, ¿con que sentencia hago la consulta a la tabla (con los IDs claro)? y el nombre de la tabla.. ¡¡Muchas gracias!! sonaré fastidioso, pero siento que éste tema le pueda ayudar a otro que también quiera hacer lo mismo.

Que tenga buen día, Alex

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

Re: Una ayuda con una consulta a la base de datos

#2

Mensaje por Alorse »

Cual es la manera o que script estas usando para listar esos temas en el portal de tu pagina?
Quieres que salga el número de respuesta de cada foro o del tema que se esta mostrando en el portal?

EdgarAlexander
Observador/a
Mensajes: 39
Registrado: 31 Jul 2011, 01:50
Edad: 30

Re: Una ayuda con una consulta a la base de datos

#3

Mensaje por EdgarAlexander »

Hola, no utilizo ningún script para imprimir los temas en en mi pág. principal, yo solo los "copio" y "pego" y después los edito directamente con el propio html, agregándole colores, etc, para eso ya tengo una plantilla predefinida..

Quiero es el número de respuestas de cada tema que está siendo únicamente mostrado en el portal, cosa con la que nada más manipularía con los IDs de los foros...

Gracias por responder...

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

Re: Una ayuda con una consulta a la base de datos

#4

Mensaje por Alorse »

mmm en ese caso y no se como le iras a hacer, la consulta seria la siguiente:

Código: Seleccionar todo

SELECT topic_replies FROM phpbb_topics WHERE topic_id = XX
XX = id del tema en cuestión.

SI necesitas mas ayuda nos avisas, solo debes ser claro en relación a lo que quieres, pretendes y como lo tiene pensado.

Juanla
Ex Staff
Mensajes: 454
Registrado: 18 Abr 2008, 21:13
Edad: 33

Re: Una ayuda con una consulta a la base de datos

#5

Mensaje por Juanla »

Lo haces más complicado de lo que parece copiando y pegando :P

Para sacar el número de respuestas sería algo así:

Código: Seleccionar todo

SELECT count(topic_replies) FROM phpbb_topics WHERE topic_id = XX

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

Re: Una ayuda con una consulta a la base de datos

#6

Mensaje por Alorse »

Si se utiliza en count(), simplemente contara el número de filas que tiene dicha tabla, si se quiere sacar el número de respuesta de cada mensaje.
Juanla escribió:Lo haces más complicado de lo que parece copiando y pegando

Para sacar el número de respuestas sería algo así:
Esa consulta siempre mostrara o 0 ó 1.

Juanla
Ex Staff
Mensajes: 454
Registrado: 18 Abr 2008, 21:13
Edad: 33

Re: Una ayuda con una consulta a la base de datos

#7

Mensaje por Juanla »

Touchê, lo había puesto sin mirar la tabla, la imaginaba de otra forma :? gracias por el aviso

EdgarAlexander
Observador/a
Mensajes: 39
Registrado: 31 Jul 2011, 01:50
Edad: 30

Re: Una ayuda con una consulta a la base de datos  Tema Solucionado

#8

Mensaje por EdgarAlexander »

Por fin!! luego de golpearme miles de veces con el teclado y el monitor he podido terminar lo que quería!!

Ya puedo mostrar el número de "replies" de las noticias de mi foro en la página principal de mi Web (y la verdad que sí me costó).

Para los usuarios interesados en saber como hice la consulta, he aquí el código:

Código: Seleccionar todo


<?php

// String de conexión con la base de datos

$conexion = mysql_connect("localhost", "usuario", "password");
mysql_select_db("base_de_datos", $conexion);

// Consulta 6

$query6 = "SELECT topic_replies FROM phpbb_Forotopics WHERE topic_id = '31'"; //modificar aquí
$resultado6 = mysql_query($query6, $conexion) or die (mysql_error()); //modificar aquí
$fila6 = mysql_fetch_assoc($resultado6); //modificar aquí

// Consulta 5

$query5 = "SELECT topic_replies FROM phpbb_Forotopics WHERE topic_id = '27'"; //modificar aquí
$resultado5 = mysql_query($query5, $conexion) or die (mysql_error()); //modificar aquí
$fila5 = mysql_fetch_assoc($resultado5); //modificar aquí

// Consulta 4

$query4 = "SELECT topic_replies FROM phpbb_Forotopics WHERE topic_id = '10'"; //modificar aquí
$resultado4 = mysql_query($query4, $conexion) or die (mysql_error()); //modificar aquí
$fila4 = mysql_fetch_assoc($resultado4); //modificar aquí

// Consulta 3

$query3 = "SELECT topic_replies FROM phpbb_Forotopics WHERE topic_id = '9'"; //modificar aquí
$resultado3 = mysql_query($query3, $conexion) or die (mysql_error()); //modificar aquí
$fila3 = mysql_fetch_assoc($resultado3); //modificar aquí

// Consulta 2

$query2 = "SELECT topic_replies FROM phpbb_Forotopics WHERE topic_id = '8'"; //modificar aquí
$resultado2 = mysql_query($query2, $conexion) or die (mysql_error()); //modificar aquí
$fila2 = mysql_fetch_assoc($resultado2); //modificar aquí

// Consulta 1

$query1 = "SELECT topic_replies FROM phpbb_Forotopics WHERE topic_id = '7'"; //modificar aquí
$resultado1 = mysql_query($query1, $conexion) or die (mysql_error()); //modificar aquí
$fila1 = mysql_fetch_assoc($resultado1); //modificar aquí

?>

<html>

<body>

<!-- Aquí tenéis el numerito de replies de cada noticia que queráis mostrar -->

<?php echo $fila6['topic_replies']; ?> <br>
<?php echo $fila5['topic_replies']; ?> <br>
<?php echo $fila4['topic_replies']; ?> <br>
<?php echo $fila3['topic_replies']; ?> <br>
<?php echo $fila2['topic_replies']; ?> <br>
<?php echo $fila1['topic_replies']; ?>

</body>

</html>

Ahora al lado de "Ver Comentarios" de cada noticia pueden ver el número de replies, vean como quedó:

http://hardgamecafe.clanteam.com/

Dejo claro lo siguiente:

-Yo en mi página principal siempre pongo 6 noticias, por lo cual son 6 impresiones (ya eso depende de vos).
-Siempre que agregues una noticia nueva, tenéis que hacer una consulta nueva, y borrar la última (en éste caso sería agregar consulta 7 y borrar consulta 1)
-Cuando agreguen una consulta nueva tienen que reemplazar el ID del Topic de la noticia nueva por el tema en cuestión.
-Puede que haya una forma más simplificada de hacer ésto pero entienda que estaba algo apurado y lo hice así.
-En "SELECT topic_replies FROM phpbb_Forotopics WHERE topic_id = '9'", recuerden que no todos tenemos el mismo nombre de tabla, el mío es phpbb_Foro, ésto lo tenéis que modificar vos.

Muchas gracias al equipo de phpBB por vuestra ayuda, la verdad es que la aprecio mucho, sobretodo a Alorse por decirme como hacer la consulta con la respectiva tabla.

Bueno los dejo a todos porque tengo una tarea de Visual Basic pendiente que hacer, que tengan felíz noche!!!

:wink:

Cerrado

Volver a “Foros de Soporte 3.0.x”