Foros del Web » Programando para Internet » PHP »

mostrar noticias

Estas en el tema de mostrar noticias en el foro de PHP en Foros del Web. Hola de nuevo, esta vez estoy creando una sistema de noticias y quiero hacer una cosa, que estoy seguro que es sencilla pero soy incapaz ...
  #1 (permalink)  
Antiguo 01/03/2010, 14:56
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
mostrar noticias

Hola de nuevo, esta vez estoy creando una sistema de noticias y quiero hacer una cosa, que estoy seguro que es sencilla pero soy incapaz de dar con la solucion.

quiero poner noticias breves y un enlace leer más.. que al hacer click se abra en una pagina nueva la noticia comleta, he creado en la bases de datos una campo descripcion y una campo cuerpo el enlace seria algo así http://midominio.com//index.php?seccion=notibre&id=1

el codigo que uso es este:


Código PHP:
<?php

include ('includes/conexion.php');

//GET es una funcion predefinida de PHP 

$id=$_GET['id']; 

$tabla mysql_query("SELECT `titulo`,`autor`,`fecha`,`descripcion`,`cuerpo``visto`, FROM `noticias`where id='$id' ");



//Ejecutamos la sentencia SQL

$result=mysql_query("select * from noticias");

?>

 <div>

  

<?php

//Mostramos los registros

while ($row=mysql_fetch_array($result))

{

echo
"<tr>";

 
// Muestra el Id

 
echo "<td>

  <div class='sidebar-title1'>"
.$row["titulo"]."</div>

   </td>"
;

 
// Muestra el Nombre

 
echo "<tr>

  <td><div class='sidebar-title2'>"
.$row["autor"]."</div>

    </td>

    </tr>"
;

// Muestra el fecha

 
echo "<tr>

  <td><div class='boxtitle2'>"
.$row["fecha"]."</div>

    </td>

    </tr>"
;

 
// Muestra el noticia

 
echo "<tr>

  <td><div aling='left'>"
.$row["descripcion"]."</div>

   </td>"
;

 echo
"</tr>";

 echo 
'<div><a href="index.php?seccion=notibre&id='.$row["id"].'">Leer Articulo</a></div></div>';

}

mysql_free_result($result)

?>
lo que me ocurre es que cuando le das a leer más.. vuelve otra vez a la misma pagina

gracias de antemano
  #2 (permalink)  
Antiguo 01/03/2010, 15:13
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: mostrar noticias

el código que nos has mostrado es donde se listan toodas las noticias cierto?? puedes mostrar el código donde muestras el detalle completo de la noticia???
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #3 (permalink)  
Antiguo 01/03/2010, 15:14
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: mostrar noticias

Claro:
Código PHP:
Ver original
  1. echo '<div><a href="index.php?seccion=notibre&id='.$row["id"].'">Leer Articulo</a></div></div>';
Estás volviendo al mismo sitio donde lo muestra.s
Por cierto, ten cuidado con la sentencia SQL, faltan comas y espacios.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #4 (permalink)  
Antiguo 01/03/2010, 15:16
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Respuesta: mostrar noticias

jajaja, CHuLoSoY, tienes toda la razón, enlaza hacia el mismo documento .php o.o
__________________
blog: hector2c.wordpress.com
email: [email protected]
  #5 (permalink)  
Antiguo 01/03/2010, 15:42
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: mostrar noticias

aqui creo que es donde hando perdido notibre.php es el documento y lo que quiero saber es que es lo que me falta.

CHuLoSoY etndre encuenta lo de las comas y espacios gracias.
  #6 (permalink)  
Antiguo 01/03/2010, 15:50
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: mostrar noticias

creo que lo que me quieres decir es que tengo que crear otro documento por ejem. vernoti.php con el enlace y la llamada a la bd??
  #7 (permalink)  
Antiguo 01/03/2010, 16:37
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: mostrar noticias

Lo de las comas y espacios fíjate en esta línea TUYA:
Código PHP:
Ver original
  1. $tabla = mysql_query("SELECT `titulo`,`autor`,`fecha`,`descripcion`,`cuerpo``visto`, FROM `noticias`where id='$id' ");

