Ver Mensaje Individual
  #3 (permalink)  
Antiguo 15/12/2006, 06:41
ale_g
 
Fecha de Ingreso: mayo-2006
Mensajes: 119
Antigüedad: 18 años, 8 meses
Puntos: 0
Re: Cambiar contenido de un <TR>

Hola Arkhel, gracias por contestar, lo probe y no me funciono... te comento en detalle como tengo armada la cosa:

Una tabla dinamica con PHP:
Código PHP:
// includes de Conexión a BASE y QUERYs

        
echo "<table class=\"list_table\" align=\"center\">"
        echo 
"<tr class=\"list_tr_head\">"
     
        
//Headers
        
for ($i 0$i10$i++) //saco 10 columnas - headers
        

        
$name=$this->fields[$i];
        
$sort=$_GET['sort'];
        
$orden=$_GET['orden'];

            
// Headers 
            
echo "<td>".$name."</td>"
            
        }
        echo 
"<td>operaciòn</td></tr>"

        while (
$rows mysql_fetch_row($result)) 
        { 
        
$id=$rows[0];
            echo 
"<TR id=\"edita$id\">"//Identifico para posterior Actualización 
         
          
for ($i 0$i 10$i++) //saco 10 columnas - datos
            

                echo 
"<td >&nbsp;".$rows[$i]."</td>"
            } 
            echo 
"<td><img onclick=\"editar($id); actualiza($id);\" src=\"img/edit.png\" title=\"Editar $id\">
</td></tr>"
;              
        } 
        echo 
"</table>"

Hasta aca es normal, una tabla simple.
Fijate que a cada Linea (<TR>) le asigno un ID para actualizarlo mas adelante.

La cosa funciona asi, cuando hago click en la Imagen EDIT.PNG, uso una funcion que edita el registro y le setea un dato. Cuando se cambia la informacion, necesito Actualizar esa Linea (<tr>) con los datos traidos desde la BD, entonces uso esta funcion:


Código:
function actualiza(id){

//instancio el objetoAjax
ajax2=objetoAjax();
	ajax2.open("GET", "editado.php?id="+id);
	ajax2.onreadystatechange=function() {
if (ajax2.readyState==4) {
			
	//Identifico el <TR> a Actualizar concatenando...
	tr='edita'+id;
	editarTR = document.getElementById(tr);

	//muestro los resultados de editado.php en base al id enviado.
	editarTR.innerHTML = ajax2.responseText;			
}
	}
ajax2.send(null)
}
El archivo que muestra los datos nuevos es editado.php:
Código PHP:
//...includes de Conexión a BASE y QUERYs
//Obterngo el ID recibido y hago el query sobre el Registro.

        
for ($i 0$i10$i++) //saco 10 columnas - headers
        

        
$name=$this->fields[$i];
        
$sort=$_GET['sort'];
        
$orden=$_GET['orden'];

    
// Headers 
            
echo "<td>".$name."</td>"
        }
        echo 
"<td>operaciòn</td>"
    
//Data
        
while ($rows mysql_fetch_row($_pagi_result)) 
        { 
        
$id=$rows[0];         
        for (
$i 0$i 10$i++) //saco 10 columnas - datos
            

                echo 
"<td >&nbsp;".$rows[$i]."</td>"
            } 
        echo 
"<td><img onclick=\"editar($id); actualiza($id);\" src=\"img/edit.png\" title=\"Editar $id\"></td>";     
        } 
Entonces, cuando se produce la edición de los datos en la Base, se ejecuta la funcion actualiza(); quien, a travez de AJAX, me trae los nuevos datos de la forma (<TD>campoN</TD><TD>campo...) para Insertarlos en el <TR> identificado.

Estos codigos funcionan perfectamente en Firefox, pero en IE me da el error: "Error desconocido en tiempo de ejecución"

No se que más hacer... por esto recurri a los Foreros! espero haberme explicado, Saludos.