Ver Mensaje Individual
  #19 (permalink)  
Antiguo 26/11/2009, 16:25
Avatar de dggluz
dggluz
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años, 9 meses
Puntos: 50
Respuesta: un problemilla

Necesitarías darte una vuelta por algún manual de PHP y MySQL... pero básicamente, al hacer un mysql_query ejecutas código SQL que puede devolver un resultado (no todos los querys devuelven necesariamente un resultado). Ese resultado es un dato de tipo resource (que hace es un tipo de datos externo), de modo que hay que transformar ese resource en datos que podamos trabajar con facilidad desde PHP; con cada mysql_fetch_array (o como bien usas también, con mysql_result), podemos obtener arrays asociativos por cada registro devuelto por el motor de MySQL. Las claves de estos arrays coinciden con los nombres o alias (si se especifican) de las columnas en la consulta. Por eso:
Código PHP:
echo "<strong><a href='detallefoto.php?in_id=".$row[in_id]."'>".$row['in_titulo']."</a>:</strong> <em><br>Autor: "round($row['in_ISBN']) ."</em>"
Imprime en la página el link que apunta a detallefoto.php pasándole por vía URL el id obtenido, luego imprimes el título del libro y luego haces algo extraño: quieres imprimir el autor (que para imprimirlo debieras usar el índice "in_autor" pero imprimes un número. Ese número - al que llamaste ISBN (siendo que no tiene en realidad nada que ver con el ISBN del libro) - representa la relevancia de ese resultado para la búsqueda. MySQL genera para cada registro un número flotante que está entre 0 y 1 (los que más se acerquen a 1 son resultados "más exactos" o "más próximos" para la búsqueda), y gracias a ese dato, puedes ordenar los registros según la relevancia de la búsqueda.

Por eso te digo que en la página detallefoto lo que debes hacer es mostrar los datos del libro (el autor, el título, etc.) y para mostrar la imagen (si es que lo que tienes grabado en la base de datos es el nombre de la imagen simplemente tendrías que hacer un:
Código PHP:
<img src="<?php echo $row['imagen'];?>" />
Al respecto, el envío de headers no tiene nada que ver. Un header le indica al navegador cómo debe leer la información que le mandamos (si como página web, como imagen o qué), pero es para - por ejemplo - generar dinámicamente una imagen (en cuyo caso el script .php es para el navegador una imagen), no para una página HTML (que puede eventualmente incluir imágenes). El error que te dice de headers es porque los headers deben enviarse antes de cualquier otro carácter al navegador, al comienzo de todo el documento, justamente para que el navegador sepa cómo representar lo que le sigue... sin embargo, tú ya habías enviado un texto, que es el del otro error, el de SQL (aunque no lo hayas enviado a propósito, pero es información que le llegó al navegador).

Espero que haya quedado todo más o menos claro. ¡Saludos!