Foros del Web » Programando para Internet » Javascript » Frameworks JS »

ayuda con addAssign

Estas en el tema de ayuda con addAssign en el foro de Frameworks JS en Foros del Web. hola estoy enpezando con ajax y tengo una duda tengo una pagina donde hago una consulta para obtener una solicitud de empleo pero en cada ...
  #1 (permalink)  
Antiguo 18/01/2010, 13:11
Avatar de zerokull  
Fecha de Ingreso: noviembre-2009
Mensajes: 153
Antigüedad: 15 años
Puntos: 1
ayuda con addAssign

hola estoy enpezando con ajax y tengo una duda tengo una pagina donde hago una consulta para obtener una solicitud de empleo pero en cada seccion hay una parate para agregar cometarios en tontal son 10 secciones por lo tanto hay 10 forms el problema que tengo con ajax es el siguiente cuando yo le doy clic en guardar comentario y si me lo guarada en la BD pero el mensaje el siguiente: comentario 1 se guardo con exito solo me sale en el primera capa y en los demas ya no.
este es mi codigo ajax:
Código PHP:
require_once('../xajax/xajax.inc.php');

//instanciamos el objeto de la clase xajax
$xajax = new xajax(); 

function 
procesar_formulario($form_entrada){
   
$ssql "update notasrh set comentario1='".$form_entrada["comentario1"]."'where emailUsuarios='".$form_entrada['idCorreo']."'and id_empleadosRH='".$form_entrada['idRH']."'";
   
$ssq2 "update notasrh set comentario2='".$form_entrada["comentario2"]."'where emailUsuarios='".$form_entrada['idCorreo2']."'and id_empleadosRH='".$form_entrada['idRH2']."'";
   
$ssq3 "update notasrh set comentario3='".$form_entrada["comentario3"]."'where emailUsuarios='".$form_entrada['idCorreo3']."'and id_empleadosRH='".$form_entrada['idRH3']."'";
   
$ssq4 "update notasrh set comentario4='".$form_entrada["comentario4"]."'where emailUsuarios='".$form_entrada['idCorreo4']."'and id_empleadosRH='".$form_entrada['idRH4']."'";
   
$ssq5 "update notasrh set comentario5='".$form_entrada["comentario5"]."'where emailUsuarios='".$form_entrada['idCorreo5']."'and id_empleadosRH='".$form_entrada['idRH5']."'";
   
$ssq6 "update notasrh set comentario6='".$form_entrada["comentario6"]."'where emailUsuarios='".$form_entrada['idCorreo6']."'and id_empleadosRH='".$form_entrada['idRH6']."'";
   
$ssq7 "update notasrh set comentario7='".$form_entrada["comentario7"]."'where emailUsuarios='".$form_entrada['idCorreo7']."'and id_empleadosRH='".$form_entrada['idRH7']."'";
   
$ssq8 "update notasrh set comentario8='".$form_entrada["comentario8"]."'where emailUsuarios='".$form_entrada['idCorreo8']."'and id_empleadosRH='".$form_entrada['idRH8']."'";
   
$ssq9 "update notasrh set comentario9='".$form_entrada["comentario9"]."'where emailUsuarios='".$form_entrada['idCorreo9']."'and id_empleadosRH='".$form_entrada['idRH9']."'";
$ssql0 "update notasrh set comentario10='".$form_entrada["comentario10"]."'where emailUsuarios='".$form_entrada['idCorreo10']."'and id_empleadosRH='".$form_entrada['idRH10']."'";
     
//$ssql = "insert into notasrh (comentario1) values ('" . $form_entrada["comentario1"] . "')";
   
if (mysql_query($ssql)){
      
$salida ="Su comentario 1 se guardo con exito";
   }else{
      
$salida "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssq2)){
      
$salida2 "Su comentario 2 se guardo con exito.";
   }else{
      
$salida2 "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssq3)){
      
$salida3 "Su comentario 3 se guardo con exito.";
   }else{
      
$salida3 "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssq4)){
      
$salida4 "Su comentario 4 se guardo con exito.";
   }else{
      
$salida4 "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssq5)){
      
$salida5 "Su comentario 5 se guardo con exito.";
   }else{
      
$salida5 "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssq6)){
      
$salida6 "Su comentario 6 se guardo con exito.";
   }else{
      
$salida6 "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssq7)){
      
$salida7 "Su comentario 7 se guardo con exito.";
   }else{
      
$salida7 "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssq8)){
      
$salida8 "Su comentario 8 se guardo con exito.";
   }else{
      
$salida8 "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssq9)){
      
$salida9 "Su comentario 9 se guardo con exito.";
   }else{
      
$salida9 "No se ha insertado. Este es el error: " mysql_error();
   }
   if (
mysql_query($ssql0)){
      
$salida10 "Su comentario 10 se guardo con exito.";
   }else{
      
$salida10 "No se ha insertado. Este es el error: " mysql_error();
   }
   
   
//instanciamos el objeto para generar la respuesta con ajax
   
$respuesta = new xajaxResponse();
   
$respuesta2 = new xajaxResponse();
   
$respuesta3 = new xajaxResponse();
   
$respuesta4 = new xajaxResponse();
   
$respuesta5 = new xajaxResponse();
   
$respuesta6 = new xajaxResponse();
   
$respuesta7 = new xajaxResponse();
   
$respuesta8 = new xajaxResponse();
   
$respuesta9 = new xajaxResponse();
   
$respuesta10 = new xajaxResponse();
   
//escribimos en la capa con id="respuesta" el texto que aparece en $salida
   
$respuesta->addAssign("respuesta","innerHTML",$salida);
   
$respuesta2->addAssign("respuesta2","innerHTML",$salida2);
   
$respuesta3->addAssign("respuesta3","innerHTML",$salida3);
   
$respuesta4->addAssign("respuesta4","innerHTML",$salida4);
   
$respuesta5->addAssign("respuesta5","innerHTML",$salida5);
   
$respuesta6->addAssign("respuesta6","innerHTML",$salida6);
   
$respuesta7->addAssign("respuesta7","innerHTML",$salida7);
   
$respuesta8->addAssign("respuesta8","innerHTML",$salida8);
   
$respuesta9->addAssign("respuesta9","innerHTML",$salida9);
   
$respuesta10->addAssign("respuesta10","innerHTML",$salida10);
    
   
   
//tenemos que devolver la instanciación del objeto xajaxResponse
   
return $respuesta;
   return 
$respuesta2;
   return 
$respuesta3;
   return 
$respuesta4;
   return 
$respuesta5;
   return 
$respuesta6;
   return 
$respuesta7;
   return 
$respuesta8;
   return 
$respuesta9;
   return 
$respuesta10;
}
//registramos la función creada anteriormente al objeto xajax
$xajax->registerFunction("procesar_formulario");

