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

Actualizar al datos

Estas en el tema de Actualizar al datos en el foro de Frameworks JS en Foros del Web. Hola amigos tengo una duda Como puedo hacer para actualisar mis datos que despliego en una tabla, yo quiero dar click sobre un dato y ...
  #1 (permalink)  
Antiguo 21/07/2010, 14:04
 
Fecha de Ingreso: abril-2010
Mensajes: 108
Antigüedad: 14 años, 7 meses
Puntos: 2
Pregunta Actualizar al datos

Hola amigos

tengo una duda

Como puedo hacer para actualisar mis datos que despliego en una tabla, yo quiero dar click sobre un dato y luego escribir y que quitarme se ese campo o dar click se me autulice mi informacion


Estoy usando php y mysql y asi despliego mi informacion

<td><? echo $amo10["seguro"];?></td>

Gracias espero de su ayuda
  #2 (permalink)  
Antiguo 21/07/2010, 16:58
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 17 años, 10 meses
Puntos: 126
Respuesta: Actualizar al datos

Hola

A ver si es esto lo que buscas
Código PHP:
Ver original
  1. <?php
  2. header('content-type: text/html; charset: utf-8');
  3. ?>
  4. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  5. <html xmlns="http://www.w3.org/1999/xhtml"lang="es" xml:lang="es">
  6. <head>
  7. <meta name="http-equiv" content="Content-type: text/html; charset=UTF-8"/>
  8. <style type="text/css">
  9. .color0 {background: orange;}
  10. .color1 {background: yellow;}
  11. </style>
  12. <script type="text/javascript">
  13. var ns4 = (document.layers)? true:false
  14. var ie4 = (document.all)? true:false
  15. var ns6 = (document.getElementById)? true:false
  16.  
  17. function captura_objeto(idnombre) {
  18.     if (ns6) {
  19.     return document.getElementById(idnombre);
  20.     } else if (ie4) {
  21.     return document.all[idnombre];
  22.     } else if (ns4) {
  23.     return document.layers[idnombre];
  24.     } else{
  25.     return null;
  26.     }
  27. }
  28.  
  29.  
  30.  
  31. function creaAjax(){
  32.     var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"];
  33.     var ajax = false;
  34.     for(var i=0 ; !ajax && i<ajaxs.length ; i++){
  35.         try{
  36.             ajax = new ActiveXObject(ajaxs[i]);   // Internet Explorer
  37.         }
  38.         catch(e) {
  39.             ajax = false;
  40.         }
  41.     }
  42.     if(!ajax && typeof XMLHttpRequest!='undefined') {
  43.         ajax = new XMLHttpRequest();  // Firefox, Opera 8.0+, Safari
  44.     }
  45.     return ajax;
  46. }
  47.  
  48.  
  49.  
  50. var control = true;
  51. function ActivarDesactivar_campos(Id, bol, acc) {
  52. //alert(bol+ " - " +control);
  53. var Id_tr = captura_objeto(Id);
  54. var td = Id_tr.getElementsByTagName("TD");
  55. var div = Id_tr.getElementsByTagName("DIV");
  56.  
  57.     if(control == bol && bol == true && acc == 0) {
  58.  
  59.         div[1].style.display = (div[1].style.display == 'none') ? 'block' : 'none';
  60.         var elemento1 = document.createElement("INPUT");
  61.         elemento1.setAttribute("type","text");
  62.         elemento1.setAttribute("size","10");
  63.         elemento1.setAttribute("maxlength","20");
  64.         elemento1.setAttribute("name","nombre");
  65.         elemento1.setAttribute("id","nombre");
  66.         elemento1.setAttribute("value", div[1].innerHTML);
  67.         td[1].appendChild(elemento1);
  68.  
  69.         div[2].style.display = (div[2].style.display == 'none') ? 'block' : 'none';
  70.         var elemento2 = document.createElement("SELECT");
  71.         elemento2.setAttribute("size","1");
  72.         elemento2.setAttribute("name","privilegio");
  73.         elemento2.setAttribute("id","privilegio");
  74.         opcioncur = document.createElement("OPTION");
  75.         opcioncur.textContent = "Tipo de Permiso";
  76.         opcioncur.value = div[2].innerHTML;
  77.         elemento2.appendChild(opcioncur);
  78.         opcion1 = document.createElement("OPTION");
  79.         opcion1.textContent = "Alto";
  80.         opcion1.value = "A";
  81.         elemento2.appendChild(opcion1);
  82.         opcion2 = document.createElement("OPTION");
  83.         opcion2.textContent = "Medio";
  84.         opcion2.value = "D";
  85.         elemento2.appendChild(opcion2);
  86.         opcion3 = document.createElement("OPTION");
  87.         opcion3.textContent = "Bajo";
  88.         opcion3.value = "F";
  89.         elemento2.appendChild(opcion3);
  90.         td[2].appendChild(elemento2);
  91.  
  92. control = (bol == true ? false : true);
  93.  
  94.     } else if(control == bol && bol == false && acc == 0) {
  95.  
  96.         var elem1 = document.getElementById("nombre");
  97.         var padre1 = elem1.parentNode;
  98.         padre1.removeChild(elem1);
  99.         div[1].style.display = (div[1].style.display == 'none') ? 'block' : 'none';
  100.  
  101.         var elem2 = document.getElementById("privilegio");
  102.         var padre2 = elem2.parentNode;
  103.         padre2.removeChild(elem2);
  104.         div[2].style.display = (div[2].style.display == 'none') ? 'block' : 'none';
  105.  
  106. control = (bol == true ? false : true);
  107.        
  108.     } else if(control == bol && bol == false && acc == 1) {
  109.  
  110.  
  111. // --- REVISAMOS LOS VALORES (sin son iguales no se usa Ajax)
  112. var elem1_old = div[1].innerHTML
  113. var elem1 = document.getElementById("nombre");
  114. var elem2_old = div[2].innerHTML
  115. var elem2 = document.getElementById("privilegio");
  116.  
  117.         if (elem1_old == elem1.value && elem2_old == elem2.value) {
  118.             div[1].textContent = elem1_old;
  119.             div[2].textContent = elem2_old;
  120.  
  121.         // ---- ELIMINA LOS ELEMENTOS
  122.             var padre1 = elem1.parentNode;
  123.             padre1.removeChild(elem1);
  124.             var padre2 = elem2.parentNode;
  125.             padre2.removeChild(elem2);
  126.  
  127.         // ---- MUESTRA REGISTRO SIN ACTUALIZAR
  128.             div[1].style.display = (div[1].style.display == 'none') ? 'block' : 'none';
  129.             div[2].style.display = (div[2].style.display == 'none') ? 'block' : 'none';
  130. control = true;
  131.  
  132.         } else {
  133.  
  134. // ---- ACTUALIZA REGISTRO
  135. var url = "Otorgar_Permisos_Ajax2.php"
  136. var ajax=creaAjax();
  137. //var elem1 = document.getElementById("nombre");
  138. //var elem2 = document.getElementById("privilegio");
  139. ajax.open('POST',url,true);
  140. ajax.onreadystatechange = function() {
  141.  
  142.             if (ajax==null){
  143.                 alert ("Tu navegador web no soporta AJAX!");
  144.                 return;
  145.             }
  146.  
  147.             if (ajax.readyState==1 || ajax.readyState==2 || ajax.readyState==3){
  148.  
  149.                     } else if (ajax.readyState==4) {
  150.                             if (ajax.status==200) {        
  151.                     var valores = unescape(ajax.responseText); 
  152.                     div[1].textContent = valores.split(",")[0];
  153.                     div[2].textContent = valores.split(",")[1];
  154.  
  155.             // ---- ELIMINA LOS ELEMENTOS
  156.                     var padre1 = elem1.parentNode;
  157.                     padre1.removeChild(elem1);
  158.                     var padre2 = elem2.parentNode;
  159.                     padre2.removeChild(elem2);
  160.  
  161.             // ---- MUESTRA REGISTRO ACTUALIZADO
  162.                     div[1].style.display = (div[1].style.display == 'none') ? 'block' : 'none';
  163.                     div[2].style.display = (div[2].style.display == 'none') ? 'block' : 'none';
  164.  
  165.                             } else if (ajax.status==404) {
  166.                                             alert("La dirección no existe");
  167.  
  168.                                                     } else {
  169.                                         alert("Se ha producido un error");
  170.                                                     }
  171.                                         }
  172.                     }
  173. control = true;
  174.    
  175.     ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  176.             ajax.setRequestHeader('Content-Length', Id_tr.length); 
  177.     ajax.send('id='+Id+'&nombre='+elem1.value+'&nombre_old='+div[1].innerHTML+'&privilegio='+escape(elem2.value)+'&privilegio_old='+escape(div[2].innerHTML));
  178.             return;
  179.         }
  180.     }
  181. }
  182. </script>
  183. </head>
  184. <body>
  185. <table width="100%" border="1px">
  186. <tr>
  187. <th></th>
  188. <th>ID</th>
  189. <th>NOMBRE</th>
  190. <th>PRIVILEGIOS</th>
  191. </tr>
  192.  
  193. <?php
  194. include($_SERVER["DOCUMENT_ROOT"]."/ink_utiles/ink_comunesbd.inc.php");  
  195. $bd = new ClassConexionBD('database');
  196. $bd->ConexionBD();
  197.  
  198. $sql = $bd->consulta("SELECT Id, nombre, privilegio FROM Usuarios");
  199.  
  200.     if($bd->RS($sql)>0) {  
  201. $tabla = 0;
  202.         while($registros = $bd->arreglo($sql)){  
  203. $resto = ($tabla % 2);
  204.             switch ($resto) { // Coloreamos cada tr        
  205.                 case 0: $estilo = "color0"; break;        
  206.                 case 1: $estilo = "color1"; break;
  207.             }
  208.  
  209. //------------------------- Valores de la consulta -------------------------
  210. ?>
  211. <tr width="100%" id="<?=$registros["Id"]?>">
  212. <th><img src="./cancelar.gif" onclick="javascript:ActivarDesactivar_campos(<?=$registros["Id"]?>, false, 0);" />&nbsp;<img src="./editar.gif" onclick="javascript:ActivarDesactivar_campos(<?=$registros["Id"]?>, false, 1);" />&nbsp;<img src="./mostar.gif" onclick="javascript:ActivarDesactivar_campos(<?=$registros["Id"]?>, true, 0);" /></th>
  213. <td id="td_<?=$tabla?>[]" class="<?=$estilo?>">
  214. <div id="<?=$tabla?>[]" style="display:block;"><?=$registros["Id"]?></div>
  215. </td>
  216. <td id="td_<?=$tabla?>[]" class="<?=$estilo?>">
  217. <div id="<?=$tabla?>[]" style="display:block;"><?=$registros["nombre"]?></div>
  218. </td>
  219. <td id="td_<?=$tabla?>[]" class="<?=$estilo?>">
  220. <div id="<?=$tabla?>[]" style="display:block;"><?=$registros["privilegio"]?></div>
  221. </td>
  222. </tr>
  223. <?php
  224. $tabla++;
  225. //------------------------------------------------------
  226.         }
  227.     }
  228. $bd->limparRS($sql);
  229. $bd->limpiarCon();
  230. ?>
  231. </table>
  232. </body>
  233. </html>

