Foros del Web » Programando para Internet » PHP »

id se corta

Estas en el tema de id se corta en el foro de PHP en Foros del Web. buenas a todos. a ver. tengo una base de datos con dos tablas: la base de datos se llama proyectos; las tablas se llaman una ...
  #1 (permalink)  
Antiguo 08/01/2007, 03:32
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
id se corta

buenas a todos. a ver. tengo una base de datos con dos tablas: la base de datos se llama proyectos; las tablas se llaman una galeria y la otra obras.
la tabla galeria recoge cinco campos: idimagen; nombre; descripcion; imagen (donde se almacena la ruta de la imagen en el servidor) y obra.
la tabla obras recoge dos campos: idobra y obra (que es el nombre del proyecto).
Bien. mediante el panel de administración, lo que se hace es primeramente añadir la obra en la tabla obras. después se añaden los datos en la tabla galería, de tal forma, que en el campo obra de la tabla galería aparece un desplegable con las obras que hay metidas en la tabla obras.

ahora en la pantalla principal muestro primeramente los registros de la tabla obras. y hago un enlace mediante un id, de tal modo que queda algo así:
<a href=proyectos.php?id=$row[obra]');>".$row["obra"]."</a>
lo que sale es que al pinchar en cualquier registro que aparecen en pantalla (que pertenecen a la tabla obras) me debería llevar a sus datos correspondientes de la tabla galería. pero el problema es que el id que pongo sólo me recoge la primera palabra. es decir, si el proyecto se llama "Obra de Prueba" por ejemplo, el id recoge sólamente "Obra" con lo que al pinchar, no puede encontrar sus datos asociados en la tabla galería. sabéis porqué pasa eso?
gracias
  #2 (permalink)  
Antiguo 08/01/2007, 05:09
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Re: id se corta

Hola,
Tienes q decirle a php q la variable q recojes es una variable de texto.
Ponle las comillas!
Código PHP:
<a href=proyectos.php?id=$row['obra']);>".$row["obra"]."</a
y en la otra pagina de recojida de varibles tmb debes hacerlo!

Código PHP:
$obra=$_GET['obra']; 
saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 08/01/2007 a las 05:17
  #3 (permalink)  
Antiguo 08/01/2007, 05:52
Avatar de holahola  
Fecha de Ingreso: mayo-2005
Ubicación: Móstoles - (Madrid)
Mensajes: 214
Antigüedad: 19 años
Puntos: 1
Re: id se corta

En casos similares a los que indica estibaliz2006 yo lo he solucionado de la forma siguiente:

Código PHP:
urlencode($row["nombre"]) 
Para tu caso, sustituye tu $row[obra] por urlencode($row[obra])

Seguro que hay otras formas, pero esta (a mí), me funciona.

PD: creo que, en el tema de comillas (como indica sergi_climent) también puedes tener algun conflicto.

EDITO PARA AÑADIR ACLARACION:
--------------------------------
No creas que la función urlencode() te va a codificar de una forma rara tu texto. Mira como funciona, con el siguiente ejemplo:
si el texto al que le pasas la funcion urlencode es: Obra de Prueba (ejemplo que tú pones) al pasarla por url verás que muestra Obra+de+Prueba . Luego no te preocupes al recibirla por get, ya que recibirás Obra de Prueba (sin los signos +).

Última edición por holahola; 08/01/2007 a las 06:40 Razón: aclaración urlencode
  #4 (permalink)  
Antiguo 08/01/2007, 06:23
Avatar de The_Dark_Roy  
Fecha de Ingreso: enero-2004
Mensajes: 218
Antigüedad: 20 años, 3 meses
Puntos: 0
Re: id se corta

de igual modo tienes un error en este concepto, en el link envias la variable obra cuando debiera ser id_obra, tambien tienes mal colocada las etiquetas:
Código PHP:
<a href=proyectos.php?id=$row[obra]);>".$row["obra"]."</a
asi:
Código PHP:
<a href="proyectos.php?id=<?php echo $row[idobra];?>"><?php echo $row[obra];?></a>
__________________
ojala te hayas quitado la venda

http://www.surire.cl
http://www.uta.cl
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 11:19.