Foros del Web » Programando para Internet » PHP »

no pasa variable

Estas en el tema de no pasa variable en el foro de PHP en Foros del Web. Hola, ¿Que tal? Tengo el siguiente código en form: para pasar el mes y el año por el cual efectuar un proceso de consulta. Código: ...
  #1 (permalink)  
Antiguo 10/03/2007, 17:11
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 6 meses
Puntos: 0
no pasa variable

Hola, ¿Que tal?

Tengo el siguiente código en form: para pasar el mes y el año por el cual efectuar un proceso de consulta.
Código:
 
<?
$sql = " SELECT mm FROM inv_mm ";
$result = mysql_query($sql); 
?>
<div><select name="mm_proceso" />
<? while ($row = mysql_fetch_array($result)){ ?>
<option value="<? echo "$row[mm_proceso]" ?>"  selected><? echo "$row[mm]" ?> </option><? } ?></select></div>
despues en archivo que procesa la informacion tengo este otro codigo
Código:
echo "$_POST[mm_proceso]";

$sql = " SELECT mm_compra, aa_compra, id_documento, costo FROM inv_compras WHERE mm_compra=$_POST[mm] and aa_compra=$_POST[aa] and id_documento='1' ";
$result = mysql_query($sql);
$contador_c1=0;

while ($row = mysql_fetch_array($result))
{
$valor_bruto_c1=$row['costo']+$row['costo'];
$valor_iva_c1=$valor_bruto_c1*0.19;
$valor_neto_c1=$valor_bruto_c1-$valor_iva_c1;
$contador_c1+=1;
}
lo que trato de hacer es que me liste, todas las facturas emitidas en el mes y año seleccionado en el formulario, pero me da el error "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in", he revisado todos los nombres y no encuentro que alla alguno mal escrito, que es lo que pasa frecuentemente en este error.

Por otra parte el echo que sale al principio del código es para comprobar el valor de la variable del formulario, pero no me entrega este valor,

¿Como hago para solucionar este problema?

De antemano Gracias
  #2 (permalink)  
Antiguo 10/03/2007, 17:42
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: no pasa variable

Que haces? probar :)
Código PHP:
echo "SQL: " $sql;
$result mysql_query($sql) or die(mysql_error()); 
Modificando esto, al correr tu script te mostrara si hay errores en la consulta SQL. Tambien te mostrara la consulta para que veas como queda con las variables...
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #3 (permalink)  
Antiguo 10/03/2007, 17:50
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: no pasa variable

Gracias por responder

Solo sale esto.
SQL: Query was empty
  #4 (permalink)  
Antiguo 10/03/2007, 18:01
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: no pasa variable

Verifica tu codigo, me parece medio raro que luego de esta linnea:

echo "SQL: " . $sql;

solo te muestre el error... pues antes del error deberia mostrarte la cadena sql, algo como:

SELECT mm_compra, aa_compra, id_documento, costo FROM inv_compras WHERE mm_compra= and aa_compra= and id_documento='1'

Verifica tambien que la consulta sea correcta, que existan resultados La manera mas sencilla es, si tenes instalado phpMyAdmin, coloca esta misma consulta con los valores que creas convenientes en la parte de consultas y fijate si te arroja resultados.
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #5 (permalink)  
Antiguo 10/03/2007, 18:08
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: no pasa variable

en phpMyAdmin me da el siguiente error

"#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '$sql = " SELECT mm_compra, aa_compra, id_documento, costo FROM inv_compras WHERE' at line 1"
  #6 (permalink)  
Antiguo 10/03/2007, 18:20
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: no pasa variable

El formulario de consultas de phpMyAdmin no entiende php, asi que va a ser mejor que coloques la consulta limpia y con valores reales, nada de variables php...

'$sql = " SELECT mm_compra, aa_compra, id_documento, costo FROM inv_compras WHERE' at line 1"

Solo debes colocar la consulta:

SELECT mm_compra, aa_compra,....etc etc etc
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #7 (permalink)  
Antiguo 10/03/2007, 18:38
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: no pasa variable

hice lo que me recomendastes, y puse la consulta limpia, quedó así:

SELECT mm_compra, aa_compra, id_documento, costo FROM inv_compras WHERE mm_compra="Enero" AND aa_compra="2007" AND id_documento='1'

y funciona bien, entonces el problema es que las variables pasadas por el formulario no las está leyendo, por tanto asumo que las estoy pasando mal.
  #8 (permalink)  
Antiguo 10/03/2007, 18:55
 
Fecha de Ingreso: octubre-2006
Ubicación: Valparaiso Chile
Mensajes: 228
Antigüedad: 17 años, 6 meses
Puntos: 0
Re: no pasa variable

Gracias por la ayuda prestada.

Problema solucionado, yo estaba leyendo el mes y el año desde una tabla y solo habia que seleccionarlo, pero cambie por campos en los que el usuario ingresara el mes y el año y eso soluciono en parte el problema, ya que comenzó a pasar las variables, y una vez que las variables eran correctas habia que ponerlas en la consulta entre comillas simples, quedando de esta forma,

$sql = " SELECT mm_compra, aa_compra, id_documento, costo FROM inv_compras WHERE mm_compra='$_POST[mm_proceso]' and aa_compra='$_POST[aa_proceso]' and id_documento='1' ";

Gracias nuevamente
  #9 (permalink)  
Antiguo 10/03/2007, 18:57
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: no pasa variable

Cita:
Iniciado por claudio_hbl Ver Mensaje
y funciona bien, entonces el problema es que las variables pasadas por el formulario no las está leyendo, por tanto asumo que las estoy pasando mal.
Exacto, y para verificar esto ultimo es que te pedi que agregues esto:

$sql = "SELECT mm_compra, aa_compra, id_documento, costo FROM inv_compras WHERE mm_compra=$_POST[mm] and aa_compra=$_POST[aa] and id_documento='1'";
echo "SQL: " . $sql;

Esto te deberia mostrar la consulta ya formada con valores y todo, similar a lo que utilizaste en phpMyAdmin....

SELECT mm_compra, aa_compra, id_documento, costo FROM inv_compras WHERE mm_compra="Enero" AND aa_compra="2007" AND id_documento='1'

Un saludo.
__________________
Federico.

Mi página: www.jourmoly.com.ar
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 21:18.