stview 0 Denunciar post Postado Maio 17, 2005 Cada dia eu acho uma dúvida neste carrinho de compras ... Estou com problemas para excluir dados do carrinho. Vou usar os dados como exemplo: PHP [*]$_SESSION["Prod"]["1"]["ID"] = 1; [*]$_SESSION["Prod"]["2"]["ID"] = 2; [*]$_SESSION["Prod"]["3"]["ID"] = 3; [*]$_SESSION["Prod"]["4"]["ID"] = 4; [*] [*]$_SESSION["Prod"]["1"]["QNT"] = 1; [*]$_SESSION["Prod"]["2"]["QNT"] = 2; [*]$_SESSION["Prod"]["3"]["QNT"] = 3; [*]$_SESSION["Prod"]["4"]["QNT"] = 4; [*] [*]$TOTAL = sizeof(array_keys($_SESSION["Prod"])); [*]for($c=1; $c<=$NPRODS; $c++) { [*]$sql = "SELECT * FROM tabela WHERE ID='".$_SESSION["Prod"]["$c"]["ID"]."'"; [*]... Por enquanto esta funcionando perfeito, o problema chega quando eu retiro um registro do array. Não sei se este é o melhor metodo, mas eu estou usando: unset($_SESSION["Prod"]["$c"]); Onde $c é a key enviada pelo form de exclusão. Ele exclui, mas na hora da nova listagem, se eu retirar o registro 3, ele fica em branco na listagem ... Como eu faria pra reagrupar o array, de modo que se eu excluir a key 3, a key quatro venha a ser a key 3, a key 5 venha a ser a key 4 ... Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Maio 18, 2005 Função básica: function ordenar($array) {$novoArray = array();foreach($array as $valor) {if ($valor!="" && $valor!=NULL) {$novoArray[] = $valor; }}return $novoArray; } http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 18, 2005 não que o prescot-sam esteja errado, mas veja esses outros exemplos: 1 function array_trim ( $array, $index ) { if ( is_array ( $array ) ) { unset ( $array[$index] ); array_unshift ( $array, array_shift ( $array ) ); return $array; } else { return false; } } 2 function array_trim($arr, $indice) { if(!isset($indice)) { $indice = count($arr)-1; } unset($arr[$indice]); array_shift($arr); return $arr; } 3 function eliminarElementoArreglo ($array, $indice) { if (array_key_exists($indice, $array)) { $temp = $array[0]; $array[0] = $array[$indice]; $array[$indice] = $temp; array_shift($array); //reacomodamos ices for ($i = 0 ; $i < $indice ; $i++) { $dummy = $array[$i]; $array[$i] = $temp; $temp = $dummy; } } return $array; } referência: http://br.php.net/manual/pt_BR/function.array-pop.php Compartilhar este post Link para o post Compartilhar em outros sites
stview 0 Denunciar post Postado Maio 18, 2005 Pelo q eu entendi o 1 e 2 aó mexem nas extremidades ...O 3 eu não entendi nada ... a=b, b=c .. a=c ... Compartilhar este post Link para o post Compartilhar em outros sites