Mejor respuesta enecumene , 13 enero 2017 - 08:56
Hazlo así y se te devolverá la llave/índice del arreglo:
Esta vez sí está probado.
Saludos. Ir al mensaje completo
Mejor respuesta enecumene , 13 enero 2017 - 08:56
Hazlo así y se te devolverá la llave/índice del arreglo:
Escrito 13 enero 2017 - 07:16
Señores que pena la joda, tengo un array multidimensional el cual estoy volcando en una tabla para mostrar los productos que se han seleccionado, pero con el fin de que el usuario puede elimimar uno en especial necesito saber como le hago para mostrar el numero de la linea de dicho array:
hago un print r al array y el resultado es este, donde lo que esta en rojo es lo que me muestra la tabla luego de procesarlo con un foreach, pero necesito saber como hago para imprimir en pantalla lo que esta en verde para poder borrar solo la linea que se necesite mas no todo el array:
Array (
[0] => Array ( [id] => 1 [cod] => SO3Q0 [nom] => RAYBAN AVIATOR 2 [canti] => 2 [total] => 160000 [precio] => 80000 )
[1] => Array ( [id] => 2 [cod] => 7O97P [nom] => WAYFAR [canti] => 4 [total] => 32000 [precio] => 8000 )
[2] => Array ( [id] => 1 [cod] => SO3Q0 [nom] => RAYBAN AVIATOR 2 [canti] => 1 [total] => 80000 [precio] => 80000 )
[3] => Array ( [id] => 2 [cod] => 7O97P [nom] => WAYFAR [canti] => 2 [total] => 16000 [precio] => 8000 ) )
De nuevo gracias por su sabiduria jeje un abrazo.
Escrito 13 enero 2017 - 07:44
No lo he probado, lo hice al vuelo pero te da una pista, la función Key() te devuelve la clave del arreglo.
Saludos
Escrito 13 enero 2017 - 07:54
El problema de key(), es que me muestra la clave de cada arreglo y todos serian 1, te receurdo que tengo un array multidimensional y al procesarlo con foreach se convierte en arreglos independientes por lo tanto usar el key() me va a devolver el mismo valor, no se si me hago entender. Por otro lado use lo siguiente que si me muestra la clave de cada uno de los array: array_keys($_SESSION['PROD']) este si me devuelve las claves de cada uno el prpblema es que para procesarlo debo usar un foreach dentro del foreach que ya tengo y me esta repitiendo todo el proceso la cantidad de veces que tenga en arrays dentro del array principal jajaja es un caos.
Escrito 13 enero 2017 - 08:05
Pues creo que tienes mal planteada la forma en que lo haces, postea tu código aquí y que quieres hacer con ella, a ver si le damos la vuelta al asunto.
Saludos.
Escrito 13 enero 2017 - 08:34
con esto creo las filas de la tabla:
<?php if ($_SESSION['PROD'] == 0){} else {foreach($_SESSION['PROD'] as $pro){ ?> <tr> <td><?php echo $pro['cod']; ?></td> <td><?php echo $pro['nom']; ?></td> <td class="warning"><?php echo $pro['canti']; ?></td> <td> ACA DEBERIA IR EL BOTON PARA ELIMINAR EL PRODUCTO DE LA LISTA </td> </tr> <?php };?>
Hasta acá no hay pedo el resultado es:
https://drive.google...iew?usp=sharing
Para generar el botón necesito la clave de cada arreglo y para crear el botón uso esto:
<td><a href="creafactura.php?key=<?php echo $key; ?>"><button type='button' class='btn btn-danger btn-xs center-block'>Borrar</button></a></td> <?php }; ?>
Esto me crea el botón correcto para eliminar el producto, el problema es que no puedo usar ese foreach dentro del otro foreach por que me queda algo así:
<?php if ($_SESSION['PROD'] == 0){} else {foreach($_SESSION['PROD'] as $pro){ ?> <tr> <td><?php echo $pro['cod']; ?></td> <td><?php echo $pro['nom']; ?></td> <td class="warning"><?php echo $pro['canti']; ?></td> <td><a href="creafactura.php?key=<?php echo $key; ?>"><button type='button' class='btn btn-danger btn-xs center-block'>Borrar</button></a></td> <?php }; ?> </tr> <?php };?>
https://drive.google...iew?usp=sharing
Y si agrego otro producto es un botón nuevo en la misma fila, así:
https://drive.google...iew?usp=sharing
la cuestión es que no he podido conseguir que dentro de uno solo foreach me haga lo de dos foreach, intente con un AND dentro de uno y pues no se puede jajaja, use el foreach para crear botones fuera del foreach de la lista de productos y pues no quedan en la misma linea, no se que hacer.
Escrito 13 enero 2017 - 08:56 Mejor respuesta
Escrito 13 enero 2017 - 08:57
Ahí es donde no sirve, por que si uso:
<?php if ($_SESSION['PROD'] == 0){} else {foreach($_SESSION['PROD'] as $pro){ ?> <tr> <td><?php echo $pro['cod']; ?></td> <td><?php echo $pro['nom']; ?></td> <td class="warning"><?php echo $pro['canti']; ?></td> </tr> <?php };?>
La clave es la misma para cualquier producto, así (ahí solo estoy imprimiendo la clave no genero el botón para que veas el resultado):
https://drive.google...WVJxZXk1NWQwWXc
Y si uso $key($pro) el resultado es "id" en todas así:
https://drive.google...UXJtY0kyc1pxTEk
Escrito 13 enero 2017 - 08:59
Escrito 13 enero 2017 - 09:03
Estaba llorando por nada jajajajaja, solo fue agregar eso:
<?php if ($_SESSION['PROD'] == 0){} else {foreach($_SESSION['PROD'] as $key => $pro){ ?> <tr> <td><?php echo $pro['cod']; ?></td> <td><?php echo $pro['nom']; ?></td> <td class="warning"><?php echo $pro['canti']; ?></td> <td><a href="creafactura.php?key=<?php echo $key; ?>"><button type='button' class='btn btn-danger btn-xs center-block'>Borrar</button></a></td> </tr> <?php };?>
Solo era agregar as $key
ahora si puedo dormir en paz ajajaja sos un genio, la verdad es que a veces uno se enreda por cosas tan simples como esta.