Foros del Web » Programando para Internet » PHP »

Error_Formulario_PHP

Estas en el tema de Error_Formulario_PHP en el foro de PHP en Foros del Web. Hola de nuevo amigos de Foros del Web,paso a explicarles el problema que tengo: Tengo un Formulario que esta formado por 5 campos:Tipo,Subtipo,Detalle,Monto,Observacion. Los tres ...
  #1 (permalink)  
Antiguo 21/09/2010, 19:24
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Error_Formulario_PHP

Hola de nuevo amigos de Foros del Web,paso a explicarles el problema que tengo: Tengo un Formulario que esta formado por 5 campos:Tipo,Subtipo,Detalle,Monto,Observacion. Los tres primeros son combo box. De ellos les voy a hablar

Cuando yo selecciono una opcion de mi primer combo box(Tipo) deberia mostrarme(dependiendo de la opcion que escoga en el primer combo) una serie de opciones en mi combo Subtipo.. Pero me sale el sgte error:

Código:
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 '' at line 4
Ahora, lo que he hecho es imprimir la variable que almacena la consulta para saber con mas detalle en que parte me sale el error,y cuando hago eso me arroja lo sgte:
Código:
select d2.movimientoClase_id,d2.movimientoClase_nombre from movimientoclase d1 INNER JOIN movimientoclase d2 ON d1.movimientoClase_id=d2.movimientoClase_filiacion where d2.movimientoClase_tipo = 'OUT' and d2.movimientoClase_filiacion = 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 '' at line 4
A continuacion les coloco el codigo:

Formulario:

Código:
<tr cellspacing="0" class="ewTable">
				<form action="#" method="post" onsubmit="return buscarcliente()">
				<td width="130" class="ewTableHeader">Tipo : </td>
				<td colspan="3"><select  id="movimientotipo" onchange='listarSubtipoEgresos()'>				
					<?php foreach($listaTipoEgreso as $egresoTipo) :?><option  value="<?php echo $egresoTipo->getMovimientoClase_id() ?>"><?php echo $egresoTipo->getMovimientoClase_nombre()?></option><?php endforeach; ?>
					</select>
				
				<!--<a href="clientelistop.php?width=400&height=200" rel="sexylightbox">ss</a>-->
				
				
				</td>
				</form>
			</tr>
			
			<!--<tr>
				<td class="ewTableHeader">Campo 1 : </td>
				<td colspan="3"><select  id="area" onchange='mostrar_conceptos()' name="concepto">				
					<?php foreach($array_categoria as $a) :?><option  value="<?php echo $a['id']?>"><?php echo $a['nombre'] ?></option><?php endforeach;?>
					</select>
				</td>
			</tr>-->
			<tr>
				<td class="ewTableHeader">Sub-Tipo : </td>
				<td colspan="3"><select  id="movimientosubtipo" onchange='listarDetalleEgresos()'>				
					<?php foreach($listarSubtipoEgresos as $egresoSubtipo) :?><option  value="<?php echo $egresoSubtipo->getMovimientoClase_id() ?>"><?php echo $egresoSubtipo->getMovimientoClase_nombre()?></option><?php endforeach; ?>
					</select>
				</td>
			</tr>
			<tr>
				<td class="ewTableHeader">Detalle : </td>
				<td colspan="3"><select  id="movimientodetalle" name="movimientodetalle">
					<?php foreach($listarDetalleEgresos as $egresoDetalle) :?><option  value="<?php echo $egresoDetalle->getMovimientoClase_id() ?>"><?php echo $egresoDetalle->getMovimientoClase_nombre()?></option><?php endforeach; ?>
					</select>
				</td>
			</tr>
Funcion listarSubtipoEgresos() (javascript)
Código:
function listarSubtipoEgresos()
{
	movimientotipo=$("#movimientotipo").attr("value");
	$.ajax({ type: "GET", url: "Controlador/MovimientoClase/listarSubtipoEgresos.php?movimientotipo="+movimientotipo,
	data: null,	  success: function(data){ 
	document.getElementById("movimientosubtipo").parentNode.innerHTML=data;
	}	});
}
listarSubtipoEgresos.php

Código:
<?php	
session_start();
require_once("../../ewcfg7.php");
include_once DIR_APLICACION."Logic/MovimientoClaseLogic.php";

$listarSubtipoEgresos=MovimientoClaseLogic::listarSubtipoEgresosTipo($_GET["tipoegresoid"]);
?>

<select  id="movimientosubtipo" onchange='listarDetalleEgresos()'>
<?php if(count($listarSubtipoEgresos)>0) { ?>
<?php foreach($listarSubtipoEgresos as $egresoSubtipo) :?><option  value="<?php echo $egresoSubtipo->getMovimientoClase_id() ?>"><?php echo $egresoSubtipo->getMovimientoClase_nombre()?></option><?php endforeach; ?>
<?php } else { ?> <option value="0">No Existen Subtipos</option> <?php } ?>
</select>
Funcion listarDetalleEgresos() (javascript)

Código:
function listarDetalleEgresos()
{
	movimientosubtipo=$("#movimientosubtipo").attr("value");
	$.ajax({ type: "GET", url: "Controlador/MovimientoClase/listarDetalleEgresos.php?movimientosubtipo="+movimientosubtipo,
	data: null,	  success: function(data){ 
	document.getElementById("movimientodetalle").parentNode.innerHTML=data;
	}	});
}
listarDetalleEgresos.php

Código:
<?php	
session_start();
require_once("../../ewcfg7.php");
include_once DIR_APLICACION."Logic/MovimientoClaseLogic.php";

$listarDetalleEgresos=MovimientoClaseLogic::listarDetalleEgresosSubtipoTipo($_GET["tipoegresoid"]);
?>

<select  id="movimientodetalle" name="movimientodetalle">
<?php if(count($listarDetalleEgresos)>0) { ?>
<?php foreach($listarDetalleEgresos as $egresoDetalle) :?><option  value="<?php echo $egresoDetalle->getMovimientoClase_id() ?>"><?php echo $egresoDetalle->getMovimientoClase_nombre()?></option><?php endforeach; ?>
<?php } else { ?> <option value="0">No Existen Detalles</option> <?php } ?>
</select>
MovimientoClaseLogic.php: archivo donde realizo las consultas. La consulta donde me indica el error es aquella que se encuentra en el metodo public static function listarSubtipoEgresosTipo($tipoegresoid).Aqui les pongo los metodos que contienen las tres consultas que me van a permitir mostrar los datos en los combos que he mencionado anteriormente. (Les pusiera todo el codigo pero me sale el error "el texto que has ingresado es muy largo"(este es error de la pagina foros del web,ya que no permite muchos caracteres ok)

Código:
<?php
//namespace Logic;
require_once(DIR_APLICACION."bdconexion.php");
require_once(DIR_APLICACION."Entidad/MovimientoClase.php");

//use Entidad\MovimientoClase;

class MovimientoClaseLogic
{

public static function listarTipoEgresos(){
		$sql="select movimientoClase_id,movimientoClase_nombre from movimientoclase
			  where movimientoClase_tipo = 'OUT' and movimientoClase_filiacion IS NULL";
		//conexion::getInstance()->consulta("select id,nombre from movimiento_tipo where nombre = 'Servicios' or nombre = 'Administrativos' or nombre = 'Gastos de Representacion' or nombre = 'Bancos' or nombre = 'Planilla' or nombre = 'Impuestos'");
		$res = bdconexion::getInstance()->consulta($sql);
		$listarTipoEgresos = array();
			if(count($res >0)){
                            foreach($res as $item):
                                    $movimientoClase = new MovimientoClase();
                                    $movimientoClase->setMovimientoClase_id($item[0]);
                                    $movimientoClase->setMovimientoClase_nombre($item[1]);
                                    $listarTipoEgresos[]=$movimientoClase;
                            endforeach;
            }
            return $listarTipoEgresos;
	}
	
	
	public static function listarSubtipoEgresosTipo($tipoegresoid)
	{
		$sql="select d2.movimientoClase_id,d2.movimientoClase_nombre 
			 from movimientoclase d1 INNER JOIN 
			 movimientoclase d2 ON d1.movimientoClase_id=d2.movimientoClase_filiacion 
			 where d2.movimientoClase_tipo = 'OUT' and d2.movimientoClase_filiacion = $tipoegresoid";
		echo "$sql";//aqui hago la impresion de mi consulta
		$res = bdconexion::getInstance()->consulta($sql);
		
		$listarSubtipoEgresos = array();
		if(count($res > 0)) 
		{
			foreach($res as $item):
				$movimientoClase = new MovimientoClase();
				$movimientoClase->setMovimientoClase_id($item[0]);
				$movimientoClase->setMovimientoClase_nombre($item[1]);
				$listarSubtipoEgresos[]=$movimientoClase;
			endforeach;	
		}
		return $listarSubtipoEgresos;
		
	}
	
	public function listarDetalleEgresosSubtipoTipo($tipoegresoid)
	{
		$sql="select d2.movimientoClase_id,d2.movimientoClase_nombre 
			 from movimientoclase d1 INNER JOIN 
			 movimientoclase d2 ON d1.movimientoClase_id=d2.movimientoClase_filiacion 
			 where d2.movimientoClase_tipo = 'OUT' and d2.movimientoClase_filiacion = $tipoegresoid";
		$res = bdconexion::getInstance()->consulta($sql);
		
		$listarDetalleEgresos = array();
		if(count($res > 0)) 
		{
			foreach($res as $item):
				$movimientoClase = new MovimientoClase();
				$movimientoClase->setMovimientoClase_id($item[0]);
				$movimientoClase->setMovimientoClase_nombre($item[1]);
				$listarDetalleEgresos[]=$movimientoClase;
			endforeach;	
		}
		return $listarDetalleEgresos;
	}

}
?>
}
Espero que me puedan ayudar. Por favor
  #2 (permalink)  
Antiguo 21/09/2010, 20:38
Avatar de De_la_Cuesta_13  
Fecha de Ingreso: abril-2009
Ubicación: Cali, Colombia.
Mensajes: 265
Antigüedad: 15 años
Puntos: 14
Respuesta: Error_Formulario_PHP

Para saber exactamente qué sucede con las consultas, deberías probar cada una en consola o PHPMyAdmin. Lo otró, si no estás trabajando campo numéricos
Código PHP:
d2.movimientoClase_filiacion $tipoegresoid 
deberías poner entre comilla simple las variables
Código PHP:
d2.movimientoClase_filiacion '$tipoegresoid' 
__________________
Sólo quien nunca nada hace, nunca se equivoca.
  #3 (permalink)  
Antiguo 22/09/2010, 10:28
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error_Formulario_PHP

Hola De_la_Cuesta_13,probè colocandole las comillas simples a $tipoegresoid pero igual,me sigue saliendo error.

¿Otra cosa q pueda hacer? Ayudenme
  #4 (permalink)  
Antiguo 22/09/2010, 10:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error_Formulario_PHP

Cita:
Iniciado por miguelangel23 Ver Mensaje
Hola De_la_Cuesta_13,probè colocandole las comillas simples a $tipoegresoid pero igual,me sigue saliendo error.

¿Otra cosa q pueda hacer? Ayudenme
podrías imprimir la consulta antes de ejecutar y colocar el resultado en este post?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 22/09/2010, 16:57
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error_Formulario_PHP

Hola pateketrueke, el resultado q me da es el siguiente:
Código:
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 '' at line 4
Es el mismo error que mencionè al inicio..Porque saldrà??
  #6 (permalink)  
Antiguo 22/09/2010, 17:06
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error_Formulario_PHP

esa no es la consulta, ese es un mensaje de error...

por favor, lo que necesitas hacer es imprimir la consulta antes de ejecutarla, para que así compruebes por ti mismo si la consulta esta bien formulada....

que, por supuesto algo anda mal, por eso el error que comentas desde un principio!!

lo repito una ves mas, debes imprimir la consulta... ¿se entiende?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 22/09/2010, 18:43
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error_Formulario_PHP

pateketrueke, sino fuera mucha molestia,dime,como puedo hacer para imprimir la consulta antes de ejecutarla?? no entiendo muy bien eso??

Te agradeceria bastante
  #8 (permalink)  
Antiguo 23/09/2010, 08:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error_Formulario_PHP

