Estoy haciendo un foro en PHP y MySQL ( algo sencillito ), el caso es que estoy atascado en una cosa que os cuento.
Estoy en la página principal donde salen todos los foros, y a la derecha el numero de temas, el numero de mensajes y el ultimo mensaje, bueno pues mi problema está con el último mensaje.
Tengo hechas 3 tablas:
CATEGORIAS (id_categoria, nombre, descripcion),
TEMAS (id_tema, descripcion, categoria, autor, fecha),
MENSAJES (id_mensaje, mensaje, categoria, tema, acutor, fecha).
Bueno pues en la zona del ultimo mensaje he conseguido que salga el autor y la fecha del ultimo mensaje de ese foro, el problema me viene en sacar también el nombre del tema ( campo descripcion de la tabla TEMAS ).
Yo estoy sé sacarlo con una subselect, el caso es que las tablas no estan relacionadas y no me deja hacer MENSAJES(tema) clave ajena de TEMAS(id_tema), ni tampoco me deja usar IN para la subselect.
Total que he intentado recoger en la select q me da el autori y la fecha el "tema" taambién, y con el hacer otra select tal que "SELECT descripcion FROM temas WHERE id_temas = ( el tema q he cogido de la primera consulta), pero me sale un error de MySQL...
¿Dónde puede estar el error?
Gracias por adelantado.
Paso el código:
Código HTML:
<table class="table_foros" width="950" align="center"> <tr> <td colspan="2" bgcolor="#000033"><img src="imagenes/48x5px.png" width="48" height="5" />FORO</td> <td width="272" align="center" bgcolor="#000033">ÚLTIMO MENSAJE</td> <td width="109" align="center" bgcolor="#000033">TEMAS</td> <td width="111" align="center" bgcolor="#000033">MENSAJES</td> </tr> <?php do { ?> <?php mysql_select_db($database_foro, $foro); $publicacion_sql = "SELECT id_mensaje FROM mensajes WHERE categoria = ".$row_foro_disenioweb['id_categoria']; $temas_sql = "SELECT id_temas FROM temas WHERE categoria = ".$row_foro_disenioweb['id_categoria']; $ultimo_sql = "SELECT tema, autor, fecha FROM mensajes WHERE categoria = ".$row_foro_disenioweb['id_categoria'] . " ORDER BY fecha DESC LIMIT 1"; $uPost = mysql_query($ultimo_sql) or die (mysql_error()); $a = mysql_fetch_assoc($uPost); $nTema = $a['tema']; $uTema = "SELECT descripcion FROM temas WHERE id_temas = " . $nTema ; $uTemaVer = mysql_query($uTema) or die (mysql_error()); $pTotales = mysql_query($publicacion_sql) or die (mysql_error()); $pTemasTotales = mysql_query($temas_sql) or die (mysql_error()); ?> <tr> <td width="45" align="center"><img src="imagenes/folder.png" width="40" height="40" /></td> <td width="389"><span class="table_foros"><a href="categorias.php?cat=<?php echo $row_foro_disenioweb['id_categoria']; ?>"><?php echo $row_foro_disenioweb['nombre']; ?></a></span><br /> <span class="table_foros_descripcion"><?php echo $row_foro_disenioweb['descripcion']; ?></span><br /></td> <td align="left"><?php $up = mysql_fetch_assoc($uPost); $ut = mysql_fetch_assoc($uTemaVer); echo '<span class="table_foros_fechas">'; echo $ut['descripcion']; echo '</span>'; echo '<br />'; echo '<span class="table_foros_fechas">'; echo ' por '; echo '</span>'; echo '<span class="table_foros_autores">'; echo $up['autor']; echo '</span>'; echo ' '; echo '<span class="table_foros_fechas">'; echo $up['fecha']; echo '</span>'; ?> </td> <td align="center"><span class="table_foros_recuentos"><?php echo mysql_num_rows($pTemasTotales); ?></span></td> <td align="center"><span class="table_foros_recuentos"><?php echo mysql_num_rows($pTotales); ?></span></td> </tr> <?php } while ($row_foro_disenioweb = mysql_fetch_assoc($foro_disenioweb)); ?> </table> </body> </html> <?php mysql_free_result($foro_disenioweb); ?>