Foros del Web » Programando para Internet » PHP »

Problema con Select Dependiente

Estas en el tema de Problema con Select Dependiente en el foro de PHP en Foros del Web. Hola, estoy haciendo un select dependiente pero cuando me accede al archivo php para hacer la consulta del 2º select a la Base de Datos ...
  #1 (permalink)  
Antiguo 19/04/2008, 20:27
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Problema con Select Dependiente

Hola, estoy haciendo un select dependiente pero cuando me accede al archivo php para hacer la consulta del 2º select a la Base de Datos me aparece este error:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\Gestor\Devolucion\DevolDistri\lista.ph p on line 8

El error me aparece en las 2 líneas que contienen mysql_fetch_assoc($tablaart). He buscado alguna solución porqué parece estar todo correcto, sin embargo la única solución que he encontrado es poner una @ delante del mysql_fetch_assoc, pero no me sirve de nada ya que se salta el warning y no hace lo que debe hacer, me muestra nada en el select. También he probado a cambiar mysql_fetch_assoc por mysql_fetch_array pero aparece el mismo error. A ver si me pueden echar un cable. Muchas grácias.

Código PHP:
<?php
include_once("../../BBDD/conexDBTMusik.php");
$Distri=$_POST['Distribuidor'];

$tablaart mysql_query("SELECT CONCAT (articulos.RefNom, articulos.RefNum) AS cadena FROM articulos INNER JOIN detallecompra ON detallecompra.RefNum=articulos.RefNum AND detallecompra.RefNom=articulos.RefNom INNER JOIN compras ON compras.Id_Compra=detallecompra.Id_compra AND compras.Id_Distribuidor='$Distri' WHERE articulos.Cantidad>0 AND articulos.Borrado='0'",$link);
$registrosello mysql_fetch_assoc($tablaart);
?>
<select name="articulos">
<option selected value="">&nbsp;</option> //la opcion por defecto esta
<?php do { ?>
<option><?php echo $registrosello['cadena']?></option>
<?php } while ($registrosello mysql_fetch_assoc($tablaart));?>
</select>
<?php mysql_free_result($tablaart); 
include_once(
"../../BBDD/desconexDBTMusik.php");
?>
  #2 (permalink)  
Antiguo 19/04/2008, 21:05
Avatar de SidP  
Fecha de Ingreso: febrero-2006
Ubicación: /etc/php.ini
Mensajes: 129
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: Problema con Select Dependiente

Hola Kilofafeure
simpre que hagas un query para cosas de errores le puedes agregar esto
Código:
$tablaart = mysql_query("SELECT CONCAT (articulos.RefNom, articulos.RefNum) AS cadena FROM articulos INNER JOIN detallecompra ON detallecompra.RefNum=articulos.RefNum AND detallecompra.RefNom=articulos.RefNom INNER JOIN compras ON compras.Id_Compra=detallecompra.Id_compra AND compras.Id_Distribuidor='$Distri' WHERE articulos.Cantidad>0 AND articulos.Borrado='0'",$link) or die( "MySql a dicho: " . mysql_error(););
agregale esa linea y dime que error te da....
Salu2
  #3 (permalink)  
Antiguo 19/04/2008, 21:13
Avatar de BrujoNic
Super Moderador
 
Fecha de Ingreso: noviembre-2001
Ubicación: Costa Rica/Nicaragua
Mensajes: 16.935
Antigüedad: 22 años, 5 meses
Puntos: 655
Re: Problema con Select Dependiente

Trasladado de BD a PHP. Favor no poner código de programación en BD.

Función de la sección de Base de Datos
__________________
La tecnología está para ayudarnos. No comprendo el porqué con esa ayuda, la gente escribe TAN MAL.
NO PERDAMOS NUESTRO LINDO IDIOMA ESPAÑOL
  #4 (permalink)  
Antiguo 20/04/2008, 05:57
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Problema con Select Dependiente

Grácias! el error que me aparece es este:

Parse error: syntax error, unexpected ';' in C:\wamp\www\Gestor\Devolucion\DevolDistri\lista.ph p on line 7

