Foros del Web » Programando para Internet » PHP »

ayuda con select option value php

Estas en el tema de ayuda con select option value php en el foro de PHP en Foros del Web. hola, este es mi primer post.. hace muchos dias vengo renegando con esto, supongo q debe ser algo simple pero no logro darme cuenta..! de ...
  #1 (permalink)  
Antiguo 01/09/2010, 11:20
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
ayuda con select option value php

hola, este es mi primer post.. hace muchos dias vengo renegando con esto, supongo q debe ser algo simple pero no logro darme cuenta..! de antemano gracias a todos por su tiempo!!!
tengo un select de estados (solicitud, pendiente,entregado, etc) cuyos datos los recoje de una base de datos, mas especificamente, de la tabla estados (id, descripcion). El select funciona perfecto, pero me gustaria hacer q no se pueda volver a un estado anterior. ejemplo: si tengo un estado de id 5 (entregado) no puedo elegir en el select el estado de id 2 (pendiente). He probado con alerts, funciones en el onchange, pero no me funciona.. Les muestro lo q tengo de codigo.. gracias nuevamente!!!



Código PHP:
if(isset($_POST["id_pedido"]) ){
        
        
$id $_POST["id_pedido"];
        if(
$id !=0){
            
//Modifica
            
$obj_CL->modificar($id$_POST['id_estado']);
            
header("location: abm_pedidos_menor.php");
        }else{
        
        
            
//Agrega
            
$obj_CL->modificar($_POST['id_estado']);
            
header("location: abm_pedidos_menor.php");
        }
    } 
Código HTML:
 <FORM action='<?php echo $_SERVER['PHP_SELF']; ?>' method='post' name='form1' onSubmit="if(valida()){return true;}else{return false;}">
						<TABLE>
							
							
							
							
							<TR>
								<TD class='negrita'>Estado </TD>
								<TD>
									<SELECT name='id_estado' size="5" multiple id='id_estado' onchange="alert(selected.value )">
									<?php foreach ($arr_est as $e){ 
									
									
									?>
										<OPTION value='<?php echo $e["id"]   ?>' <?php if($p[0]['id_estado'] == $e["id"]){echo " selected ";}?> ><?php echo $e["descripcion"]; ?></OPTION>
									<?php  
									
									} 
									
									
									?>
								  </SELECT> 
  #2 (permalink)  
Antiguo 01/09/2010, 11:25
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: ayuda con select option value php

Hola y Bienvenido a Foros del Web....

Deseo ayudarte pero lamentablemente no entiendo muy bien tu problema....

Explicate un poco mejor y con ejemplos...

Nota.
Que hace la funcion $obj_CL->modificar() ??
Que hay en las variables $arr_est y $p ??
Que hace tu funcion valida() de javascript ??

Suerte
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #3 (permalink)  
Antiguo 01/09/2010, 11:38
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: ayuda con select option value php

gracias, si, en realidad la primer parte del codigo no es muy necesaria para la ayuda q necesito pero la puse por las dudas.. los obj_CL son los q llaman a la clase, en este caso de pedidos, a la funcion modificar por eso CL_modificar.. para q se almacene todo en la bd luego de una modificacion.. en resumen, la primer parte del codigo es para q pueda modificar las cosas y guardarlas en la bd, porque estoy trabajando en poo,en capas. donde necesito ayuda es en la segunda parte del codigo, donde esta el select.. q me trae en un foreach el arreglo con los estados y me deja elegirlos. lo que tengo seria ejemplo:

elija un estado: pendiente
envio en curso
cancelado
entregado

con eso no hay drama, funciona y los puedo elegir y almacenar la opcion elegida en la bd. lo que no me sale es q si el estado q esta elegido en la bd, yo lo quiero modificar, q no me deje modificarlo a un estado anterior. es decir, si yo tengo un estado en cancelado y lo quiero modificar, que no me deje cambiarlo a pendiente. si ya esta cancelado no deberia ir a otro estado.. lo mismo si el pedido ya esta entregado, no se podria modificar el estado como "envio en curso"
  #4 (permalink)  
Antiguo 01/09/2010, 11:41
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con select option value php

has una consulta antes de cambiar el estado y verifica el mismo y le das las condiciones que estas diciendo de echo si el estatus esta en entregado o cancelado pudes desabilitar el select para que no tengan acceso a modificar esta opcion espero sea lo q necesistas suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #5 (permalink)  
Antiguo 01/09/2010, 13:00
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: ayuda con select option value php

