Ver Mensaje Individual
  #16 (permalink)  
Antiguo 08/09/2011, 08:30
Avatar de Dragon_Mandarin
Dragon_Mandarin
 
Fecha de Ingreso: marzo-2005
Ubicación: Santiago de Chile
Mensajes: 231
Antigüedad: 19 años, 9 meses
Puntos: 14
Respuesta: [APORTE] Sistema de noticias y comentarios

En el index.php, creo que es mejor dejar un poco de texto, para evitar una página con textos y textos, o sea, "asabanada" y el clásico enlace "Leer más ..."

Entonces, el index.php:

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Sistema de Noticias de KarlicOs :::.</title>
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. include ('includes/connect.php');
  11. //hacemos las consultas
  12. $result=mysql_query("select * from noticias order by fecha Desc", $connect);
  13. $totalregistros=mysql_num_rows($result);
  14. $result2=mysql_query("select * from comentarios where id",$connect);
  15. $totalcomentarios=mysql_num_rows($result2);
  16. ?>
  17. </head>
  18. <body>
  19.  
  20. <?php
  21. //Recogemos las consultas en un array y las mostramos
  22. while($row=mysql_fetch_array($result))
  23.             {
  24. $result2=mysql_query("select * from comentarios where id='".$row[id_noticia]."'",$connect);
  25. $totalcomentarios=mysql_num_rows($result2);
  26. echo '<h3>'.$row[titulo].'</h3>';
  27. //echo '<br><br>';
  28. //echo ' '.$row[noticia].' <br>';
  29. echo substr($row['noticia'], 0, 550);
  30. echo '&nbsp;<strong>...</strong><br><br>';
  31. echo '<strong>Autor:&nbsp;'.$row[autor].'&nbsp; |&nbsp;Publicado en:&nbsp; '.$row[categoria].'&nbsp; |&nbsp;El:&nbsp; '.$row[fecha].'&nbsp;|&nbsp;Comentarios:&nbsp;('.$totalcomentarios.')&nbsp;|&nbsp;<a href="ver.php?id='.$row[id_noticia].'">Leer mas ...</a></strong>';
  32.     }
  33. ?>  
  34. </body>
  35. </html>

Como podrán ver, la conexión a la base de datos está en una carpeta (includes). Es más adecuado.

La página para ver el resto de la noticia, o sea ver.php:

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Sistema de Noticias de KarlicOs - Ver Noticia :::.</title>
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. require ('includes/connect.php');
  11. $id=$_GET["id"];
  12. $result=mysql_query("select * from noticias where id_noticia='$id'",$connect);
  13. while($row=mysql_fetch_array($result))
  14. {
  15. $result2=mysql_query("select * from comentarios where id='$id'",$connect);
  16. $totalcomentarios=mysql_num_rows($result2);
  17. echo '<h3>'.$row[titulo].'</h3>';
  18. echo ''.$row[noticia].'<br><br><br>';
  19. echo 'Autor:&nbsp;'.$row[autor].' | '.$row[categoria].' |&nbsp;Publicado en:&nbsp; '.$row[fecha].'';
  20. //echo '<a href="editarcomentario.php?id='.$row[id].'">Editar</a> | <a href="borrar.php?id='.$row[id].'">Borrar</a>';
  21. }
  22. ?>
  23. <br><br><br><br>
  24. <?php
  25. echo '<h2>Comentarios:&nbsp;('.$totalcomentarios.')</h2><br>';
  26. //hago el llamado a la base
  27. $result=mysql_query("select * from comentarios where id='$id'",$connect);
  28. //Bucle while para visualizarlos
  29. while($row=mysql_fetch_array($result))
  30. {
  31. echo '<h4>Nick: '.$row[nick].':</h4>Email: '.$row[email].'<br>Comentario: '.$row[comentario].'<br><br>';
  32. }
  33. ?>
  34.  
  35. <form action="publicacomentario.php" method="post">
  36. <input type="hidden" name="id" value="<?php echo $id;  ?>"><br>
  37. Nick:<br>
  38. <input type="text" name="nick"><br>
  39. E-Mail:<br>
  40. <input type="text" name="email"><br>
  41. Escriba el comentario<br>
  42. <textarea name="comentario" cols="70" rows="15"></textarea>
  43. <br>
  44. <input type="submit" value="Enviar comentario"><br>
  45. </form>
  46. </body>
  47. </html>

Y ahora, la página que procesa el comentario, publicacomentario.php:

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  5. <title>Sistema de Noticias de KarlicOs - Publica Comentarios :::.</title>
  6. </head>
  7.  
  8. <body>
  9. <?php
  10. require ('includes/connect.php');
  11. $id=$_POST['id'];
  12. $nick=$_POST['nick'];
  13. $email=$_POST['email'];
  14. $comentario=$_POST['comentario'];
  15. $query = "INSERT INTO comentarios (id,nick,email,comentario) VALUES('$id','$nick','$email','$comentario')";
  16. mysql_query($query) or die(mysql_error());
  17. header("location: ver.php?id=$_POST[id]")
  18. ?>
  19. </body>
  20. </html>

Bueno, el resto de lo se requiere para publicar noticias, lo separé en varias páginas que van dentro de una carpeta, admin, a la cual se accede mediante Usuario y Contraseña. Pero esto lo publicaré otro día.

Saludos!

Ricardo