Foros del Web » Programando para Internet » PHP »

links dinamicos

Estas en el tema de links dinamicos en el foro de PHP en Foros del Web. hola, aun estoy empezando con php y quiero hacer algo para las noticias de mi web pero nose muy bien como. la idea es mostrar ...
  #1 (permalink)  
Antiguo 27/05/2010, 18:06
 
Fecha de Ingreso: abril-2010
Mensajes: 37
Antigüedad: 14 años
Puntos: 0
links dinamicos

hola, aun estoy empezando con php y quiero hacer algo para las noticias de mi web pero nose muy bien como.

la idea es mostrar una lista con los titulares de las noticias (eso se como hacerlo) y que cada titular sea un link a otra pagina que contenga la noticia completa con todos sus campos de la tabla de la base de datos.

se hacer la consulta a la base de datos y se hacer que se muestren todos los datos.. pero lo que no se hacer es crear el link de forma que al pinchar sobre esa noticia.. cargue todos los datos de esa misma noticia y solo de esa noticia.

si me podeis orientar o enseñarme un codigo de ejemplo os lo agradeceria. un saludo.
  #2 (permalink)  
Antiguo 27/05/2010, 18:26
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: links dinamicos

haciendolo basico envias mediante url una variable, por ejemplo la id de la noticia y en otra pagina recibes la id, haces la consulta y muestras la informacion.
ejemplo:

inicio.php
recibes los titulos de todas las noticias y su id
muestas el titulo y haces un enlace a mostrar noticia con la variable id

http://www.tupagina.com/noticia.php?id=525

noticia.php
recibes la id mediante $_GET['id'];
haces la consulta y ya esta.

Creo que me explicado bien

Luego cuando sepas hacer esto puedes pensar en hacer rutas amigables con .htaccess, pero primero aprende lo basico y luego esto

Saludos
  #3 (permalink)  
Antiguo 27/05/2010, 18:43
 
Fecha de Ingreso: abril-2010
Mensajes: 37
Antigüedad: 14 años
Puntos: 0
Respuesta: links dinamicos

mas o menos lo he entendido.. pero me gustaria que el propio enlace coja la id en vez de tener que ponersela manualmente.

entonces supongamos que guardo la id en $id

si el enlace lo hago asi:

http://www.tupagina.com/noticia.php?id=$id

tambien funcionara igual de bien? o hay que hacerlo de alguna otra manera?
  #4 (permalink)  
Antiguo 27/05/2010, 19:07
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 8 meses
Puntos: 150
Respuesta: links dinamicos

No tiene sentido eso que dices, de id=$id, tu con php tienes que hacer un bucle que lea tu base de datos y "construya" esos enlaces, pero logicamente cada uno con su id ?id=1 ?id=2 ?id=85.....

Luego en esa pagina noticia.php es donde recoges en $_GET['id'] el valor enviado, buscas en tu base de datos y a mostrar la noticia

Última edición por Vun; 28/05/2010 a las 04:58
  #5 (permalink)  
Antiguo 28/05/2010, 03:53
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: links dinamicos

ejemplo incio.php

Código PHP:
<?
$host 
"localhost"
$user "usuario"
$pass "contraseña"
$db "basededatos"
$rs mysql_query("select * from carpeta ORDER BY id DESC" ); 

 while(
$result=mysql_fetch_array($rs)){ 
 
$id $result["id"];
 
$titulo $result["titulo"];
 echo 
'<a href="noticia.php?id='.$id.'">'.$titulo.'</a>';
 }
 
?>
lo que hace es buscar en bd las noticias, muestra primero las ultimas, ojo si tienes 1000 noticias, te las mostrara todas, eso se configura con LIMIT
Ahora en noticias.php:

Código PHP:
<?
$id 
$_GET['id']
$host "localhost"
$user "usuario"
$pass "contraseña"
$db "basededatos"
$rs mysql_query("select * from carpeta where id=".$id."" ); 

$result=mysql_fetch_array($rs)
 
$contenido$result["contenido"];
 
$titulo $result["titulo"];
 echo 
$titulo.'<br>';
echo 
$contenido;

 
?>
Configura titulo,carpeta y contenido, como lo tengas tu en tu bd y a funcionar

Etiquetas: dinamicos, links
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 23:51.