Actualizar multiples columnas en una tabla con PHP en una bd MYSQL


La semana pasada me cambie de trabajo, y estoy trabajando en un proyecto con php y mysql. Y quiero compartir un codigo que he creado que permite la actualización de multiples columnas en una bd mysql.

No se si existe una solución mas limpia o que sea una buena practica en php, no tengo mucha experiencia en este lenguaje.

Pero bueno vamos al codigo.

 


/**
 * Metodo que permite actualizar los campos de una tabla,
 * este permite actualizar todos los campos que la persona desee
 * @author Pablo Videla.
 * @mail donvidela@gmail.com
 * @param type $table Tabla que corresponde actualizar
 * @param type $campoModificar Nombres de los campos (array)
 * @param type $campoNewValue Valores de los campos (array)
 * @param type $campoCondicion el campo de la condicion
 * @param type $campoValue Valor del campo de la condicion
 */
 public function registroActualizarMultiplesCampos($table, $campoModificar, $campoNewValue, $campoCondicion, $campoValue) {

if (count($campoModificar) > 0 && count($campoNewValue) > 0) {
 if (count($campoModificar) == count($campoNewValue)) {

for ($i = 0; $i < count($campoModificar); $i++) {

if (gettype($campoNewValue[$i]) == "string") {

$sqlExtra = $sqlExtra . " " . $campoModificar[$i] . " = '" . $campoNewValue[$i] . "',";
 } else {
 $sqlExtra = $sqlExtra . " " . $campoModificar[$i] . " = " . $campoNewValue[$i] . ",";
 }
 }
 }

$sqlExtra = trim($sqlExtra, ',');
 $sql = "UPDATE " . $table . " SET
 $sqlExtra

 WHERE " . $campoCondicion . " = " . $campoValue . "";
 }

$result = $this->_db->Execute($sql);

}

Cualquier duda me la hacen saber, saludos.

Acerca de Pablo Videla

Estudiante de ingeniería informática DuocUC, actualmente trabajando como Ingeniero de Software.

Publicado el marzo 23, 2013 en informatica, Programación y etiquetado en , , , , . Guarda el enlace permanente. 2 comentarios.

  1. if (count($campoModificar) > 0 && count($campoModificar) > 0)

    el segundo valor esta repetido, no creo que vaya ese .

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: