Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/11/2012, 10:55
jmdearpe
 
Fecha de Ingreso: noviembre-2012
Mensajes: 66
Antigüedad: 11 años, 5 meses
Puntos: 10
Respuesta: Borrar fila de un array asociativo

Hola yo creo que simplemente puedes enviar por post o pof get

Por ejemplo por get

?mode=delete&item=id

Código PHP:
if($_GET['mode']=="delete" && $_GET['item']!="" && is_array($_SESSION['carro'][$_GET['item']]))
    unset(
$_SESSION['carro'][$_GET['item']]); 
Si quieresd hacerlo por ajax ya tiene más tela sería algo asi:

Código PHP:
 <td id="borra<?php unset($v['idp']);?>"><a href="JavaScript:borra('<?php unset($v['idp']);?>')">Borrar</a></td> 
<script>
//esta función sólo una vez no la pongas dentro del foreach sino antes o despues...
function borra(num)
{

        if (window.XMLHttpRequest)
        {
            xmlhttp=new XMLHttpRequest();
        }
        else
        {
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        
        xmlhttp.open("GET", "borra.php?mode=delete&item=" +num, true);
        xmlhttp.send();    
        if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
            var xml = xmlhttp.responseXML;
            dato=xml.getElementsByTagName("datos");
            if(dato[0].firstChild.nodeValue=="1")
            {
                  //borramos td
                  document.getElementById('borra' +num).innerHTML="";
            }            
        }
    }
}
</script>
Y el php que recibe:

Código PHP:
<?php
session_start
();
header('Content-Type: text/xml');
$xml="<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n";
$xml.="<respuesta>\n";

if(
$_GET['mode']=="delete" && $_GET['item']!="" && is_array($_SESSION['carro'][$_GET['item']]))
{
       unset(
$_SESSION['carro'][$_GET['item']]);
        
$xml.="<datos><![CDATA[1]]></datos>\n"
}
else
{
   
$xml.="<datos><![CDATA[0]]></datos>\n"
}
$xml.="</respuesta>\n";
print 
$xml;
?>
No sé si he cometido algún error, pero en fin con ajax es crear un id en el elemento td para poder borrar, en href del enlace llamar a una función javascript que comunica con un script en php llamado borrar.php, al que se le pasa por get un numero con el id del array a borrar y un mode.

Si se puede borrar porque el indice a borrar existe se devuelve por xml un 1 y javascript borra el contenido del td

Salu2 ;)