PHP - Array me esta volviendo loco

 
Vista:

Array me esta volviendo loco

Publicado por Antonio (1 intervención) el 16/12/2015 12:01:49
hola a todos, estoy realizando un script para el borrado de datos de un array en php, solo puedo usar php y array nada de base de dato ni javascript. la cuestion es que lo tengo casi creado pero hay una cosa que me esta volviendo loco.
Realizo un foreac y voy listando los datos del array y junto a ellos un boton de devolucion, que cuando pulse en uno de ello borre los datos en el array, el problema que tengo que pulse el que pulse siempre me borrar el mismo.
este es el codigo ;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
function ver_datos_devolver (&$linea,&$saldo,&$value,&$clave,&$movimiento) {
 
        $linea++;
 
        if ($linea==3)  {
 
                $fecha=$clave-2;
                $concepto=$clave-1;
                $importe=$clave;
 
                     if ((isset($_REQUEST['devolver'])) or (isset($_REQUEST['devolucion']))) {
                     if ($movimiento[$importe]<0) {
 
                        echo "<td id='fecha'  class='tddatos'>".$movimiento[$fecha]."</td>" ;
                        echo "<td id='concepto'  class='tddatos'>".$movimiento[$concepto]."</td>" ;
                        echo "<td id='importe'  class='tddatos'>".$movimiento[$importe]."</td>" ;
 
               echo "<td id='_operacion' class='tddatos'>
                   
                
                <input id='devolucion' name='devolucion' type='submit' class='button' value='devolucion'></td>
                <input id='fecha' name='fecha' type='text' value='".$fecha."'>
                <input id='concepto' name='concepto' type='hidden' value='".$concepto."'>
                <input id='importe' name='importe' type='hidden' value='".$importe."'>";
 
 
                      } }
                echo "</tr>";
 
 
 
                $linea=0;
        }
 
    }
esta la funcion de donde lo llamo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
function tabla (&$movimiento) {
 
    //escribo tabla y comienzo de la cabecera
 
    echo
 
    "<table>
                
        <tr>
        
            <td id='_fecha' class='tdcabecera'>Fecha</td>
            <td id='_concepto' class='tdcabecera'>Concepto</td>
            <td id='_importe' class='tdcabecera'>Importe</td>";
 
    if ((isset($_POST['ingresar'])) or (isset($_POST['pagos']))
        or (isset($_POST['ingresa'])) or (isset($_POST['pagar']))
            or (isset($_POST['historico'])) or (isset($_POST['ver_historico']))) {
 
        echo
            "<td id='_saldo' class='tdcabecera'>Saldo</td>
            <td id='_operacion' class='tdcabecera'>Operacion</td>";
 
 
    }
 
    if (isset($_POST['veringreso'])) {
 
        echo
 
            "<td id='_operacion' class='tdcabecera'>Operacion</td>";
 
    }
 
    if ((isset($_POST['devolver'])) or (isset($_POST['devolucion']))) {
 
        echo
 
            "<td id='_operacion' class='tdcabecera'>Accion</td>";
 
    }
 
    echo "</tr>";
 
       //fin de cabecera
     echo "<tr>";
    $linea=0;
    $saldo=0;
 
    foreach ($movimiento as $clave => $value) {
 
        if ((isset($_POST['ingresar']))
                or (isset($_POST['ingresa']))
                or (isset($_POST['historico']))
                or (isset($_POST['ver_historico']))
                or (isset($_POST['pagos']))
                or (isset($_POST['pagar']))) {
 
            ver_datos($linea,$saldo,$value,$clave,$movimiento);
 
 
        }
 
        else if ((isset($_POST['veringreso']))
            or (isset($_POST['veringreso_historico']))
            or (isset($_POST['verpagos_historico']))
            or (isset($_POST['verpagos']))) {
 
            ver_solo($linea,$value,$clave,$movimiento);
 
        }
 
        else if  ((isset($_POST['devolver'])) or (isset($_POST['devolucion']))) {
 
            ver_datos_devolver($linea,$saldo,$value,$clave,$movimiento);
 
        }
 
        else {
 
            echo "</tr>";
 
        }
 
    }
 
}
esta la funcion con la que la borro
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
function borrar_array(&$realizado,&$movimiento) {
 
 
 
 
          if (isset($_REQUEST['devolucion'])){
            if ($_POST['devolucion']=='devolucion') {
             echo
               "<div id='contenedor'>
              <div class='alerta'>
                  Realmente desea borrar el recibo siguiente: </br>
                  Fecha: ".$movimiento[$_POST['fecha']]."</br>
                  Concepto: ".$movimiento[$_POST['concepto']]." </br>
                  Cantidad: ".$movimiento[$_POST['importe']]." </br>
               </div>
               </br>
               <div id='botones'>
                  <input id='devolucion' name='devolucion' type='submit' class='button' value='Si'>
                  <input id='devolucion' name='devolucion' type='submit' class='button' value='No'>
               </div>
               </div>
               </br>";
          }
 
     if ($_POST['devolucion']=='Si') {
 
    unset($movimiento[$_POST['fecha']],$movimiento[$_POST['concepto']],$movimiento[$_POST['importe']]);
     echo "<div class='aceptado'>Recibo borrado</div>";
     }
 
 
     $realizado=1;
     }
    }
y el codigo de la pagina que lo llama
1
2
3
4
5
6
crear_array($movimiento);
 
 
borrar_array($realizado,$movimiento);
 
 tabla($movimiento);

Gracias por vuestra ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder