Foros del Web » Programando para Internet » PHP »

problemas con select doble y consultas

Estas en el tema de problemas con select doble y consultas en el foro de PHP en Foros del Web. hola a todos. a ver tengo un problema (para mí un problemón). tengo una aplicación de una clínica veterinaria. tengo una base de datos con ...
  #1 (permalink)  
Antiguo 27/03/2007, 02:08
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
problemas con select doble y consultas

hola a todos. a ver tengo un problema (para mí un problemón). tengo una aplicación de una clínica veterinaria. tengo una base de datos con dos tablas, 'imagenes' y 'datosan'. la primera recoge la ruta de las fotografías de los animales en cuestión en el servidor. la segunda, recoge los datos de esos animales. ambas tablas están relacionadas mediante el campo pacienteid.

ahora tengo una página, 'mostrar.php', donde aparecen desglosados los "pacientes" (en este caso animales). si pincho en cada uno de ellos, me aparece su ficha, que recoge los datos de las dos tablas anteriores: por un lado todas las imágenes de ese animal-paciente, y por otro lado, todos los datos de ese animal-paciente en concreto. como digo, para ello tengo que recurrir a las dos tablas anteriores.

para ello, para sacar estos datos, recurro a lo siguiente:

Código PHP:
$sql "SELECT * FROM imagenes WHERE pacienteid= $_REQUEST[id] ORDER BY imagenes.pacienteid ASC";

$rs mysql_query($sql);