y la línea 7 es...
Código PHP:
$tablaart mysql_query("SELECT CONCAT (articulos.RefNom, articulos.RefNum) AS cadena FROM articulos INNER JOIN detallecompra ON detallecompra.RefNum=articulos.RefNum AND detallecompra.RefNom=articulos.RefNom INNER JOIN compras ON compras.Id_Compra=detallecompra.Id_compra AND compras.Id_Distribuidor='$Distri' WHERE articulos.Cantidad>0 AND articulos.Borrado='0'",$link) or die( "MySql a dicho: " mysql_error();); 
Yo no konsigo ver el ; inesperado...
  #5 (permalink)  
Antiguo 20/04/2008, 08:10
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Problema con Select Dependiente

Hola otra vez, creo que he visto mi error del ";" Había puesto esto

Código PHP:
$tablaart mysql_query("SELECT CONCAT (articulos.RefNom, articulos.RefNum) AS cadena FROM articulos INNER JOIN detallecompra ON 
detallecompra.RefNum=articulos.RefNum AND detallecompra.RefNom=articulos.RefNom INNER JOIN compras ON 
compras.Id_Compra=detallecompra.Id_compra AND compras.Id_Distribuidor='$Distri' WHERE articulos.Cantidad>0 AND 
articulos.Borrado='0'"
,$link) or die( "MySql a dicho: " mysql_error();); 
y tenía q poner esto otro

Código PHP:
$tablaart mysql_query("SELECT concat (articulos.RefNom, articulos.RefNum) AS cadena FROM articulos INNER JOIN detallecompra ON 
detallecompra.RefNum=articulos.RefNum AND detallecompra.RefNom=articulos.RefNom INNER JOIN compras ON 
compras.Id_Compra=detallecompra.Id_compra AND compras.Id_Distribuidor='$Distri' WHERE articulos.Cantidad>0 AND 
articulos.Borrado='0'"
,$link) or die( "MySql a dicho: " mysql_error()); 
esto ha sido error mio. Sin embargo ahora al ejecutar me aparece este error:

MySql a dicho: FUNCTION dbtmusik2.CONCAT does not exist

Me he dado cuenta que tenía un espacio en blanco entre concat y el (), al quitarlo no me da error pero tampoko me muestra el select dependiente, es como si no encontrase nada en la búsqueda, sin embargo si hago el select en el phpmyadmin si q me encuentra coincidencias...alguna idea de que puede ser?? Gracias otra vez.
  #6 (permalink)  
Antiguo 20/04/2008, 08:46
Avatar de SidP  
Fecha de Ingreso: febrero-2006
Ubicación: /etc/php.ini
Mensajes: 129
Antigüedad: 18 años, 2 meses
Puntos: 2
Re: Problema con Select Dependiente

Hola Kilofafeure
a veces tambien antes de mysql_fetch_array() conviene hacer un mysql_num_rows para ver si no hay resultados....
ahora
Código:
articulos.Borrado='0'
no soy experto en esto de consultas pero el 0 no deberia ir sin ' ' ?

Salu2
  #7 (permalink)  
Antiguo 20/04/2008, 08:53
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Problema con Select Dependiente

El problema es que si debería haber resultados, como he dicho si hago la consulta directamente en phpmyadmin me devuelve resultados. Si no hubiese ninguna coincidencia el segundo select debería aparecer en blanco, sin nada que poder escoger. El campo borrado lo que me marca es si es visible o no a la hora de hacer consultas, 0 visible 1 invisible.

Las comillas si deben ir, yo por lo menos siempre que es un valor numerico las pongo, igual que si kiero poner el valor de una variable, vease:

Código:
compras.Id_Distribuidor='$Distri'
Gracias igualmente, alguna idea de por qué no me muestra ningún resultado???

Última edición por Kilofafeure; 20/04/2008 a las 09:00
  #8 (permalink)  
Antiguo 20/04/2008, 09:24
 
Fecha de Ingreso: noviembre-2006
Mensajes: 117
Antigüedad: 17 años, 5 meses
Puntos: 0
Re: Problema con Select Dependiente

Ya esta solucionado el problema. El problema venia de la función ajax que no pasaba bien la variable con el id del distribuidor. Muchas gracias igualmente!!!
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 06:47.