Tengo una funcion de actualizar datos de una bd, el problema esta que quiero modificar varios campos de un registro a la vez pero no me permite solo lo quedo hacer de una por vez.
Ejemplo:
Código PHP:
$objeto->modificar('usuario', array(direccion=>'Juan Perez 123'), ' id = 27');
Código PHP:
$objeto->modificar('usuario', array(direccion=>'Juan Perez 123', 'email=>'juan@mail.com'), 'idUsuario = 27);
Si imprimo el array queda asi:
direccion, email = "Juan Perez 123", "[email protected]" por eso no lo actualiza.
Aqui les muestro la funcion para ver que cambios puedo hacerle para que me tome los campos y valores por separado.
Código PHP:
function modificar($tabla = '', $c = Array(), $cond = '') {
// Verifico si hay tabla
if ($tabla == ''){
throw new Exception('Definir tabla en: modificar([tabla],...)');
return false;
}
$campo = '';
$valor = '';
$sqls = 'UPDATE '.$tabla.'SET {!CAMPOS = !VALORES}'.' WHERE'.$cond;// aca esta el dilema creo
foreach($c as $k => $v) {
$campo .= $k.', ';
$valor .= '"'.$v.'", ';
}
$campo = substr($campo, 0, strlen($campo) -2);
$valor = substr($valor, 0, strlen($valor) -2);
$sqls = str_replace('{!CAMPOS', $campo, $sqls);
$sqls = str_replace('!VALORES}', $valor, $sqls);
$res = mysql_query($sqls);