Tema: Tablas
Ver Mensaje Individual
  #3 (permalink)  
Antiguo 11/02/2013, 01:26
Avatar de skiper0125
skiper0125
 
Fecha de Ingreso: octubre-2010
Ubicación: $this->Mexico('Toluca');
Mensajes: 1.127
Antigüedad: 14 años, 4 meses
Puntos: 511
Respuesta: Tablas

Hola que tal.

Lo que deseas hacer es posible, lo que se me ocurre es mostrar los datos en un input con ciertos parámetros de validación o identificación en el input, de esa forma podrías ejecutar el proceso mediante el uso de ajax, te dejo un ejemplo a grandes rasgos.


archivo donde muestras los datos
Código PHP:

<!DOCTYPE HTML>
<html lang="es-ES">
<head>
    <meta charset="UTF-8">
    <title>actualizacion dinamica</title>
    <style type="text/css">

        table
        {
            width: 80%;
            box-shadow: 0px 0px 3px 3px #545454;
            margin: 0 auto;
        }

        table caption
        {
            background: #183B93;
            color: #FFF;
        }

        table th
        {
            background: #444444; 
            color: #FFF; 
            text-transform: uppercase;
            padding: 7px;
        }

        input
        {
            border: solid 2px #930000;
            padding: 5px;
        }
    </style>
    <script type="text/javascript" src="jquery-1.8.3.js"></script>
    <script type="text/javascript">
        function actualizaCampo ( arrastre )
        {
            var campo = $( arrastre ).attr( "id" )
            var valor = $( arrastre ).val()
            $.ajax({
                type: 'post',
                dataType: 'text',
                url: 'controlador.php',
                data: { campo: campo, valor: valor },
                success: function(text)
                {    
                    //alert( text )
                },
                error: function()
                {
                    alert( "Error al actualizar campo" )
                }
            });
        }
    </script>
</head>
<body>
    <table>
        <caption>Datos</caption>
        <tr>
            <th>lote</th>
            <th>descrip</th>
        </tr>
        <?php
            $mysqli 
= new mysqli"localhost""tu_usuario""tu_pass""tu_db" );
            if ( 
$mysqli->connect_errno )
            {
                echo 
"Falló la conexión a MySQL: (" $mysqli->connect_errno ") " $mysqli->connect_error;
            }
            
$mysqli->real_query"SELECT * FROM a ORDER BY id ASC" );
            
$resultado $mysqli->use_result();

            while ( 
$fila $resultado->fetch_assoc() )
            {
                echo 
"
                    <tr>
                        <td><input type=\"text\" name=\"{$fila['id']}_lote\" id=\"{$fila['id']}_lote\" value=\"{$fila['lote']}\" onchange=\"actualizaCampo( this )\"></td>
                        <td><input type=\"text\" name=\"{$fila['id']}_descrip\" id=\"{$fila['id']}_descrip\" value=\"{$fila['descrip']}\" onchange=\"actualizaCampo( this )\"></td>
                    </tr>
                "
;
            }
        
?>
    </table>
</body>
</html>

archivo donde actualizas los datos

Código PHP:

<?php
    
    
// dividimos la variable campo para identificar que registro se debe de actualizar
    
$campos explode"_"$_POST['campo'] );
    
$mysqli = new mysqli"localhost""tu_usuario""tu_pass""tu_db" );
    if ( 
$mysqli->connect_errno )
    {
        echo 
"Falló la conexión a MySQL: (" $mysqli->connect_errno ") " $mysqli->connect_error;
    }
    
$mysqli->real_query"UPDATE a set {$campos[1]}='{$_POST['valor']}' WHERE id='{$campos[0]}' " );

?>
en mi caso tengo una tabla con la siguiente estructura
Código SQL:
Ver original
  1. mysql> SELECT * FROM a
  2.     -> ;
  3. +----+-------+---------+
  4. | id | lote  | descrip |
  5. +----+-------+---------+
  6. |  1 | aaasd | a       |
  7. |  2 | casda | casd    |
  8. |  3 | f     | fasdas  |
  9. +----+-------+---------+
  10. 3 ROWS IN SET (0.00 sec)

si lo acoplas a tu tabla funcionara adecuadamente, lo de que campos puede modificar cada usuario, eso dependerá de una configuración por usuario.

espero te sirva

Saludos

IMPORTANTE: nunca genero el código para la solución, solo en este caso realice una excepción, ya que no tengo nada que hacer.
__________________
Recuerda que estamos aquí para orientarte, y no para hacer tu trabajo.
Si mi aporte fue de ayuda, recuerda que agradecer no cuesta nada +1

Skiper0125

Última edición por skiper0125; 11/02/2013 a las 01:38