Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Actualizar una capa desde un SELECT cakephp con ajax

Estas en el tema de Actualizar una capa desde un SELECT cakephp con ajax en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Buenos dias, ante todo gracias por hacer un gran trabajo con este grupo, y sobre todo con los principiante en CAKEPHP como yo. Mi problema ...
  #1 (permalink)  
Antiguo 28/07/2011, 14:38
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 4 meses
Puntos: 1
Actualizar una capa desde un SELECT cakephp con ajax

Buenos dias, ante todo gracias por hacer un gran trabajo con este
grupo, y sobre todo con los principiante en CAKEPHP como yo.
Mi problema es con $ajax->observeField, ya que lo que quiero es
actualizar desde un SELECT un campo dentro de una capa (<div
id="codigo"></div>) para luego hacer enviado por un formulario a la
BD.
Vi un ejemplo en esta dirección:
http://cakephp.dantecaceres.com/clima_yahoo

Alguien me podría explicar como hacerlo, yo ya tengo la vista, dodnde escojo con el SELECT:

Código PHP:
<td class="textopeq"
style="vertical-align: top; text-align: center;">
echo 
$form->select('Opsuprograma.id',$selectProgramanull,array('id'
=>'opsuprogramas'),array(0=>"Seleccione el Postgrado"));
$options2 = array('url' => 'buscar_codiprograma','update' =>
'opsuprogramas');
echo 
$ajax->observeField('opsuprogramas',$options2);
?>
</td> 
en la celda donde quiero imprimir el valor de ajax:
Código PHP:
<td style="vertical-align: top;">
<? foreach($option as $codigo): ?>
<? 
//debug($option); ?>
<div id="opsuprogramas">
<p><b><?php echo $option['Opsuprograma']['codigo'];?></b></p>
</div>
<?php endforeach;?>
</td>
el ERROR que da en la vista precisamene cuando recargo el formularios es:
Notice: Notice (8): Undefined variable: option in [APP/views/planillas_actualizaciones/index.ctp, line 138]
en el controlador:
Código PHP:
function buscar_codiprograma() {

    
$this->Opsuprograma->recursive=-1;
    if(!empty(
$this->data['Opsuprograma']['id'])) {

    
$opsuprograma_id = (int)$this->data['Opsuprograma']['id'];//atrapo
el id de estado
    $conditions 
= array("Opsuprograma.id" => $opsuprograma_id);
    
$options =$this->Opsuprograma->find('all', array('conditions' =>
$conditions));

    
$this->set('options',$options);

        }
    }
//fin de la funcion buscar_codiprograma*/ 
Por favo alguna idea!!!!
__________________
Miguel Padrón :cool:
  #2 (permalink)  
Antiguo 28/07/2011, 20:39
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Actualizar una capa desde un SELECT cakephp con ajax

no conozco cake pero al parecer no estás pasando correctamente la variable $option a la plantilla, ¿donde está tu controlador?

PD: usa <?php debido a que los short_tags están depreciados
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 29/07/2011, 09:59
Avatar de 8461277  
Fecha de Ingreso: diciembre-2002
Ubicación: san juan de los morros
Mensajes: 887
Antigüedad: 21 años, 4 meses
Puntos: 1
Respuesta: Actualizar una capa desde un SELECT cakephp con ajax

Gracias por responder

Aqui esta mi controlador

Código PHP:
function buscar_codiprograma() {
       
        if(!empty(
$this->data['Opsuprograma']['id'])) {
         
        
$opsuprograma_id = (int)$this->data['Opsuprograma']['id'];//atrapo el id de estado
        
        
$conditions = array("Opsuprograma.id" => $opsuprograma_id);
        
$optionscodigo =$this->Opsuprograma->find('all', array('conditions' => $conditions));
        
        
//return $optionscodigo['Opsuprograma']['codigo'];
        
$this->set('option',$optionscodigo);
    
$this->log(__CLASS__.':'.__FUNCTION__.':'.__LINE__." paso por
    aqui':'$conditions"
,LOG_DEBUG);
            }
        }
//fin de la funcion buscar_codiprograma*/ 
Sigue el mismo problema cuando recargo el formulario, me sigue saliendo esto:
Código PHP:
Notice (8): Undefined variable: option [APP/views/planillas_actualizaciones/index.ctp, line 135]

Code | Context

</td>
<td style="vertical-align: top;">
<?php foreach($option as $codigo): ?>
Por supuesto cuando ejecuto el SELECT, meno hacer algo, ya que no recvonoce la variable option

__________________
Miguel Padrón :cool:

Etiquetas: ajax, cakephp, php, select, formulario, capas
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:57.