Foros del Web » Programando para Internet » PHP »

ayuda con select y su actualizacion

Estas en el tema de ayuda con select y su actualizacion en el foro de PHP en Foros del Web. hola me ocurre el siguiente problema y quisiera saber si existe alguna solucion: pasa lo siguiente tengo 2 select y funcionan bien lo unico malo ...
  #1 (permalink)  
Antiguo 21/07/2009, 10:03
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 14 años, 10 meses
Puntos: 0
ayuda con select y su actualizacion

hola me ocurre el siguiente problema y quisiera saber si existe alguna solucion:
pasa lo siguiente tengo 2 select y funcionan bien lo unico malo es que al ejecutar el segundo select me actualiza la pagina entera y el select anterior me borra el dato seleccionado lo que yo quiero es hacer q solo se actualiza ese select y no otro, se podra hacer esto? aqui adjunto el php de ante mano muchas gracias :D
Código PHP:

<link type="text/css" rel="stylesheet" href="css/buscar.css" />



<form method="POST" action="probando12.php">
<table><tr>
<td>
Tipo de especie:</td><td> 
             <input type="text" name="Tipo" /> 
            <input type="submit" value="Buscar" /></td></tr>
            
            </form>
            
            
<tr><td>                <form name="form1" id="form1" method="POST" >
Buscar por  servicio: 
<?
        
        
        $centro
[0]= "Maquinariasdelaproduccion";
        
$centro[1]="Maquinas y Equipos";
        
$centro[2]="Mobiliario y Otros";
        
$centro[3]="Equipos Computaciones y Perifericos";
        
$centro[4]="Vehiculos";
        
$centro[5]="Obras de infraestuctura";
        
$centro[6]="agitador";
        
        if((isset(
$_POST['sele'])) && (!empty($_POST['sele'])) ){
    
$sele $_POST['sele'];
    
$Out $_POST['sele'];
    }else{
    
$sele =  "";
    
$Out "";
    }
    
     echo 
"<select onChange=\"document.form1.submit()\" name=\"sele\">
    <option >-Seleccionar</option>"
;
    foreach(
$centro as $rows => $fielda)
    echo (
$fielda == $sele )?"<option value=\"$fielda\" selectede=\"selectede\">$fielda</option>":"<option value=\"$fielda\">$fielda</option>";
    echo 
"</select>";
        
    if(    
$busca $_POST['sele']){
 switch(
$busca) {
    case  
Maquinariasdelaproduccion:
     
$con mysql_connect("localhost","root","");
mysql_select_db("probar"$con);
    
$result=mysql_query("select nombre_maq from maquinarias_de_la_produccion");
//Llenas el combo
if ($row mysql_fetch_array($result)){    
echo 
'<select name= "sele" >';
do {
      echo 
'<option value= "<?=$Out?>">'.$row["nombre_maq"].'</option>';

} while (
$row mysql_fetch_array($result)); 
echo 
'</select>';

}
      
      break;
    case 
Mequipos:
    case 
Motros:
      echo 
"2 o 3";
      break;
    case 
Ecomputaciones:
    case 
Vehiculos:
      echo 
"4 o 5";
      break;
      case 
Obras:
    default:
      echo 
"No esta entre 1 y 5";
  }
  }
 
        
?>
        </form>
</td>
</tr>
<tr><td>
</tr></td>
<tr><td>


</td>
</tr>
</table>
    <form name="form2" id="form2" action="<?=$_SERVER['php_self']?>" method="post">
<?php
    $pais
[0] = "Colom";
    
$pais[1] = "Peru";
    
$pais[2] = "Mex";
    
$pais[3] = "chile";

    
    if((isset(
$_POST['sel'])) && (!empty($_POST['sel'])) ){
    
$sel $_POST['sel'];
    
$Oute $_POST['sel'];
    }else{
    
$sel =  "";
    
$Oute "";
    }
    
    echo 
"<select onChange=\"this.form.submit()\" name=\"sel\" >
    <option >-Seleccionar</option>"
;
    foreach(
$pais as $rows => $field)
    echo (
$field == $sel )?"<option value=\"$field\" selected=\"selected\">$field</option>":"<option value=\"$field\">$field</option>";
    echo 
"</select>";
    
?>

<input type="text" name="OutInput" value="<?=$Oute?>"/>

</form>

Última edición por shynta1; 21/07/2009 a las 11:15
  #2 (permalink)  
Antiguo 21/07/2009, 10:47
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 4 meses
Puntos: 21
Respuesta: ayuda con select y su actualizacion

onChange="this.form.submit()"

Que hace esa funcion? creo que eso es lo que te esta complicando... y esto no va en este foro, php se ejecuta desde el lado del servidor, en todo caso iria en el foro de html o javascript, creo.
  #3 (permalink)  
Antiguo 21/07/2009, 11:14
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

el onchange se supone que envia la informacion del select de inmediato al seleccion un item y ese codigo es mi archivo .php
  #4 (permalink)  
Antiguo 21/07/2009, 12:21
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

Lo que pasa es que al poner

onChange="this.form.submit()"

estas haciendo un envio del formulario y por supuesto que te borrara y el primer y el segundo select por que estas cargando la pagina denuevo, veo que consideraste la carga con selected del primer Select, pero ojo, lo que estas haciendo es un submit del segundo form, por lo tanto no te toma los valores del primer form, lo que puedes hacer es dejar los 2 selectet dentro de un solo form... y como consejo lo que puedes hacer para hacer un "debug" y ver lo que estas reciviendo cada ves que cargas la paginas es poner la funcion php:
print_r($_REQUEST)
con esto te desplegara todas las variables que llegan a la pagina independiente si es por post o get

