![de acuerdo](http://static.forosdelweb.com/fdwtheme/images/smilies/dedosarriba.png)
Bueno comienzo a explicar:
El problema surge cuando quiero ver los comentarios de la noticia publicada pero al dar en el link si veo los comentarios correspondientes pero no la noticia correspondiente me muestra siempre la primera espero a verme explicado si no ps pueden preguntar para que me entiendan les dejo el código:
Comentarios.php
Código PHP:
<?PHP
if (isset($_GET['n']) && is_numeric($_GET['n'])) {
if (isset($_POST['comentar'])) {
if (isset($_POST['comentario']) && !empty($_POST['comentario'])) {
$comentario = htmlentities($_POST['comentario']);
$query = "INSERT INTO `comentarios` (ref,autor,fecha,comentario) ";
$query.= "values ('".$_GET['n']."','".$_POST['autor']."','".time()."','".$comentario."')";
$query = mysql_query($query);
if (!$query) {
echo '<script>alert("ERROR(*)\nEl comentario no se ha podido enviar.");</script>';
}
} else {
echo '<script>alert("ERROR(*)\nEl comentario esta vacio, escribelo correctamente.");</script>';
}
}
//Si no ha comentado se muestra la lista de comentarios referentes a $_GET['n']
$query = mysql_query("SELECT * FROM `comentarios` WHERE ref = '".$_GET['n']."'");
if (mysql_num_rows($query)) {
//Se muestran los comentarios
echo '<font color="white">Comentarios Totales: '.mysql_num_rows($query);
while ($comentarios = mysql_fetch_array($query)) {
echo '<table>
<tr><td><font color="white">'.filtro_palabras(bbcode($comentarios['comentario'])).'</td></tr>
<tr><td><font color="white">Enviado por '.$comentarios['autor'].' el '.date("d/m/Y", $comentarios['fecha']).'</td></tr>
</table><br>';
}
@mysql_free_result($comentarios);
} else {
//No hay ningun comentario
echo "No hay comentarios";
} echo '<form action="noticias.php?n='.$_GET['n'].'" method="POST">
<input type="text" name="autor" value="Tu Nombre"><p>
<textarea name="comentario" rows="2" cols="50"></textarea><p>
<input value="Comentar" type="submit" name="comentar">
</form>';
}
?>
Código PHP:
<?PHP
// ANTES DE TODO EL CODIGO HAY QUE CONECTAR A LA BASE DE DATOS
include("conexion.php");
include("funciones.php");
$query = @mysql_query("SELECT * FROM noticias ORDER BY id DESC"); //Se extraen las noticias en orden reciente
$consulta=mysql_query("select id,ruta from datos ORDER BY id DESC ");
if (@mysql_num_rows($query)) { // Se comprueba si hay alguna noticia publicada
while ($noticia = @mysql_fetch_array($query) and $filas=mysql_fetch_array($consulta)) { //Se hace un bucle para mostrar cada noticia una a una
$ruta=$filas['ruta'];
$fecha = $noticia['fecha'] ;
$mesesano = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto",
"Septiembre","Octubre","Noviembre","Diciembre") ;
$diames = date('j',$fecha) ; $mesano = date('n',$fecha) - 1 ; $ano = date('Y',$fecha) ;
$fecha = "$diames de $mesesano[$mesano] del $ano" ;
echo '<table width=600 height=18 cellpadding=2 cellspacing=2 class="estilotabla" align="center">';
echo ' <tr><td align="center" border="0"><font color="white"><h1>'.filtro_palabras(bbcode($noticia['titulo'])).'</h1></td></tr></table>';
echo ' <table border="0" width=600 height=18 cellpadding=2 cellspacing=2 class="estilotabla" align="center">
<tr><td>';echo "<img src=$ruta?id=$consulta[id] width='180' height='214'><p>";
echo ' </td><td><font color="white">'.filtro_palabras(bbcode($noticia['noticia'])).'</td></tr>';
echo ' <tr> <td colspan="2"><font color="white">Enviada por '.$noticia['autor'].' <br> Fecha: '.$fecha.' <br> ';
echo ' <a href="noticias.php?n='.$noticia['id'].'">Ver Comentarios</a> <br> ';
echo ' </td></tr> ';
echo '</table><p>';
include("comentarios.php");
}
} else {
echo "No hay ninguna noticia publicada";
}
@mysql_free_result($noticia); //Se borran los datos usados
?>
Como verán el código no mostrara ningún error espero que me puedan a yudar con este ligero problema