Hola amigos del foro tengo un pequeño problemilla al tratar de ingresar un dato seleccionado con mi select dependiente a mi BD.
Este es mi fomulario donde selecciono donde hago uso del select
ModificarCcp.php
Código PHP:
<HTML>
<HEAD>
<script language="JavaScript" type="text/javascript" src="../AJAX/AjaxSelectDependientesCuentas.js">
/****************************************************************************
* LLAMA AL OBJETO AJAX
****************************************************************************/
</script>
</HEAD>
<BODY bgColor=#a2aace>
<?php
// Carga funcion de conexion a BD
require ("ConexionBD.php");
?>
<form name="nuevo_item_Ccp" action="" onSubmit="EnviarDatosDetalleCcp(); return false">
<tr valign="middle">
<td width="11%" height="24" class="punteado" id="fila_1">
<?php
include('ListaCuentaSelectDependientesConBD.php');
?>
</td>
<td width="89%" class="punteado" id="fila_2"><select class="combo" disabled="disabled" id="select_1" name="nomcuenta">
<option value="">Cuenta...</option>
</select></td></tr>
</form>
</body>
</html>
El objeto Ajax
AjaxSelectDependientesCuentas.js
Código PHP:
function nuevoAjax()
{
/* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por
lo que se puede copiar tal como esta aqui */
var xmlhttp=false;
try
{
// Creacion del objeto AJAX para navegadores no IE
xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
}//Fin del try
catch(e)
{
try
{
// Creacion del objet AJAX para IE
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}//Fin del try
catch(E) { xmlhttp=false; }
}//Fin del catch(e)
if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
return xmlhttp;
}//Fin function nuevoAjax()
function cargaContenidoCuentas()
{
var valor=document.getElementById("select_0").options[document.getElementById("select_0").selectedIndex].value;
if(valor==0)
{
// Si el usuario eligio la opcion "Elige", no voy al servidor y pongo todo por defecto
combo=document.getElementById("select_1");
combo.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Seleccione...";
combo.appendChild(nuevaOpcion); combo.disabled=true;
}//Fin del if
else
{
ajax=nuevoAjax();
ajax.open("GET", "../PUBLIC/SelectDependientesProcesoCuentas.php?seleccionado="+valor, true);
ajax.onreadystatechange=function()
{
if (ajax.readyState==1)
{
// Mientras carga elimino la opcion "Elige pais" y pongo una que dice "Cargando"
combo=document.getElementById("select_1");
combo.length=0;
var nuevaOpcion=document.createElement("option"); nuevaOpcion.value=0; nuevaOpcion.innerHTML="Cargando...";
combo.appendChild(nuevaOpcion); combo.disabled=true;
}//Fin del if
if (ajax.readyState==4)
{
document.getElementById("fila_2").innerHTML=ajax.responseText;
}//Fin del if
}//Fin function()
ajax.send(null);
}//Fin del else
}//Fin function cargaContenido()
SelectDependientesProcesoCuentas.php
Código PHP:
<?php
//conexion BD
include_once("DBManager.php");
function ValidaValor($parametro)
{
return TRUE;
}//Fin function validaValor($parametro)
$valor=$_GET["seleccionado"];
if(ValidaValor($valor))
{
// Genero la consulta trayendo todos los estados que correspondan al codigo de pais elegido
$consulta=mysql_query("SELECT codcuenta FROM cuentas WHERE codcuenta='$valor'");
// Comienzo a imprimir el select
echo "<select class='combo' id='select_1' name='codcuenta'>";
while($registro=mysql_fetch_row($consulta))
{
// Paso a HTML acentors y ñ para su correcta visualizacion
$registro[1]=htmlentities($registro[1]);
// Imprimo las opciones del select
echo "<option value='".$registro[0]."'>".$registro[1]."</option>";
}//Fin del while
echo "</select>";
}//Fin del if
?>
La tabla ...
--
-- Estructura de tabla para la tabla `cuentas`
--
CREATE TABLE `cuentas` (
`codcuenta` varchar(8) NOT NULL default '',
`nomcuenta` varchar(40) NOT NULL default '',
`tasa` double NOT NULL default '0',
`destino` varchar(8) NOT NULL default '',
`tipodestino` char(2) default NULL,
PRIMARY KEY (`codcuenta`)
) TYPE=InnoDB;
NOTA: El campo seleccionado que deseo ingresar a mi la tabla contabilizacioncp es codcuenta ... el campo nomcuenta es solo informativo ...
... Gracias por la ayuda que me puedan brindar.