saludos a todos
tengo la siguiente calamidad:
tengo dos combos dependientes de ciudades y oficinas. estos funcionan perfectamente, pero tengo un input text que en el evento onblur=submit(); actualiza pagina y realiza una consulta a mysql dependiendo del codigo de la oficina y me trae los datos de ciudad y oficina. el problema radica en que cuando obtengo dichas variables, quiero que se ubiquen instantaneamente en el option correspondiente dentro de los select de ciudad y oficina. con el codigo que tengo a veces lo ubica, no funciona con todas las opciones, pero aunque lo ubica, el valor del post sigue siendo la anterior.
Código PHP:
Ver original<b>CODIGO: </b><input name=codigo placeholder="ejm : 248510" type="text" onblur="submit();" style="width:25%" >
<?php
$modificar = array( '__'=>' - ', '_'=>' '); $modificar1 = array( ' - '=>'%%', ' '=>'%'); if(isset($_POST['codigo'])) {
if ($_POST['codigo'] != "")
{ $codigo = $_POST['codigo'];
$tipo = $_POST['tipo'];
$query = mysqli_query($link,"SELECT ciudad, nombre FROM `oficina` WHERE entidad=14 AND codigo='$codigo' AND tipo='$tipo'"); if($contar > 0){
if(substr($row['ciudad'],-1,1)=="_"){ $val_ciu = strtr(substr($row['ciudad'],0,-1), $modificar); }else{
$val_ciu = strtr($row['ciudad'], $modificar); }
if(substr($row['nombre'],-1,1)=="_"){ $val_ofi = strtr(substr($row['nombre'],0,-1), $modificar); }else{
$val_ofi = strtr($row['nombre'], $modificar); }
}else{
$val_ciu = "";
$val_ofi = "";
switch ($tipo){
case "C": $seleccion = "EL CAJERO";
break;
case "O": $seleccion = "LA OFICINA";
break;
case "E": $seleccion = "EL EDIFICIO";
break;
}
echo "<script> window.alert(' NO SE ENCONTRÓ $seleccion. POR FAVOR, INTENTELO NUEVAMENTE. '); </script>";
}
}else{
$val_ciu = "";
$val_ofi = "";
}
} ?>
<select name=ciudad onchange=submit(); style='width:50%'>
<option value='s' disabled>Seleccione</option>
<option></option><?php
$consulta2=mysqli_query($link,"SELECT ciudad FROM `oficina` WHERE estado='A' AND entidad=14 GROUP BY ciudad ORDER BY ciudad"); while ($fila2=mysqli_fetch_array($consulta2)) // se reemplazan _ por espacios para que no se visualicen en el select. {
if(substr($fila2['ciudad'],-1,1)=="_"){ //valida si el ultimo caracter de ciudad es _ para hacer la conversion de espacios. $val_ciudad = strtr(substr($fila2['ciudad'],0,-1), $modificar); }else{
$val_ciudad = strtr($fila2['ciudad'], $modificar); }
?>
<option
<?php if(isset($_POST['ciudad'])) { if($val_ciu==$val_ciudad){ ?>selected
<?php } elseif($_POST['ciudad']==$val_ciudad) { ?>selected<?php } } ?>>
<?php echo $val_ciudad;?></option><?php
} ?>
</select>
<td>
<select name=ciudad onchange=submit(); style='width:50%'>
<option value='s' disabled>Seleccione</option>
<option></option><?php
$consulta2=mysqli_query($link,"SELECT ciudad FROM `oficina` WHERE estado='A' AND entidad=14 GROUP BY ciudad ORDER BY ciudad"); while ($fila2=mysqli_fetch_array($consulta2)) // se reemplazan _ por espacios para que no se visualicen en el select. {
if(substr($fila2['ciudad'],-1,1)=="_"){ //valida si el ultimo caracter de ciudad es _ para hacer la conversion de espacios. $val_ciudad = strtr(substr($fila2['ciudad'],0,-1), $modificar); }else{
$val_ciudad = strtr($fila2['ciudad'], $modificar); }
?>
<option
<?php if(isset($_POST['ciudad'])) { if($val_ciu==$val_ciudad){ ?>selected
<?php } elseif($_POST['ciudad']==$val_ciudad) { ?>selected<?php } } ?>>
<?php echo $val_ciudad;?></option><?php
} ?>
</select>
</td>