while(
$data=mysql_fetch_assoc($rs)) {

$imgSize getimagesize("imagenes/".$data[nombreimagen].".jpg");
$width $imgSize[0];
$height $imgSize[1];

echo 
"
<a href=\"imagenes/$data[nombreimagen].jpg\" onclick=\"window.open('imagezoom.php?filename=$data[imagename]&height=$height&width=$width','image','width=$width,height=$height,top:50,left,50');
return false\">
<img src=\"imagenes/tn_$data[nombreimagen].jpg\" style=\"width:200px;border:1px solid #000; margin: 0 10px 
10px 10px\" />
</a>"
;

bien, con esto consigo sacar las imágenes de el animal seleccionado. pero ahora, a la hora de sacar los datos, es donde ya no hay forma de tirar para adelante. me explico. yo utilizo este código:
Código PHP:
$sql1 "SELECT id, descripcion FROM datosan LEFT JOIN imagenes on imagenes.pacienteid= id"
bien. con esto, trato de sacar los datos:
Código PHP:
$rs1 mysql_query($sql1);

while (
$data1mysql_fetch_array($rs1)) {

echo 
str_replace(".",". ",$data1[descripcion]); } 
bien. pues me da siempre el siguiente error:
Código PHP:
Warningmysql_fetch_array(): supplied argument is not a valid MySQL result resource in mostrar.php on line 18 
y en esa línea lo que hay es esto

Código PHP:
while ($data1mysql_fetch_array($rs1)) { 
qué hago mal?
  #2 (permalink)  
Antiguo 27/03/2007, 02:23
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: problemas con select doble y consultas

yo lo que haria seria guardarme el id que recojes al seleccionar a un animal en una variable $id=$_GET['id']
Luego al hacer la consulta para sacar las imagenes haces los siguiente
Código PHP:
<?
sql 
"SELECT * FROM imagenes WHERE pacienteid= $id"

$rs mysql_query($sql); 

while(
$data=mysql_fetch_assoc($rs)) {
//etc etc
?>
Ahora falta sacar la información del animal
Código PHP:
<?
$sql 
"SELECT * FROM datosan WHERE pacienteid= $_id"

$rsd mysql_query($sql); 

while(
$data1=mysql_fetch_assoc($rsd)) {
//etc etc}
?>
Yo pondria primero los datos del animal (la ficha tecnica) luego bajo las fotos.
Una cosa más en mostrar.php cuando pinchas en un animal en el link tienes una cosa asi? <a href="ficha.php?id='.$row['id'].'"> y luego en la pagina ficha recojes el id como te puse arriba del todo: $id=$_GET['id'] y partir de aki ya pones las consultas,ok??
Espero que te haya ayudado un pokito
__________________
Quien no me pregunta no se entera!!
  #3 (permalink)  
Antiguo 27/03/2007, 02:27
Avatar de puchitol  
Fecha de Ingreso: diciembre-2003
Ubicación: ELCHE
Mensajes: 322
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: problemas con select doble y consultas

Hola,

vamos a ver, para empezar, las fotos y la descripcion las muestras en la pagina que es la ficha del animal, no? En la primera select ya has obtenido las imagenes del animal, por que incluyes la tabla imagenes en la segunda select, en esta solo te interesaria obtener los datos del animal, no?

la select quedaria asi:
select * from datosan where id=$_REQUEST['id']

En esa segunda select que usas estas obteniendo los datos de todos los animales de la bd, los que tienen imagenes y los que no (esto es por que estas haciendo LEFT JOIN con imagenes) ... Y solo quieres los datos del animal seleccionado, correcto?

Prueba las select que he colocado y me cuentas ...

saludos
__________________
If you think fuck is funny, fuck yourself and save your money,
espero que entendais la moraleja... je, je, je
  #4 (permalink)  
Antiguo 27/03/2007, 02:39
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: problemas con select doble y consultas

no, seguimos igual. a ver, me trato de explicar mejor:

en una página tengo un listado de animales. pinchando en uno de ellos, me voy a su ficha. obviamente, ese enlace que me lleva a su ficha tiene un id que después recojo en la página "mostrar.php". bien. mi página mostrar.php tiene este código:
selecciono las imágenes
Código PHP:
$sql "SELECT * FROM imagenes WHERE pacienteid= $_REQUEST[id] ORDER BY imagenes.pacienteid ASC";
echo 
"
<p><strong>$locale[ficha] 
</strong></p>
"
;

$rs mysql_query($sql); 

while(
$data=mysql_fetch_assoc($rs)) { 

$imgSize getimagesize("imagenes/".$data[nombreimagen].".jpg"); 
$width $imgSize[0]; 
$height $imgSize[1]; 

echo 

<a href=\"imagenes/$data[nombreimagen].jpg\" onclick=\"window.open('imagezoom.php?filename=$data[imagename]&height=$height&width=$width','image','width=$width,height=$height,top:50,left,50'); 
return false\"> 
<img src=\"imagenes/tn_$data[nombreimagen].jpg\" style=\"width:200px;border:1px solid #000; margin: 0 10px  
10px 10px\" /> 
</a>"


bien. yo lo que quiero es poner la descripción del paciente antes de sacar sus fotografías. es decir, aquí:
Código PHP:
echo "
<p><strong>Ficha de $paciente 
</strong></p>
"
;

aquí quiero la descripción y luego saco las fotos con el resto del código 
bien, pues en cuanto meto el select aquí (el de la descripción), no hay forma, me da el error que os comenté antes. (aún metiendo el select que me indicáis)
  #5 (permalink)  
Antiguo 27/03/2007, 04:28
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: problemas con select doble y consultas

alguna idea de qué es lo que pasa?
  #6 (permalink)  
Antiguo 27/03/2007, 06:17
Avatar de estibaliz2006  
Fecha de Ingreso: noviembre-2006
Mensajes: 439
Antigüedad: 17 años, 5 meses
Puntos: 1
Re: problemas con select doble y consultas

hola? en qué falla la cosa?
  #7 (permalink)  
Antiguo 27/03/2007, 06:51
Avatar de alllebor  
Fecha de Ingreso: septiembre-2006
Mensajes: 295
Antigüedad: 17 años, 7 meses
Puntos: 1
Re: problemas con select doble y consultas

Lo siento estibaliz pero no se ya que puedo decirte, has seguido mis pasos?? no entiendo que te puede fallar, el error que te da es como no estubiera bien hecha la consulta
__________________
Quien no me pregunta no se entera!!
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:21.