Re: [PHP-ES] Varios delete en una misma consulta

From: Ivan Rodriguez ( epplestun .en. alaplaya.com)
Date: Fri Mar 05 2004 - 08:38:42 CET


Buenas, si tu tabla no es del tipo InnoDB o BDB no podras hacer uso de las
transacciones, pero no creo que sea necesario algo asi, por que no haces uso
de un bucle para recorrer los datos de una matriz y generas la consulta? al
estilo de:

<code>
$arDatos = array(
                            array('tabla 1', 'a'),
                            array('tabla 2', 'b'),
                            array('tabla 3', 'c')
                     );

function VariosDeletes($arDatos) {
    global $conexion;

    if(!is_array($arDatos)) {
        echo "El parametro de la función VariosDeletes() debe de ser un
Array";
    } else {
        foreach($arDatos as $arIndice) {
            $SQL = "DELETE FROM " . $arIndice[0] . " WHERE " . $arIndice[1]
. " = " . $arIndice[1];
            return mysql_query($SQL, $conexion) or die (mysql_error());
        }
    }

}

$conexion = mysql_connect(HOST, USER, PASS) or die (mysql_error());
mysql_select_db(BBDD, $conexion) or die (mysql_error());

VariosDeletes($arDatos);

mysql_close();
</code>

Bueno, espero que te sirva, en la funcion que creamos [ resource
VariosDeletes(array) ] debehacer mas comprobaciones para asegurarte que los
datos que le llegan al bucle son correctos, yo te puse lo del is_array()
para comprobar que el parametro de la funcion es un array, pero bueno .....

Un saludo!

Iván Rodriguez Espada
_________________________
ALAPLAYA.COM
http://www.alaplaya.com
epplestun .en. alaplaya.com

----- Original Message -----
From: "Jesus Aneiros Sosa" < aneiros .en. finf.ucf.edu.cu>
To: "emanuel quintana" < emanuel_quintana_cv .en. hotmail.com>
Cc: < php-es .en. lists.php.net>
Sent: Friday, March 05, 2004 4:16 AM
Subject: Re: [PHP-ES] Varios delete en una misma consulta

> Que tipo de tabla usas? tengo entendido que solo con InnoDB y BDB
> funcionan las transacciones.
>
> --
> Saludos,
>
> --aneiros.
>
> On Thu, 4 Mar 2004, emanuel quintana wrote:
>
> > Hola buenas tardes colegas, mi problema es el siguiente, quiero realizar
3
> > deletes en una misma consulta estuve leyendo la documentacion del sitio
> > http://www.mysql.com/doc/en/COMMIT.html, pero no logro hacer andar la
> > consulta.
> > la consulta que hago es la siguiente.
> > START TRANSACTION;
> > DELETE FROM tabla 1 WHERE a = 'a';
> > DELETE FROM tabla 2 WHERE b = 'b' ;
> > DELETE FROM tabla 3 WHERE c = 'c' ;
> > COMMIT;
> >
> > Si alguien me podria ayudar, se lo agradeceria =)
> >
> > _________________________________________________________________
> > Las mejores tiendas, los precios mas bajos, entregas en todo el mundo,
> > YupiMSN Compras: http://latam.msn.com/compras/
> >
> >
>
>
> --
> Este mensaje ha sido analizado por el servicio de antivirus
> de la UCf, mediante MailScanner y F-prot en busca de virus
> y otros contenidos peligrosos, y se considera que está limpio.
> No obstante tome sus propias medidas de seguridad.
>
> --
> PHP Spanish Localization Talk Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:34 CEST