PHP-Hispano.net Comunidad hispana de desarrollo web
Darse de alta en la web | Recuperar password   
Inicio / Foros / MySQL / Problema al consultar otra tabla

Problema al consultar otra tabla

3 respuestas 938 visitas Categoría MySQL

Problema al consultar otra tabla

Avatar de Rebecca

Nivel 1 (3 posts)

* * * * * * *

1 Agradecimientos

#0 Offline Rebecca 21 jul 09
Hola, a ver si se explicarme medianamente bien.

Tengo un código en un archivo a través del cual listo una serie de datos de una tabla apoyándome en algunos datos obtenidos vía URL
$razaid = intval($_GET['animalid']);
$animalid = intval($_GET['razaid']);
Con ellos hago una consulta a la tabla animales y me lista todos los animales coincidentes. Me va perfecto y no me da ningún problema.
Donde me armo un lio y no sé salir es que en esa tabla también marco si tengo imagen de ese animal, hasta ahora metía las imágenes en código HTML en Imagenesanimal de esa misma tabla pero he creado una nueva tabla llamada Fotos donde las voy colocando.
Es decir antes tenía
if ($row2['Imagenesanimal'] != '')
{
echo '<img border="0" src="http://www.prueba.com/check.png" alt="" title="">';
}
Y eso se encargaba de marcar cuando había imagen, pero ahora he de consultar coincidencia en Fotos
Intento hacerlo via

$mio1= $razaid;
$mio2= $animalid;
$mio3= $row2['Animalnumero'];

$result = mysql_unbuffered_query("SELECT razaid, animalid, animalnumero FROM Fotos where razaid='$mio1' and animalid='$mio2' and animalnumero='$mio3' GROUP BY razaid");
while($row3 = mysql_fetch_array($result)) {
if ($row3['animalnumero'] != '0')
{
echo '<img border="0" src="http://www.prueba.com/check.png" alt="" title="">';
}
}
Pero nada que me marca el primer resultado pero a partir de ahí se corta la tabla. Los mio están puestos para cerciorarme de que hasta ahí la información llegaba y ciertamente reconoce que tengo foto o no en el primer registro que muestra. Pero no muestra más ni muestra errores (cosa que he comprobado ya).

Por cierto, la página lista perfectamente sin esas lineas implementadas, y esas lineas en otro archivo (dándole valores a los mio) también.

Uniendo que aún estoy aprendiendo, por lo que sé lo justo, y que le he dado ya mil vueltas al código sin resultado, si alguien me ayuda a solucionarlo se lo agradecería.

Re: Problema al consultar otra tabla

Avatar de Statuesque

Nivel 2 (85 posts)

* * * * * * *

12 Agradecimientos

#1 Offline Statuesque 22 jul 09 0 personas consideran útil este post.
Puedes hacerlo contando cuántas coincidencias hay:


$result = mysql_query('SELECT razaid FROM Fotos WHERE razaid = $mio1 AND animalid = $mio2 AND animalnumero = $mio3');
if (mysql_num_rows($result) > 0)
    echo '<img border="0" src="http://www.prueba.com/check.png" alt="" title="">';



La función mysql_num_rows devuelve el número de filas que ha devuelto una consulta. Si en la tabla Fotos hay alguna fila que cumpla esas restricciones significa que hay fotos del animal.

Una observación: en SQL hay que poner entre comillas simples las cadenas de carácteres. Si es un número mejor déjalo sin comillas porque puede generarte errores

Re: Problema al consultar otra tabla

Avatar de Rebecca

Nivel 1 (3 posts)

* * * * * * *

1 Agradecimientos

#2 Offline Rebecca 22 jul 09 0 personas consideran útil este post.
Tira unos cuantos errores que antes no tenía:

Warning: mysql_fetch_array(): 15 is not a valid MySQL result resource in ./animal.php on line 44
Esa linea es
while($row2 = mysql_fetch_array($result))

y luego donde debía poner la imagen muestra otro:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in ./animal.php on line 96
Es la línea nueva del código que me has sugerido
if (mysql_num_rows($result) > 0

Re: Problema al consultar otra tabla

Avatar de Rebecca

Nivel 1 (3 posts)

* * * * * * *

1 Agradecimientos

#3 Offline Rebecca 23 jul 09 1 personas consideran útil este post.
Tras mucho romperme los "cuernos" he encontrado la errata. Gracias Statuesque de todas formas.

Por si alguien le pasa lo mismo, era simple: mysql_unbuffered_query() no puede usar mysql_num_rows() ni mysql_data_seek() por lo que hay que usar mysql_query. Yo estaba usando varios mysql_unbuffered_query y por eso patinaba.

Un saludo

Responder mensaje

Para poder participar debes ser un usuario registrado de PHP-Hispano. :: Deseo darme de alta en esta comunidad ::
Login / Password   

Temas relacionados

E Titulo Respuestas Última resp. Creado el Visitas Foro
Pregunta Ayuda ... no se quien mas me puede ayudar 4 21 may 04
por thessoro
mié, 19 may 04 (21:22)
por juan007
954 PHP
Pregunta ¿Como se puede realizar esto con un while? 4 25 ene 08
por Arias
jue, 24 ene 08 (00:55)
por marco_s
556 PHP

php-hispano.net 2002 - 2013 | XHTML 1.0
Datos Legales | Webmaster