//El objeto xajax tiene que procesar cualquier petición
$xajax->processRequests();
?> 
codigo html:
Código HTML:
<div id="respuesta">
	  </div>
]<div id="respuesta2">
	  </div>
]<div id="respuesta3">
	  </div>
]<div id="respuesta...">
	  </div>
]<div id="respuesta10">
	  </div> 
  #2 (permalink)  
Antiguo 19/01/2010, 13:40
 
Fecha de Ingreso: enero-2005
Mensajes: 122
Antigüedad: 19 años, 10 meses
Puntos: 2
Respuesta: ayuda con addAssign

Hola zerokull...

Mira, hay varias cosas...

Al PHP le encanta los arrays o arreglos de datos, cuando a tu funcion le llega el parametro $form_entrada ahi ya tienes un array con todos los datos, yo de ti pondria a iterar ese arreglo y ejecutaria la sentencia SQL ejecutandose las veces que hayan datos en el array de esta manera:

Código PHP:
function procesar_formulario($form_entrada){
    
     foreach(
$form_entrada as $form){
           
$i++;
           
$ssql "update notasrh set comentario1='".$form["comentario".$i]."'where emailUsuarios='".$form['idCorreo'.$i]."'and id_empleadosRH='".$form['idRH'.$i]."'"

           if (
mysql_query($ssql)){
                
$salida .="Su comentario ".$i." se guardo con exito"."<br>";
           }else{
                
$salida .= "No se ha insertado el comentario ".$i.". Este es el error: " mysql_error()."<br>";
           } 
     }

     
$respuesta = new xajaxResponse(); 
     
$respuesta->addAssign(respuesta,innerHTML,$salida);
     return 
$respuesta;


Cuando defino la variable $salida .= .... lo que hago es ir almacenando los resultados de cada iteracion del array en esa variable, osea ir "concatenando" los valores, lo que tendrias con eso la respuesta de todos tus insert o updates en una sola variable y en el HTML la pintas en un solo div o en lo que quieras y te quedaria algo asi:

Su comentario 1 se guardo con exito
Su comentario 2 se guardo con exito
Su comentario 3 se guardo con exito
No se ha insertado el comentario 4. Este es el error: error_mysql
No se ha insertado el comentario 5. Este es el error: error_mysql
Su comentario 6 se guardo con exito
Su comentario 7 se guardo con exito
...
Su comentario 10se guardo con exito

Ahora, si no quieres de esa manera, lo puedes hacer como lo estas haciendo, aunque no es lo mejor pero tambien se puede, no necesitas instanciar el objeto $respuesta todas las veces que que tengas comentarios, con ese solo objeto puedes retornar las veces que quieras asi:

Código PHP:
$respuesta = new xajaxResponse(); 
$respuesta->addAssign("respuesta2","innerHTML",$salida2);
$respuesta->addAssign("respuesta3","innerHTML",$salida3);
$respuesta->addAssign("respuesta4","innerHTML",$salida4);
$respuesta->addAssign("respuesta5","innerHTML",$salida5); 
...
return 
$respuesta
Se puede pero tendrias que definir todas las salidas tu mismo, encambio con un arreglo el lo hace por ti y si mas adelante tienes mas comentarios no tendrias que ir y colocar en tu funcion ... $salida11; $salida12 ... etc.

Los retornos en las funciones los debes de hacer usa sola vez, cuando haces un return te retorna una sola vez, no tiene ningun sentido hacer varios return porque siempre te va a retornar un solo valor, false o true.

Espero te sirva, si tienes alguna otra duda lo comentas..

Etiquetas: ajax
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 13:05.