otorgar_permisos_ajax2.php
Código PHP:
Ver original
  1. <?php
  2. header('content-type: text/html; charset: utf-8');
  3. $campos_valor_actualizar = Array();
  4. $respuesta = "";
  5.  
  6. $nomb = trim($_POST["nombre"]);
  7. $nomb_old = trim($_POST["nombre_old"]);
  8. $priv = trim($_POST["privilegio"]);
  9. $priv_old = trim($_POST["privilegio_old"]);
  10.  
  11. if ($nomb == $nomb_old) {
  12. $respuesta = $nomb_old;
  13. } else {
  14. $respuesta = $nomb;
  15. array_push($campos_valor_actualizar, "nombre = '".$nomb."'");
  16. }
  17.  
  18. if ($priv == $priv_old) {
  19. $respuesta .= "," .$priv_old;
  20. } else {
  21. $respuesta .= "," .$priv;
  22. array_push($campos_valor_actualizar, "privilegio = '".$priv."'");
  23. }
  24.  
  25. include($_SERVER["DOCUMENT_ROOT"]."/ink_utiles/ink_comunesbd.inc.php");  
  26. $bd = new ClassConexionBD('database');
  27. $bd->ConexionBD();
  28.  
  29. $sql = $bd->consulta("UPDATE Usuarios SET " .implode(",", $campos_valor_actualizar). " WHERE Id = ".$_POST["id"]."");
  30. //$bd->limparRS($sql);
  31. $bd->limpiarCon();
  32.  
  33.  
  34. echo $respuesta;
  35. ?>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #3 (permalink)  
Antiguo 22/07/2010, 11:09
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 10 meses
Puntos: 9
Respuesta: Actualizar al datos

Creo que sería más sencillo el Ajax.InPlaceEditor del scriptaculous, lo puedes adecuar a muchos elementos de un formulario o lista. Suerte.
__________________
Quitenme la vida pero no la bebida.
  #4 (permalink)  
Antiguo 22/07/2010, 11:45
 
Fecha de Ingreso: abril-2010
Mensajes: 108
Antigüedad: 14 años, 7 meses
Puntos: 2
Respuesta: Actualizar al datos

Existen algunos ejemplos de Ajax.InPlaceEditor

Porque la verdad no lo conosco soy nuevo en todo esto de ajax
  #5 (permalink)  
Antiguo 22/07/2010, 11:58
Avatar de Potro  
Fecha de Ingreso: abril-2001
Mensajes: 2.249
Antigüedad: 23 años, 7 meses
Puntos: 39
Respuesta: Actualizar al datos

Aqui te dejo un ejemplo muy basico..

http://www.java2s.com/Code/JavaScrip...tionEditor.htm


Saludos...
__________________
Paginación en FLASH,

http://www.forosdelweb.com/f62/pagin...o-aqui-540241/

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 18:58.