Foros del Web » Programando para Internet » PHP »

mandar variables por url procedentes de una bd

Estas en el tema de mandar variables por url procedentes de una bd en el foro de PHP en Foros del Web. tengo creado una conexion a una bd en la cual tengo una tabla con los campos id,titulo,desc1,desc2,desc3 Tengo tambien una pagina.php con dos capas (contentlayer1 ...
  #1 (permalink)  
Antiguo 06/10/2004, 06:51
 
Fecha de Ingreso: enero-2004
Mensajes: 33
Antigüedad: 20 años, 3 meses
Puntos: 0
mandar variables por url procedentes de una bd

tengo creado una conexion a una bd en la cual tengo una tabla con los campos id,titulo,desc1,desc2,desc3

Tengo tambien una pagina.php con dos capas (contentlayer1 y 2)
La capa contentlayer1 me lista el contenido de los registros de titulo en una tabla de una columna. Lo que no se es cómo pasar estos titulos por url hacia la otra capa (contentlayer2), es decir, quisiera que cuando hago click en un titulo de la capa contentlayer1 me muestre en contentlayer2 el contenido de los demas campos de ese registro, es decir, me muestre desc1,desc2,y desc3 correspondiente al titulo seleccionado....¿cómo lo puedo hacer?
Tengo creado lo siguiente:

<html>
<head><title>capa</title>
</head>
<body>
<div id="contentlayer1" .........>
<?
myslq_connect("localhost","root");
$result=mysql_db_query("bd","select * from tabla");
?>
<table>
<tr><td>titulo<td></tr>

<?
while ($row=mysql_fetch($result)){

echo '<tr><td>'.$row["$titulo"].'</td></tr>';
}
mysql_free_array
?>
</table>
</div
<div id="contentlayer2" ....................>


</div>
</body>
</html>

¿Como crear en la linea del echo la sintaxis para enviar por url el titulo seleccionado y mostrar los valores de ese registro en la capa contentlayer2

Gracias por todo.
  #2 (permalink)  
Antiguo 06/10/2004, 07:57
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa un link tipo (entre tu bucle while() primero ..):
Código PHP:
<a href="ese_script.php?titulo=<? echo $row['titulo'?>">ver</a>
Y en ese mismo script tienes que hacer una consulta SQL filtrada por ese "titulo" tipo
Código PHP:
// concecta a tu BD, selecciona tu BD (usa preferentemente: mysql_select_db() .. ). Esto ya lo haces con la otra consulta. Usa mysql_select_db() en lugar de mysql_db_query() usa mysql_query y así evitarás problemas y aseguraras compatibilidad de tu código.

if (isset ($_GET['titulo'])){
$result=mysql_query("SELEC * FROM tabla WHERE titulo='".$_GET['titulo']."'");
if (
mysql_num_rows($result) == 1){
   
$row=mysql_fetch_array($result);
   echo 
$row['otros_campos'];
} else {
   echo 
"No hay resultados o no seleccionó algo que ver el detalle";
}

Ese código .. al menos el "echo" que hagas debería estar bajo tu "contentlayer2"

Al usar PHP .. vas a tener que recargar la página (ten eso presente).

Un saludo,

Última edición por Cluster; 06/10/2004 a las 08:00
  #3 (permalink)  
Antiguo 06/10/2004, 08:03
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Ya que en tu consulta para leer los titulos ya lees los otros campos, la solucion sin recargar la pagina es usar javascript. Creas un array javascript con los datos leidos de la BD, y usas javascript para modificar el contenido del DIV (pregunta como en el foro de javascript como se hace).

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 07/10/2004, 02:59
 
Fecha de Ingreso: enero-2004
Mensajes: 33
Antigüedad: 20 años, 3 meses
Puntos: 0
mandar variables por url

Gracia por vuestra ayuda.....os cuento......ahora hemos conseguido hacer que me muestre en la capa contentlayer1 los titulos de las noticias y que cuando haga click en un titulo me pase por url a la capa contentlayer2 el titulo de esa noticia....se ha hecho lo siguiente:
<div id="contentLayer1" style="position:absolute; width:169px; height:241px; z-index:121; left: 2px; top: 106px">
<p>
<?
mysql_connect("localhost","root");

$result=mysql_db_query("bd","select * from noticias");
?>
<table align="center">
<tr>
<th>Titulo</th>
</tr>

<?
while($row=mysql_fetch_array($result))
{
echo '<tr><td><font color="#FFFFFF" face="Arial"><a href="pagina1.php?id='.$ro
w['titulo'].'">'.$row['titulo'].'</a></font></td></tr>';
}
mysql_free_result($result)
?>
</table>
</p>
</div>

lo que ahora no se es cómo hacer para que me muestre en la capa contentlayer2 el contendio de los campos desc1,desc2 y desc3 correspondiente a ese titulo que he pinchado, es decir, a parte del titulo que he pinchado en contenlayer1 y me lo ha pasado por url a contentlayer2 quisiera que debajo me siguieran mostrando el contendio de los campos desc1,desc2 y desc3 que tiene ese registro.
¿cómo lo puedo hacer?
la teoria es que haga dentri de contentlayer2 un acceso a la bd/tabla y me muestre el contenido de des1,des2 y des3 si viene una variable (id) de contenlayer1......pero no se cómo hacerlo......a ver si me pueden echar un cable.
Gracias por todo.
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 09:40.