Tengo 3 selects que dependen de lo que se seleccione en el primero para mostrar los datos, eso me funciona muy bien, el problema es cuando quiero insertarlos a la base de datos, solo inserta los ID de las opciones y no inserta el nombre.
Estos son los codigos que tengo:
Este archivo se llama conDDLDependencia y es el que arma el primer select:
Código PHP:
<?php
include_once("DBManager.php");
$con = new DBManager;
if($con->conectar()==true)
{
$query="SELECT * from tbramo order by nomRamo";
$result = mysql_query ($query);
echo "<select name=txtRamo id=ramo style=width:200px;>";
echo"<option value=\"0\">Selecciona</option> ";
while($nt=mysql_fetch_array($result)){
echo "<option value=$nt[idRamo]>$nt[nomRamo]</option>";
}
echo "</select>";
}
?>
Código PHP:
<?php
include_once("DBManager.php");
$con = new DBManager;
if($con->conectar()==true)
{
function getDependencias(){
$sql="select * from tbdependencia where idRamo=".$_POST["idramo"];
$result=mysql_query($sql);
$resp="";
if($result){
if(mysql_num_rows($result)>0){
$resp.="<option value=''> Seleccione Dependencia </option>";
while($r=mysql_fetch_object($result)){
$resp.="<option value='".$r->idDepen."'>".$r->nombDepen."</option>";
}
}else $resp.="<option value=''> Seleccione Dependencia </option>";
}else $resp="ERROR";
echo $resp;
}
function getDepartamentos(){
$sql="select * from tbdepartamento where idDepen=".$_POST["iddependencia"];
$result=mysql_query($sql);
$resp="";
if($result){
if(mysql_num_rows($result)>0){
$resp.="<option value=''> Seleccione departamento </option>";
while($r=mysql_fetch_object($result)){
$resp.="<option value='".$r->idDepto."'>".$r->nomDepto."</option>";
}
}else $resp="<option value=''> Seleccione departamento </option>";
}else $resp="ERROR";
echo $resp;
}
if($_POST){
switch($_POST["tarea"]){
case "listDependencia":getDependencias();
break;
case "listDepartamento":getDepartamentos();
break;
}
}
}
?>
Código:
En la BD estan de la siguiente manera:$(document).ready(function(){ $("#ramo").change(function(){ $("#dependencia").empty().attr("disabled","disabled"); $("#departamento").empty().attr("disabled","disabled"); if($(this).val()!=""){ var dato=$(this).val(); $("#imgdependencia").show(); $.ajax({ type:"POST", dataType:"html", url:"action.php", data:"idramo="+dato+"&tarea=listDependencia", success:function(msg){ $("#dependencia").empty().removeAttr("disabled").append(msg); $("#imgdependencia").hide(); } }); }else{ $("#dependencia").empty().attr("disabled","disabled"); $("#departamento").empty().attr("disabled","disabled"); } }); $("#dependencia").change(function(){ if($(this).val()!=""){ var dato=$(this).val(); $("#imgdepartamento").show(); $.ajax({ type:"POST", dataType:"html", url:"action.php", data:"iddependencia="+dato+"&tarea=listDepartamento", success:function(msg){ $("#departamento").empty().removeAttr("disabled").append(msg); $("#imgdepartamento").hide(); } }); }else{ $("#departamento").empty().attr("disabled","disabled"); } }); });
tbramo:
idRamo, nomRamo.
tbdependencia:
idDepen, idRamo, nombDepen
tbdepartamento:
idDepto, idRamo, idDepen, nomDepto
Al momento de insertar los selects se inserta solo el ID, la comparacion para que puedan salir los datos en los selects dependientes es por medio del ID, y si la hago por medio del nombre no me muestra ningun dato.
![lloron](http://static.forosdelweb.com/fdwtheme/images/smilies/chillando.png)
Espero haberme explicado bien, es mi primera vez por aqui
![U_U](http://static.forosdelweb.com/fdwtheme/images/smilies/nods.png)