Foros del Web » Programando para Internet » PHP »

Necesito ayouda urgente

Estas en el tema de Necesito ayouda urgente en el foro de PHP en Foros del Web. Tengo una base de datos de libros en la que tengo el título, autor, editorial, resumen, etc... y lo que quiero es conseguir que, al ...
  #1 (permalink)  
Antiguo 09/10/2007, 14:53
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Sonrisa Necesito ayouda urgente

Tengo una base de datos de libros en la que tengo el título, autor, editorial, resumen, etc... y lo que quiero es conseguir que, al ver un libro con todo eso (eso ya lo he conseguido) haya un sitio donde ponga: más libros del autor, y me saque todos los libros que tengo de ese autor, con la posibilidad de hacer click para ir al libro deseado.
Si quieres más información, o quieres aclararte mejor, entra en www.termometroliterario.org/librover.php?param1=60.
Muchas gracias, y espero haber sido claro.
  #2 (permalink)  
Antiguo 09/10/2007, 14:59
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Necesito ayouda urgente

Bueno... creo que tienes harto de lo que necesitas ahi mismo.

Puedes agregar un link en esa misma pagina que vaya a libroartista.php y que esta pagina solicite el id del artista (o el nombre, no se como lo estas buscando) y que aca te muestre todos los libros que posee ese artista, y al lado de la informacion del libro, haya un link para volver a esta misma pagina librover.php enviandole como param1 el id del libro.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #3 (permalink)  
Antiguo 09/10/2007, 15:16
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Necesito ayouda urgente

Gracias, Marvin, pero eso no quiero. Me gustaría que saliera en la misma página.
  #4 (permalink)  
Antiguo 09/10/2007, 15:20
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Necesito ayouda urgente

Ahh entonces mas facil :D

Agrega una tabla (html) al final de esta pagina, que contenga todos los libros de este autor y cada link va a ser a esta misma pagina con el param1 con el id del libro...

Eso es lo que buscas ?
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 09/10/2007, 19:02
 
Fecha de Ingreso: julio-2006
Mensajes: 96
Antigüedad: 17 años, 9 meses
Puntos: 2
Re: Necesito ayouda urgente

Cita:
Iniciado por holaquepasa Ver Mensaje
Tengo una base de datos de libros en la que tengo el título, autor, editorial, resumen, etc... y lo que quiero es conseguir que, al ver un libro con todo eso (eso ya lo he conseguido) haya un sitio donde ponga: más libros del autor, y me saque todos los libros que tengo de ese autor, con la posibilidad de hacer click para ir al libro deseado.
Si quieres más información, o quieres aclararte mejor, entra en http://www.termometroliterario.org/l....php?param1=60.
Muchas gracias, y espero haber sido claro.
Hola podrias hacer una consulta sql del siguiente modo.

Código:
$query="SELECT * FROM libros WHERE autor='$_GET['autor']'";
luego la ejecutas con las funciones correspondientes y generas una salida que puedes parsearla para que se vea en html con ssmarty o directamente metes echos para armar la estructura.

Saludos
  #6 (permalink)  
Antiguo 10/10/2007, 14:55
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Sonrisa Re: Necesito ayouda urgente

Ahora que tengo tiempo, voy a conseguir explicarme un poco.
Bien, tengo el título de un libro, y hago click en él, de tal manera que vaya a la página donde sale con el resumen, el autor, los comentarios, etc... Para ello, hago un link que salga www.termometroliterario.org/librover.php?param1=<?php echo $row_elnombrequesea['IDLIBRO']; ?> Así que me sale un link con la dirección librover.php?param1=123, por ejemplo, y me sale el libro que tiene ese id. Bien, muchos me decís que ponga SELECT TLLIBROS.AUTOR FROM TLLIBRO WHERE TLLIBROS.AUTOR='$_GET[autor], pero al tener ya una variable pasada, el id del libro, no puedo hacer que se pase dos parámetros. He oído que sí que se puede, pero sería un lío, pues tendría que cambiar mogollón de enlaces, así que si hay otra manera, mejor.
Me gustaría que en el propio librover.php me saliera los demás libros del autor. ¿Cómo podría hacerlo? Esa es mi duda, exactamente. Como hacer que del parámetro que coge (el id del libro), salga los demás libros del autor.
Si no he sido más claro aún, decídmelo, porque lo pondré mejor.
Muchas gracias por todo.
  #7 (permalink)  
Antiguo 10/10/2007, 14:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Necesito ayouda urgente

Pues si obtienes ya los datos del libro me supongo en alguna parte guardas el id del autor del libro en la misma tabla de los libros asi que no necesitas cambiar ningun enlace, solo es necesario que saques el id del autor y hagas la otra consulta.

Saludos.
  #8 (permalink)  