Y ahora mira esta (la correcta):
Código PHP:
Ver original
  1. $tabla = mysql_query("SELECT `titulo`,`autor`,`fecha`,`descripcion`,`cuerpo`,`visto`, FROM `noticias` where id='".$id."' ");
En este último código podrás observar una coma de más, un espacio de más y una variable escapada con comillas. Te dejo encontrar las diferencias a tí solo :)

Acerca de la segunda pregunta, pues eso, creas un documento llamado leer.php o vernoti.php o pericoDeLosPalotes.php, pero que tenga un contenido seleccionando la noticia.
Quedaría el enlace algo así:
Código HTML:
Ver original
  1. <a href='"leer.php?id=".$row['id']."'>titulo de la noticia</a>
En el documento leer.php tendrás que poner algo así:
Código PHP:
Ver original
  1. <?php
  2. /* aquí haces una conexión a la base de datos */
  3. $sql="SELECT * FROM noticias WHERE id=".$_GET['id'];
  4. $query=mysql_query($sql, $conexion) or die ("Error");
  5.  
  6. $fila=mysql_fetch_array($query);
  7.  
  8. echo "<h1>".$fila['titulo']."</h1>";
  9. echo $fila['noticia'];
  10.  
  11. ?>

Saludos y suerte.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #8 (permalink)  
Antiguo 02/03/2010, 12:46
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: mostrar noticias

CHuLoSoY gracias, eso funciona perfecto, pero ese no es el problema, estoy usando una web modulada, que ya tiene una enlace del tipo

index.php?seccion=noticias

Por eso yo creo que tiene que ser dentro del mismo archivo que tengo, se deveria de hacer la llamada al registro concreto, creo que el enlace deveria ser algo como

index.php?seccion=noticias&id=1
  #9 (permalink)  
Antiguo 02/03/2010, 13:29
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: mostrar noticias

ó index.php?seccion=leernoticia&id=1

Código PHP:
Ver original
  1. if($_GET['leernoticia']) {
  2.  
  3. /* El mismo código que leer.php */
  4.  
  5. }
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #10 (permalink)  
Antiguo 02/03/2010, 14:42
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: mostrar noticias

se reparesenta en vacio.

te mando un print



y esta es la direcc que use

/index.php?seccion=ver&id=2

este ves el codigo

Código PHP:
<?php
include ('includes/conexion.php');

if(
$_GET['ver']) {

/* aquí haces una conexión a la base de datos */
$sql="SELECT titulo, cuerpo FROM noticias WHERE id=".$_GET['id'];
$query=mysql_query($sql$conexion) or die ("Error");
 
$fila=mysql_fetch_array($query);
 
echo 
"<h1>".$fila['titulo']."</h1>";
echo 
$fila['cuerpo'];
 
mysql_free_result($query);
}
?>
  #11 (permalink)  
Antiguo 02/03/2010, 14:50
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: mostrar noticias

Esta seria la noticia sin ampliar

  #12 (permalink)  
Antiguo 02/03/2010, 14:54
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: mostrar noticias

No copies y pegues:
$query=mysql_query($sql, $conexion) or die.....
seguro que esa no es tu variable.
Además, no entiendo tu problema. Se muestra en vacío?
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #13 (permalink)  
Antiguo 02/03/2010, 15:23
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: mostrar noticias

Código PHP:
<?php 
 
// se conecta con el servidor
 
 
$conexion mysql_connect('localhost''root''bucear');
 
 
// selecciona la base de datos

mysql_select_db('webdisse_webdisseny'$conexion);

 
?>
$conexion si es mi variable como puesdes ver.

Código HTML:
Además, no entiendo tu problema. Se muestra en vacío?

pues que no sale el registro que pido.

Última edición por stuzin; 02/03/2010 a las 15:51
  #14 (permalink)  
Antiguo 02/03/2010, 16:39
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: mostrar noticias

SUpongo que tendrás en la tabla un campo INT a ser posible autoincremental y clave primaria llamado id (con minúsculas). ¿Estoy en lo correcto ?
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #15 (permalink)  
Antiguo 03/03/2010, 00:11
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: mostrar noticias

Correcto asi es

