Foros del Web » Programando para Internet » PHP »

Problemas con select Multiple

Estas en el tema de Problemas con select Multiple en el foro de PHP en Foros del Web. Buenas tardes miren este es mi problema tengo dos select multiples con los que paso varios valores desde select1 a select2 la idea es que ...
  #1 (permalink)  
Antiguo 14/09/2011, 15:10
 
Fecha de Ingreso: diciembre-2009
Ubicación: Santiago, Chile
Mensajes: 143
Antigüedad: 14 años, 4 meses
Puntos: 2
Problemas con select Multiple

Buenas tardes miren este es mi problema tengo dos select multiples con los que paso varios valores desde select1 a select2 la idea es que con los datos recibidos en el select2 realizar actualizacion de datos en la base de datos acá dejo el codigo para que se entienda mejor
Código PHP:
Ver original
  1. <?php  
  2.     require_once(DIR_WS_CLASSES."Clientes.php");
  3.     include_once(DIR_WS_CLASSES."Anuncios.php");
  4.       $clAnuncio = new Anuncios();
  5.  
  6.     $clCliente  = new Clientes();
  7.     if($_POST["Actualizar"]=="Actualizar")
  8.     {
  9. //acá recibo los datos del select 2
  10.     $Cliente = $_POST["segundo"];
  11. //print_r($Clientes);
  12.    
  13.     //aca necesito actualizar el anuncio segun los valores del select2
  14.  
  15.      
  16.     }
  17.     else {
  18.     echo "no se Actualizo";
  19.     }
  20.    
  21.            
  22.     ?>
  23. <script type="text/javascript">
  24.  
  25.  function seleccionar(SelectObj, SelectObj2){
  26.     var temp = SelectObj.options.length;              
  27.    
  28.     if(SelectObj2.checked == true)  {  
  29.        for (var x=0;x <= temp-1 ;x++)  {
  30.        SelectObj.options[x].selected = true;
  31.        }
  32.     }
  33.     if(SelectObj2.checked == false)  {
  34.        for (var x=0;x <= temp-1 ;x++) {
  35.           SelectObj.options[x].selected = false;
  36.        }
  37.     }
  38.    
  39.   }
  40. function volcarSelects(emisor, receptor){
  41.  
  42. // Accedemos a los 2 selects
  43. emisor = document.getElementById(emisor);
  44. receptor = document.getElementById(receptor);
  45.  
  46. // Obtenemos algunos datos necesarios
  47. posicion = receptor.options.length;
  48. selecionado = emisor.selectedIndex;
  49.  
  50. if(selecionado != -1) {
  51.  
  52. volcado = emisor.options[selecionado];
  53.  
  54. // Volcamos la opcion al select receptor y lo eliminamos del emisor
  55. receptor.options[posicion] = new Option(volcado.text, volcado.value);
  56. emisor.options[selecionado] = null;
  57. emisor.selectedIndex=selecionado;
  58. if(selecionado>emisor.length-1){emisor.selectedIndex=emisor.length-1;}
  59.  
  60. }
  61.  
  62. }
  63.  
  64. </script>
  65.  
  66.  
  67.         <form id="form" name="formulario" method="post" action="">
  68.  
  69.  <div style="border-right:1px; border:1px solid #b2b2b2; margin-top:2px; margin-right: 2px; padding:0px 0px; background-color: #fff;-moz-border-radius: 5px;" >
  70. <table>
  71. <tr>
  72. <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Todos <input type="checkbox" name="todos_merc" checked onClick="seleccionar(this.form.primero,this.form.todos_merc);toggleDesplegarprimero();"></td>
  73.                  
  74.  
  75.                     <td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Todos <input type="checkbox" name="todos_prod"  onClick="seleccionar(this.form.segundo,this.form.todos_prod)"></td>
  76.                     </tr>
  77. <tr>
  78. <td>
  79.     <select id="primero" style="width: 200px; height: 100px;" name="primero" multiple="multiple">
  80.                        <?php
  81.                     $Perfil = 65;
  82.                 $resClientesCG = $clCliente->ListarClientesIndex($Perfil);
  83.                 print_r($resClientesCG);
  84.                         if(count($resClientesCG) >0)
  85.                         {                              
  86.                             foreach($resClientesCG as $campo)
  87.                             {
  88.                                 //echo $resPerfiles['idPerfil']."-";
  89.                                 if($campo['idCliente'] == $IDCLIENTE)                                      
  90.                                 {                                  
  91.                                    echo "<option value=".$campo['idCliente']." selected>".$campo["nombres"]."&nbsp;&nbsp;".$campo["apellidoPaterno"]."</option>";                                      
  92.                                 }else{
  93.                                     echo "<option value=".$campo['idCliente'].">".$campo["nombres"]."&nbsp;&nbsp;".$campo["apellidoPaterno"]."</option>";
  94.                                 }
  95.                             }
  96.                         }?>                
  97. </select>
  98.  
  99. <!-- Fijaros que a la funcion le paso el ID del select que envia y el segundo parametro es el ID que recibe -->
  100. <input type="button" value="&rarr;" onclick="volcarSelects('primero', 'segundo');" />
  101.  
  102. <!-- En este caso quiero poder "quitar" opciones, por lo que invierto el orden de los parametros pasados a la función -->
  103. <input type="button" value="&larr;" onclick="volcarSelects('segundo', 'primero');" />
  104.  
  105. <select style="width: 200px; height: 100px;" id="segundo" name="segundo[]" multiple="multiple" >
  106. </select>
  107. </td>
  108. </tr>
  109. <tr>
  110. <td align="center">
  111.  <input name="Actualizar" type="submit" id="Actualizar" value="Actualizar" />
  112. </td>
  113. </tr>
  114. </table>
  115.          </div>
  116.          </form>
el array que me genera selec2 = Array ( [0] => 888 [1] => 232 [2] => 819 [3] => 103 [4] => 142 [5] => 144 ) la idea es realizar la sigiente actualizacion a la base de datos que seria mas o menos asi = $resAnuncio = $clAnuncio->ActualizarAnuncio($Cliente); y la consulta
Código PHP:
Ver original
  1. function ActualizarAnuncio($Cliente)
  2.     {
  3.        $this->InciarConexion();
  4.        $Consulta  = " UPDATE  anuncios ";
  5.        $Consulta .= " SET fhPublicacion = now() ";
  6.        $Consulta .= " WHERE (idCliente = $Cliente) ";  
  7.        $Consulta .= " ORDER BY RAND() ";
  8.        $Consulta .= " LIMIT 1 ";
  9.      //  echo $Consulta;
  10.       // exit;
  11.        if($this->EstadoDelaConexion())
  12.         {
  13.           $ResConsulta = $this->insertarConId($Consulta);
  14.           $this->cerrar_conexion ();
  15.           return $ResConsulta;
  16.         }
  17.        
  18.     }
la idea es hacer la actualizacion por cada idCliente que rescato del select 2 ojala se aya entendido de antemanos gracias.

Etiquetas: select, formulario
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 10:03.