Foros del Web » Programando para Internet » PHP »

borrar elemento de una tabla

Estas en el tema de borrar elemento de una tabla en el foro de PHP en Foros del Web. Hola que tal, tengo una tabla de pedidos que se genera a través del contenido de una variable de sesion. Lo que aqui equivaldría a ...
  #1 (permalink)  
Antiguo 18/05/2009, 05:29
 
Fecha de Ingreso: abril-2008
Mensajes: 50
Antigüedad: 11 años, 8 meses
Puntos: 0
borrar elemento de una tabla

Hola que tal,
tengo una tabla de pedidos que se genera a través del contenido de una variable de sesion. Lo que aqui equivaldría a $pedidos

Bien, el caso es que me gustaría darle la posibilidad al usuario de borrar un elemento de esta tabla antes de su procesamiento.

Código PHP:
<?php
$pedidos 
= array('12' => array('precio'=>'112''nomProducto'=>'pepino''codigoProducto'=>'20000'), '8' => array('precio'=>'900''nomProducto'=>'casa''codigoProducto'=>'20020'), '10' => array('precio'=>'850''nomProducto'=>'cocacola''codigoProducto'=>'34500'));


$pedidos_salida '<div class="seccion_tit"><span>Tabla de pedidos</span><span id="cuantosPedidos">Tienes <b>'.count($pedidos).'</b> pedidos en la lista</span></div>';
$pedidos_salida .= '<form action="'.$_SERVER['PHP_SELF'].'" method="post"><table id="pedidosTable">
  <tr>
    <td></td>
    <td>Código Producto</td>
    <td>Nombre Producto</td>
    <td>Precio</td>
  </tr>'
;

foreach(
$pedidos as $key=>$value){
    if(isset(
$_POST[$key])){
        unset(
$pedidos[$_POST[$key]]);
        continue;
    }
    
$pedidos_salida .= '<tr class="impar">';
    
$pedidos_salida .= '<td><button type="submit" value="'.$key.'" name="'.$key.'">x</button></td>
                    <td class="codigoPedidos">'
.$pedidos[$key]['codigoProducto'].'</td>
                    <td class="nomPedidos">'
.$pedidos[$key]['nomProducto'].'</td>
                    <td class="precioPedidos">'
.$pedidos[$key]['precio'].'</td>';
    
$pedidos_salida .='</tr>';
}
$pedidos_salida .='</table></form>';

echo 
$pedidos_salida;
?>
esto es más o menos lo que yo hago. Pero funciona de forma diferente a lo esperado. El caso es que la primera vez que le das a borrar un elemento, parece borrarlo, pero a la siguiente vez que le das a borrar al otro elemento, se mantienen las dos filas y sustituye el elemento "borrado" por el siguiente en la matriz.

El caso es que de la matriz realmente no se llegan a borrar del todo aquellos los elementos

Alguna manita?

muchas gracias y saludos
  #2 (permalink)  
Antiguo 18/05/2009, 11:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 13 años, 7 meses
Puntos: 2135
Respuesta: borrar elemento de una tabla

Coloca el if(isset() para borrar antes del foreach. Por otro lado cada que se recargue la pagina, estas re-definiendo el array por eso nunca se "borran" para que esos cambios persistan entre requests, vas a tener que guardarlo en una variable de sesión o similar.

Saludos.
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:37.