Foros del Web » Programando para Internet » PHP »

Ayuda con pasar variables

Estas en el tema de Ayuda con pasar variables en el foro de PHP en Foros del Web. Hola, buenas a todos. A ver si sois capaces de ayudarme con esto. Tengo en la portada una serie de noticias que las muestro mediante ...
  #1 (permalink)  
Antiguo 24/09/2010, 09:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 26
Antigüedad: 13 años, 10 meses
Puntos: 0
Ayuda con pasar variables

Hola, buenas a todos.

A ver si sois capaces de ayudarme con esto. Tengo en la portada una serie de noticias que las muestro mediante php. Y loque queria era que al pinchar al titulo de una noticia llevar a una pagina con solo esta noticia pero extendida. Yo queria hacer una pagina tipo noticia_extendida.php y coger digamos el "id" de la noticia desde la portada y asi llamarla desde mysql basandome en el "id" de esta, pero no se como puedo guardar el "id" de la noticia a la que pincho y enviarlo a noticia_extendida.php. Cada noticia la guardo con id, una descripcion breve (que es la que muestro en la portada), descripcion y una foto.

No se si se ha entendido xD.
  #2 (permalink)  
Antiguo 24/09/2010, 09:47
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Ayuda con pasar variables

El código que necesitas es extenso, has de poner algún ejemplo. La solución es más o menos así:

Código PHP:

<?php
/**
 * Script que muestra las noticias
 */
$sql "SELECT * FROM NOTICIAS WHERE ID='1'";
$query mysql_query($sql$link);
while(
$fetch mysql_fetch_assoc($query)){
    
/**
     * Sacar las noticias por pantalla 
     */
    //Crear el vinculo a noticia completa
    
echo "<a href=\"notificia_extendida.php?id=".$fetch['id']."\">Ver todo el artículo</a>";
}


/**
 * Script que muestra la noticia complete
 */
$sql "SELECT * FROM NOTICIAS WHERE ID='".$_GET['id']."'";
$query mysql_query($sql$link);
while(
$fetch mysql_fetch_assoc($query)){
    
/**
     * Sacar las noticias por pantalla 
     */
}

?>
Espero que sirva, saludos
  #3 (permalink)  
Antiguo 24/09/2010, 10:12
Avatar de vertigo112  
Fecha de Ingreso: agosto-2006
Ubicación: Estado de Mexico
Mensajes: 25
Antigüedad: 17 años, 7 meses
Puntos: 1
Respuesta: Ayuda con pasar variables

A ok a ver si te entendí por ejemplo yo tengo un sitio que desarrollo hace un rato donde tengo una serie de NOTAS por así decirlo como muestra esta imagen:



Esta información la desplego así:

Código PHP:
$sql "select id_nota, titulo, imagen, descripcion from categorias";
$conn->Ejecuta($sql);
$data=$conn->Result_Query();
echo 
"<div class='datos'>";
for(
$i=0;$i<count($data);$i++){
    echo 
"<div class='datosInter'>";
        echo 
"<a href='resultados.php?id_nota=".$data[$i]['id_nota']."'>";
        echo 
"<span>".$data[$i]['titulo']."</span>";
        echo 
"<span>".$data[$i]['imagen']."</span>";    
        echo 
"<span>".$data[$i]['descripcion']."</span>";
        echo 
"</a>";
    echo 
"</div>";
    }
$conn->DivF();
echo 
"</div>"


uso una clase que cree para conectarme a la BD y sea mas facil ahora si te das cuenta ahi esta la clave en la URL asignada a esa informacion:

particularmente esta linea:

Código PHP:
echo "<a href='resultados.php?id_nota=".$data[$i]['id_nota']."'>"
ahora te muestro que al dar un clic ahi me envia a la pagina y me da como resultado esto:



eso es el resultado de este codigo


Código PHP:
$sql "select titulo, imagen, descripcion from Notas_categoria where id_nota = ".$_REQUEST['id_nota'];
$conn->Ejecuta($sql);
$data=$conn->Result_Query();
echo 
"<div class='datosCategoria'>";
    echo 
"<div class='datosInterCategoria'>";
        echo 
"<span>".$data[$i]['titulo']."</span>";
        echo 
"<span>".$data[$i]['imagen']."</span>";    
        echo 
"<span>".$data[$i]['descripcion']."</span>";
    echo 
"</div>";
echo 
"</div>";
echo 
"<span class='btn'>".muestraBtn('siguiente')."</span"


si te fijas aqui resivo el parametro que envie de la pagina anterior ya que si tu mediante un LINK como este:

Código PHP:
<a href='resultados.php?id_nota=10'>valor</a
ahi estas indicando que te lleva a una pagina "resultados.php" y que ademas te envie un parametro por URL

id_nota=10 asi como en el ejemplo que te colo a diferencia que en el ejemplo le coloco los ID desde una consulta de una BD

ahora desde la pagina enviada ese valor solo lo cacho con:

Código PHP:
$_REQUEST['id_nota'
id_nota me tendria el ID

bueno eso es una Explicacion muy basica ya que eso por ahora se podria hacer en un par de lineas mediante FrameWorks pero te recomiendo que siempre sepas la base lo de adentro lo natural hay muchos que dicen que es tener que volver a creaar la rueda pero la verdad es que eso me ayudo a tener la capacidad de generar mis propios CMS y mas..

bueno una saludo desde Mexico.....
en linea desde macrowebdigital
  #4 (permalink)  
Antiguo 25/09/2010, 13:49
 
Fecha de Ingreso: mayo-2010
Mensajes: 26
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Ayuda con pasar variables

Pido disculpas por no responder antes, he estado un poco liado :S.

Gracias a los 2 por responder. He visto que utilizais funciones diferentes pero que la finalidad es la misma. Yo lo he acoplado un poco y parece que me ha funcionado. Yo estaba usando mysql_fetch_row() para extraer los datos de la base de datos. A la hora de mostrar el titulo usaba:

echo "<a href=\"noticia_extendida.php?id=".$mnoticias2[0]."\"><h1>".$mnoticias2[1]."</h1></a>";

Y para cogerlo desde la otra página he usado:

$sql=mysql_query("SELECT * FROM noticias WHERE id='".$_GET['id']."' ;");

Y a la variable $sql le he hecho otro mysql_fetch_row() para sacarle los datos e implementarlos en la pagina.

Etiquetas: pasar, variables
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 06:34.