gracias carlos!! esa es buena idea si el pedido esta entregado o cancelado.

pero si el estado fuese pendiente.. yo deberia poder seguir seleccionando para adelante (envio en curso y luego entregado) pero no deberia volver al estado "solicitado"..

lo ideal seria algun if o algo q segun el estado q viene seleccionado, q se muestren en el select los id o estados posteriores a éste...
  #6 (permalink)  
Antiguo 01/09/2010, 13:32
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con select option value php

bueno lo unico q se me ocurre son varios condicionales uno por nivel ej:
cancelado y entregado son un nivel haces un condicional segun ellos y bloqueas como te dig al principio
si es envio en curso
q los option solo vean los del nivel anterior
y si es pendiente que los vea todos todo esto con condicionales creo que se podria hacer suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #7 (permalink)  
Antiguo 01/09/2010, 18:41
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: ayuda con select option value php

y como seria eso, algun ejemplo..? :$ gracias!!
  #8 (permalink)  
Antiguo 01/09/2010, 20:17
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con select option value php

bueno un ejemplo q se me ocurre noc como tienes tu codigo pero podria ser asi
Código PHP:
Ver original
  1. $query=mysql_query("SELECT status FROM tu_tabla WHERE tu_pedido='pedido'") or die (mysql_error());
  2. while($row=mysql_fetch_array($query)){
  3.      $estatus=$row['status'];
  4. }
  5. if($estatus=="cancelado" || $estatus=="entregado"){
  6.       $option="";#lo dejas vacio o podrias desabilitar el select
  7. }
  8. elseif($estatus=="en curso"){
  9.    $option.="<option value='cancelado'>cancelado</option>";
  10.    $option.="<option value='entregado'>entregado</option>";
  11.  
  12. }
  13.  
  14. #y en tu select indicarias los option de esta manera
  15. <select name="tu_select">
  16. <?php echo $option;?>
  17. </select>
ahi falta valñidar una pero es una idea ojo no la probe asi que si puedes revisala y adaptala por cualkier error suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 03/09/2010, 14:18
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: ayuda con select option value php

gracias por la respuesta.. no me servia para mi codigo pero lo hice de esta manera.. pero no me entra al segundo elseif, porque podra ser??? gracias nuevamente!!!

Código PHP:
Ver original
  1. <?php
  2.                                    
  3.                                     if( $p[0]['id_estado'] > 3){
  4.                                    
  5.                                    
  6.                                                                    
  7.                                                                        
  8.                                     ?>
  9.  
  10.                                    
  11.                                    
  12.                                     <?php
  13.                                     echo '<script>alert("No se puede modificar a un estado anterior.")</script>';
  14.                                      } elseif( $p[0]['id_estado'] = 2){
  15.                                      
  16.                                      
  17.                                     ?> <SELECT name='id_estado' size="1" id='id_estado'> <?php
  18.                                      foreach ($arr_pendiente as $e){
  19.                                                
  20.                                      ?>
  21.                                         <OPTION value='<?php echo $e["id"] ;  ?>' ><?php echo $e["descripcion"]  ;   ?></OPTION>
  22.                                      
  23.                                                                  
  24.                                      <?php  
  25.                                      
  26.                                      }}   elseif ($p[0]['id_estado'] = 3){ ?>
  27.                                           <SELECT name='id_estado2' size="1" id='id_estado2'>
  28.  
  29.                                         <?php foreach ($arr_envio as $e){
  30.                                                                                      
  31.                                      ?>
  32.                                         <OPTION value='<?php echo $e["id"] ;  ?>' ><?php echo $e["descripcion"]  ;   ?></OPTION>
  33.                                    
  34.                                     <?php   }  }
  35.                                       ?>
  36.                                     </SELECT>
  #10 (permalink)  
Antiguo 03/09/2010, 14:24
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con select option value php

bueno en todos los elseif tienes este error
si te fijas el uso del = es el siguiente
=: asignacion;
==:comparacion;

si estas haciendo un if estas comparando cual deberia de ser el uso????

y como te dig solo era una idea xq no se como tienes tu el codigo pero si asi como lo tienes te funciona es lo q se desea solo arregla los = en los elseif ya que estas comparando y ojala te de resultados suerte
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 03/09/2010, 14:27
 
Fecha de Ingreso: septiembre-2010
Mensajes: 8
Antigüedad: 13 años, 7 meses
Puntos: 0
De acuerdo Respuesta: ayuda con select option value php

muchas gracias carlos!!! tenes razon, ya funciona :)

Etiquetas: option, select
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 21:38.