Foros del Web » Programando para Internet » PHP » CodeIgniter »

[SOLUCIONADO] Modificar mas de un registro en codeigner

Estas en el tema de Modificar mas de un registro en codeigner en el foro de CodeIgniter en Foros del Web. Eh visto como modificar un registro en codeigniter pero como le hago si tengo que modificar muchos registros a la vez, ejemplo el precio a ...
  #1 (permalink)  
Antiguo 30/09/2015, 18:12
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 0
Busqueda Modificar mas de un registro en codeigner

Eh visto como modificar un registro en codeigniter pero como le hago si tengo que modificar muchos registros a la vez, ejemplo el precio a N numero de articulos, como enviar los datos al controlador.

No se si me explico si alguien me puede apoyar
  #2 (permalink)  
Antiguo 05/10/2015, 14:45
 
Fecha de Ingreso: septiembre-2013
Ubicación: Madrid
Mensajes: 59
Antigüedad: 11 años, 1 mes
Puntos: 6
Respuesta: Modificar mas de un registro en codeigner

Hola,

Debes cambiar la sentencia "where" de la siguiente forma:

Si lo normal es hacer un
Código PHP:
Ver original
  1. $this->db->where('id', $id)->update('tabla', $datos)

Pues deberías hacer una selección múltiple, por ejemplo por categorías en lugar de id o si tienes varios id en un array deberías hacer
Código PHP:
Ver original
  1. $articulos = array(1,2,3,4,5,6);
  2. $ids = implode(',', $articulos);
  3. $datos = array(
  4. 'categoria' => 'loquequieras');
  5. $this->db->where('id in', "($ids)")->update('tabla', $datos);

De esta forma la consulta a MySQL sería algo tal que así:

UPDATE tabla SET categoria = 'loquequieras' WHERE id IN (1,2,3,4,5,6)

Espero que te sea de ayuda,

Un abrazo
  #3 (permalink)  
Antiguo 06/10/2015, 07:49
 
Fecha de Ingreso: julio-2008
Mensajes: 19
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Modificar mas de un registro en codeigner

Bueno mas o menos entendí, como pasaría los datos al controlador este es mi codigo que imprime los artículos, y solo tengo que irle poniendo precios a los articulos que ya están en la base de datos, de la forma normal sin codeigniter recuerdo que en un ciclo
$dato = $_POST[$precio["precio"]];


Código PHP:
Ver original
  1. <?php
  2.                                      $i=1;
  3.                                         if ($partida != FALSE){    
  4.                                         foreach ($partida->result() as $row) {
  5.                                            echo "<tr class='item-row'>";
  6.                                                 echo " <input type='hidden' name='".$row->FOLIO_PARTIDA."'>";
  7.                                                 echo "<td align='center'>".$i++."</td>";
  8.                                                 echo '<td><input type="number" min="1" value="'.$row->CANTIDAD.'" class="cant" readonly /></td>';                                                
  9.                                                 echo "<td>".$row->NOMBRE_ARTI."</td>";
  10.                                                 echo "<td>".$row->UNIDAD_M."</td>";
  11.                                                 echo "<td>".$row->DESCRIPCION."</td>";
  12.                                                 echo ' <td><input type="number" min="1" step="00.01" value="0.00" class="precio"/></td>';///esta parte es lo que modifico el precio
  13.                                
  14.                                                 echo   ' <td class="price">0</td>
  15.                                                    ';
  16.  
  17.                                             echo "</tr>";
  18.                                         }
  19.                                     } ?>

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:07.