Cita:
Iniciado por miguelangel23 Ver Mensaje
Ahora, lo que he hecho es imprimir la variable que almacena la consulta para saber con mas detalle en que parte me sale el error,y cuando hago eso me arroja lo sgte:
Código:
select d2.movimientoClase_id,d2.movimientoClase_nombre from movimientoclase d1 INNER JOIN movimientoclase d2 ON d1.movimientoClase_id=d2.movimientoClase_filiacion where d2.movimientoClase_tipo = 'OUT' and d2.movimientoClase_filiacion =
lo siento, revisando vi que ya habías impreso la consulta, ahora si analizas como esta elaborada falta una valor en la última clausula:
Cita:
d2.movimientoClase_filiacion = ?
me imagino que ahí debe estar alguna clave, al menos es lo que parece... (:
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #9 (permalink)  
Antiguo 23/09/2010, 17:35
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error_Formulario_PHP

Hola pateketrueke, con respecto a la consulta que mencionas,yo si le he asignado un valor a la ultima cláusula....

Código:
d2.movimientoClase_filiacion = $tipoegresoid
Ahora,asignandole ese valor, me sale el siguiente error:
Código:
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 '' at line 4
Para mas detalle te voy a escribir la consulta completa,esta se encuentra en el metodo listarSubtipoEgresosTipo(todo el codigo php esta al inicio,cuando escribi por primera vez mi problema):

Código:
$sql="select d2.movimientoClase_id,d2.movimientoClase_nombre 
			 from movimientoclase d1 INNER JOIN 
			 movimientoclase d2 ON d1.movimientoClase_id=d2.movimientoClase_filiacion 
			 where d2.movimientoClase_tipo = 'OUT' and d2.movimientoClase_filiacion = $tipoegresoid";
¿Que podrá ser ? Me serviria de bastante tu ayuda. Si quieres revisar todo el codigo,este esta al inicio de este post,cuando publiqué por primera vez mi problema.
  #10 (permalink)  
Antiguo 23/09/2010, 17:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error_Formulario_PHP

a ver, no se si entendiste....

si, pones una variable... pero es obvio que no trae ningún valor pues en la consulta no sale!!

¿y sabes como te das cuenta si realmente hay un valor?

pues imprimiendo la consulta antes de ejecutarla...

¿de verdad no te has dado cuenta?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #11 (permalink)  
Antiguo 23/09/2010, 18:33
Avatar de memoadian
Colaborador
 
Fecha de Ingreso: junio-2009
Ubicación: <?php echo 'México'?>
Mensajes: 3.696
Antigüedad: 14 años, 10 meses
Puntos: 641
Respuesta: Error_Formulario_PHP

cuando mandes la información imprime la variable $sql

para que te imprima los valores y no las variables que tiene.

Código PHP:
Ver original
  1. <?php echo $sql;?>
;)
  #12 (permalink)  
Antiguo 25/09/2010, 14:13
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error_Formulario_PHP

Hola memoadian,imprimiendo de la forma que mencionas,me sigue saliendo el mismo mensaje de error que he mencionado antes
el problema de hecho es la variable $tipoegresoid,porque cuando imprimo me muestra la consulta q he realizado y despues del igual donde he puesto la variable
$tipoegresoid,me muestra el error mencionado.

De esta manera:

Código:
select d2.movimientoClase_id,d2.movimientoClase_nombre from movimientoclase d1 INNER JOIN movimientoclase d2 ON d1.movimientoClase_id=d2.movimientoClase_filiacion where d2.movimientoClase_tipo = 'OUT' and d2.movimientoClase_filiacion = 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 '' at line 4
Que podrà ser ??
Ya revise el codigo,y no se donde esta el error
  #13 (permalink)  
Antiguo 25/09/2010, 14:16
 
Fecha de Ingreso: diciembre-2009
Mensajes: 82
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Error_Formulario_PHP

Hola pateketrueke,gracias por la ayuda, sinceramente no me habia dado cuenta,ahora bien,he revisado el codigo y, te voy a ser sincero, no se donde esta error

Espero que me puedas ayudar. Gracias.
  #14 (permalink)  
Antiguo 25/09/2010, 14:26
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error_Formulario_PHP

si el SQL es correcto, mira aqui:
Código PHP:
$sql="select d2.movimientoClase_id,d2.movimientoClase_nombre 
             from movimientoclase d1 INNER JOIN 
             movimientoclase d2 ON d1.movimientoClase_id=d2.movimientoClase_filiacion 
             where d2.movimientoClase_tipo = 'OUT' and d2.movimientoClase_filiacion = $tipoegresoid"

segun el error, la ultima variable $tipoegresoid no trae consigo ningun valor, por ende no coloca nada...
Cita:
select d2.movimientoClase_id,d2.movimientoClase_nombre from movimientoclase d1 INNER JOIN movimientoclase d2 ON d1.movimientoClase_id=d2.movimientoClase_filiacion where d2.movimientoClase_tipo = 'OUT' and d2.movimientoClase_filiacion =
dicha variable es la que debes depurar...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: Ninguno
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 08:09.