![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
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:
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: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
Código:
A continuacion les coloco el codigo: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
Formulario:
Código:
Funcion listarSubtipoEgresos() (javascript)<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>
Código:
listarSubtipoEgresos.phpfunction 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; } }); }
Código:
Funcion listarDetalleEgresos() (javascript)<?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>
Código:
listarDetalleEgresos.phpfunction 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; } }); }
Código:
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)<?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>
Código:
Espero que me puedan ayudar. Por favor <?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; } } ?> }