Código HTML:
TABLE `noticias` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `titulo` varchar(250) default NULL,
  `fecha` date default NULL,
  `descripcion` text,
  `cuerpo` text,
  `autor` varchar(250) default NULL,
  `visitas` varchar(250) default NULL,
  PRIMARY KEY  (`id`)
  #16 (permalink)  
Antiguo 03/03/2010, 04:53
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: mostrar noticias

Ya vi el fallo,es una tontería
Código PHP:
Ver original
  1. <?php
  2. include ('includes/conexion.php');
  3.  
  4. if($_GET['seccion']=="ver") {
  5.  
  6. /* aquí haces una conexión a la base de datos */
  7. $sql="SELECT titulo, cuerpo FROM noticias WHERE id=".$_GET['id'];
  8. $query=mysql_query($sql, $conexion) or die ("Error");
  9.  
  10. $fila=mysql_fetch_array($query);
  11.  
  12. echo "<h1>".$fila['titulo']."</h1>";
  13. echo $fila['cuerpo'];
  14.  
  15. }
  16. ?>
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #17 (permalink)  
Antiguo 03/03/2010, 05:08
Avatar de xalupeao  
Fecha de Ingreso: mayo-2008
Ubicación: Santiago, Chile
Mensajes: 749
Antigüedad: 15 años, 11 meses
Puntos: 12
Respuesta: mostrar noticias

agregale un && $_GET['id'], no falta el tontito que borra el id para ver que pasa.

Código PHP:
include ('includes/conexion.php');
 
if(
$_GET['seccion'] == "ver" && $_GET['id']) {
 
/* aquí haces una conexión a la base de datos */
$sql="SELECT titulo, cuerpo FROM noticias WHERE id=".$_GET['id'];
$query=mysql_query($sql$conexion) or die ("Error");
 
$fila=mysql_fetch_array($query);
 
echo 
"<h1>".$fila['titulo']."</h1>";
echo 
$fila['cuerpo'];
 
mysql_free_result($query);
}
?> 
__________________
Hosting en Chile en Silverhost - La solución en Hosting en Chile.
  #18 (permalink)  
Antiguo 03/03/2010, 05:20
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: mostrar noticias

Cita:
Iniciado por xalupeao Ver Mensaje
agregale un && $_GET['id'], no falta el tontito que borra el id para ver que pasa.

Código PHP:
include ('includes/conexion.php');
 
if(
$_GET['seccion'] == "ver" && $_GET['id']) {
 
/* aquí haces una conexión a la base de datos */
$sql="SELECT titulo, cuerpo FROM noticias WHERE id=".$_GET['id'];
$query=mysql_query($sql$conexion) or die ("Error");
 
$fila=mysql_fetch_array($query);
 
echo 
"<h1>".$fila['titulo']."</h1>";
echo 
$fila['cuerpo'];
 
mysql_free_result($query);
}
?> 
Jajajaja, sí, yo a esos los llamo INGENIEROS xD
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #19 (permalink)  
Antiguo 03/03/2010, 11:01
 
Fecha de Ingreso: febrero-2007
Mensajes: 18
Antigüedad: 17 años, 2 meses
Puntos: 0
Respuesta: mostrar noticias

Gracias a todos por vuestras resuestas, funciona de maravilla.

mi nueva pregunta es la siguiente, solo para saber un poco más, para realizar esto hay que crear siempre los dos archivos, uno para ver todas las noticias y otro para ver las noticias individuales, o se puede comprimir todo en un solo archivo.

de nuevo muchisimas gracias en especial CHuLoSoY por tu paciencia y forma de compartir tu sabiduria con los demas.
  #20 (permalink)  
Antiguo 03/03/2010, 12:00
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: mostrar noticias

Código PHP:
Ver original
  1. para realizar esto hay que crear siempre los dos archivos, uno para ver todas las noticias y otro para ver las noticias individuales, o se puede comprimir todo en un solo archivo
Según, a mi no me gusta ponerlo todo en una misma página, porque cuando tengas contenido abundante qué haces? Un index.php de cien mil millones de gigas y que nunca cargue?
Yo hago una página por cometido. En ellas diferentes funciones hacen diferentes trabajos.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:27.