Antiguo 10/10/2007, 15:00
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Necesito ayouda urgente

Eso ya lo sé, pero no sé cómo sería la sentencia sql. Me podrías ayudar?
Gracias
  #9 (permalink)  
Antiguo 10/10/2007, 15:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Necesito ayouda urgente

Pues sin saber la estructura de tu tabla solo seria cuestion de que hicieras algo asi:
Código:
SELECT `TituloLibro` FROM `Libros` WHERE `idAutor`=AQUI_VA_EL_ID_DEL_AUTOR
Saludos.
  #10 (permalink)  
Antiguo 10/10/2007, 15:06
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Necesito ayouda urgente

pero el id del autor es el propio nombre del autor. No sé cómo se pasa una variable con letras.
  #11 (permalink)  
Antiguo 10/10/2007, 15:07
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Necesito ayouda urgente

Pues en la página de detalle tienes ei idLibro, que es igual a $_GET['param1'].

Teniendo el $idLibro, puedes hacer una join de las dos tablas:

SELECT * FROM LIBROS L JOIN L AUTORES A ON L.idAutor = A.idAutor WHERE L.idLibro = $idLibro

Quizá deberías mirarte un poco los fundamentos de SQL, álgebra relacional, joins entre tablas, etc etc...
  #12 (permalink)  
Antiguo 10/10/2007, 15:09
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Necesito ayouda urgente

creo que esto me pude funcionar. Muchas gracias.
  #13 (permalink)  
Antiguo 10/10/2007, 15:13
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona (España)
Mensajes: 134
Antigüedad: 19 años, 2 meses
Puntos: 0
Re: Necesito ayouda urgente

Cita:
Iniciado por holaquepasa Ver Mensaje
pero el id del autor es el propio nombre del autor. No sé cómo se pasa una variable con letras.

Pues una variable con letras se pasa igual que un identificador numérico. Otra cosa es que no es muy buena costuibre que la clave de la tabla sea el nombre del autor: si entras CAMILO JOSÉ CELA para un libro y CAMILO JOSE CELA (sin acento) ya serán dos autores diferentes...
  #14 (permalink)  
Antiguo 10/10/2007, 15:15
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Necesito ayouda urgente

Lo he intentado, pero el problema es que tengo en la misma tabla el id del libro y el autor. En la tabla TLLIBROS se encuentra el id, titulo, resumen, autor, editorial, genero, portada, estado, edadrecomendada.
  #15 (permalink)  
Antiguo 10/10/2007, 15:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Necesito ayouda urgente

No importa que tengas el id y el autor, como ya te comentaron solo tienes que pasar el autor:
Código:
SELECT `titulo` FROM `TLLIBROS` WHERE `autor`='EL NOMBRE DEL AUTOR'
Asi podras obtener todos los libros de ese autor.

Saludos.
  #16 (permalink)  
Antiguo 10/10/2007, 15:24
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Necesito ayouda urgente

SELECT TLLIBROS.AUTOR, TLLIBROS.TITULO, TLLIBROS.IDLIBRO FROM TLLIBROS WHERE TLLIBROS.IDLIBRO='$_GET[param1](el parámetro que le doy yo en el link) AND TLLIBROS.AUTOR='aquí ya no sé que va'
esta es la consulta que hago en librover.php. Necesito el idlibro para tener el autor, para luego poder coger todos los libros (con su id para poder hacer un enlace a librover.php?param1=id_del_libro_del_autor) que tenga.
No sé si sigo explicándome.

Última edición por holaquepasa; 10/10/2007 a las 15:34
  #17 (permalink)  
Antiguo 29/10/2007, 15:32
 
Fecha de Ingreso: octubre-2007
Mensajes: 19
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: Necesito ayouda urgente

Por favor:
si alguien sabe cómo hacerlo que me lo diga. Muchas gracias:
Jorge
  #18 (permalink)  
Antiguo 29/10/2007, 15:39
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Necesito ayouda urgente

Ok... pero tu necesitas sacar el id_autor.

Si la tabla TLLIBROS contiene el id_autor solo haz la consulta con el IDLIBRO en el where, y agrega el dato que quieres sacar en el SELECT IDAUTOR.

Si lo tienes en otra tabla haz un SELECT anidado:

SELECT L.AUTOR, L.TITULO, L.IDLIBRO, A.IDAUTOR
FROM TLLIBROS L, TABLAAUTORES A
WHERE L.IDLIBRO=$_GET[param1]
AND L.AUTOR = A.NOMBREAUTOR

Los valores en negrita son los que debes cambiar por tus datos reales, el campo que tiene el id del autor, la tabla que posee a los autores y el campo que tiene el nombre del autor.

Esto siempre y cuando necesites sacar el id de otra tabla porque no lo tienes en la misma tabla TLLIBROS.

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
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 02:28.