Bueno ..saludos
  #5 (permalink)  
Antiguo 21/07/2009, 12:38
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

gracias me quedo claro lo que staba haciendo pero eso de el consejo que me dio, disculpe mi ignorancia es que toy empezando con esto asi que no sabria como hacerlo u.u
gracias de todas maneras
  #6 (permalink)  
Antiguo 21/07/2009, 12:44
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

debajo de la primera etiqueta de php ( <? ) puedes poner esto

print_r($_REQUEST);

con eso te imprimira todas las variables que fueron enviadas al formulario ... asi podras ver si efectivamente estas recibiendo los valores de tus select ( sel y sele)

despues cuando tengas todo claro, comentas la liena o la sacas

Saludos
  #7 (permalink)  
Antiguo 21/07/2009, 13:29
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

gracias lo probe y si me esta enviando los datos pero lo raro es que cuando me muestra el array impreso de lo q esta recibiendo me dice cuando envio en sel como que lo envia los 2 y biceversa
  #8 (permalink)  
Antiguo 21/07/2009, 14:10
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

me dejaste con la duda asi que revise el codigo .. prueba este que modifique yo..

Código PHP:
<link type="text/css" rel="stylesheet" href="css/buscar.css" />



<form method="POST" action="probando12.php">
<table><tr>
<td>
Tipo de especie:</td><td> 
             <input type="text" name="Tipo" /> 
            <input type="submit" value="Buscar" /></td></tr>
            
            </form>
            
            
<tr><td>                <form name="form1" id="form1" method="POST" >
Buscar por  servicio: 
<?
       
        $centro
[0]= "Maquinariasdelaproduccion";
        
$centro[1]="Maquinas y Equipos";
        
$centro[2]="Mobiliario y Otros";
        
$centro[3]="Equipos Computaciones y Perifericos";
        
$centro[4]="Vehiculos";
        
$centro[5]="Obras de infraestuctura";
        
$centro[6]="agitador";
        
        if((isset(
$_POST['sele'])) && (!empty($_POST['sele'])) ){
    
$sele $_POST['sele'];
    
$Out $_POST['sele'];
    }else{
    
$sele =  "";
    
$Out "";
    }
    
     echo 
"<select onChange=\"document.form1.submit()\" name=\"sele\">
     
    <option >-Seleccionar</option>"
;
    foreach(
$centro as $rows => $fielda){
        if(
trim($fielda) == trim($sele) ){
            
?><option value="<?=$fielda?>" selected ><?=$fielda?></option><?
        
}else{    
            
?><option value="<?=$fielda?>"><?=$fielda?></option><?
        
}    
    }
    
    echo 
"</select>";
        
    if(    
$busca $_POST['sele']){
 switch(
$busca) {
    case  
Maquinariasdelaproduccion:
     
$con mysql_connect("localhost","root","");
mysql_select_db("probar"$con);
    
$result=mysql_query("select nombre_maq from maquinarias_de_la_produccion");
//Llenas el combo
if ($row mysql_fetch_array($result)){    
echo 
'<select name= "sele" >';
do {
      echo 
'<option value= "<?=$Out?>">'.$row["nombre_maq"].'</option>';

} while (
$row mysql_fetch_array($result)); 
echo 
'</select>';

}
      
      break;
    case 
Mequipos:
    case 
Motros:
      echo 
"2 o 3";
      break;
    case 
Ecomputaciones:
    case 
Vehiculos:
      echo 
"4 o 5";
      break;
      case 
Obras:
    default:
      echo 
"No esta entre 1 y 5";
  }
  }
 
        
?>
        
</td>
</tr>
<tr><td>
</tr></td>
<tr><td>


</td>
</tr>
</table>
    
<?php
    $pais
[0] = "Colom";
    
$pais[1] = "Peru";
    
$pais[2] = "Mex";
    
$pais[3] = "chile";

    
    if((isset(
$_POST['sel'])) && (!empty($_POST['sel'])) ){
    
$sel $_POST['sel'];
    
$Oute $_POST['sel'];
    }else{
    
$sel =  "";
    
$Oute "";
    }
    
    echo 
"<select onChange=\"this.form.submit()\" name=\"sel\" >
    <option >-Seleccionar</option>"
;
    foreach(
$pais as $rows => $field)
    echo (
$field == $sel )?"<option value=\"$field\" selected=\"selected\">$field</option>":"<option value=\"$field\">$field</option>";
    echo 
"</select>";
    
?>

<input type="text" name="OutInput" value="<?=$Oute?>"/>

</form>
Saludos
y un consejo ... para mi gusto queda mejor el PHP embutido en html si te fijas en la parte del primer select lo entenderas ....
  #9 (permalink)  
Antiguo 21/07/2009, 15:08
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

lo prove si resulta bien pero pero me envia los 2 select como si fuera uno u.u
mira si quisieras te podria mandar unas fotos que tengo de los pasos del sistema y donde falla
:D gracias por su disposicion y ayuda
  #10 (permalink)  
Antiguo 21/07/2009, 16:05
Avatar de chumisiado  
Fecha de Ingreso: enero-2006
Ubicación: Chilito
Mensajes: 69
Antigüedad: 18 años, 3 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

ok
domingo.cortez en gmail.com
  #11 (permalink)  
Antiguo 22/07/2009, 12:56
 
Fecha de Ingreso: junio-2009
Mensajes: 33
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: ayuda con select y su actualizacion

gracias por la ayuda chumisiado
saludos
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 14:35.