Archivo del sitio

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.

Anuncios
A %d blogueros les gusta esto: