Foros del Web » Programando para Internet » PHP »

Actualización masiva de registros

Estas en el tema de Actualización masiva de registros en el foro de PHP en Foros del Web. Estimados, He revisado todo este foro y todo lo que pude encontrar en Google y aún no puedo ver la luz. En palabras simples, quiero ...
  #1 (permalink)  
Antiguo 13/11/2006, 16:07
 
Fecha de Ingreso: abril-2002
Mensajes: 18
Antigüedad: 22 años
Puntos: 0
Actualización masiva de registros

Estimados,

He revisado todo este foro y todo lo que pude encontrar en Google y aún no puedo ver la luz.

En palabras simples, quiero mostrar una serie de registros en un formulario, hacerles modificaciones, marcarlos con un checkbox para finalmente guardarlos en la base de datos.

Estoy claro que debo usar un array bidimensional, pero no logro que se actualicen los cambios en la base de datos:

Resumiendo el código, tengo:
Código PHP:
             <form action='mod_art.php' method='post'>

      <
tr bordercolor='#CCCCCC'>

        <
td colspan='15' class='contenido'><div align='center'>En el cat&#6959;go existen $cuenta2 registros $muestra</div></td>

        
</tr>

        <
tr class='pie' bgcolor='#006699'>

          <
td>Familia</td>

          <
td>Subfamilia</td>

          <
td>MOD</td>

          <
td>Categor&#55392;Web</td>

          
<td>C&oacute;digo</td>

          <
td>Descripci&oacute;n</td>

          <
td>Proveedor</td>

          <
td>Proveedor Web</td>

          <
td>Bodega</td>

          <
td>Precio Neto</td>

          <
td>Precio Oferta</td>

          <
td>Stock F&iacute;sico</td>

          <
td>Unidad</td>

          <
td>Estado</td>

          <
td>Empresa</td>

        </
tr>";



while ($a = mysql_fetch_array($consulta2))

{

echo"    
<tr bordercolor='#1851C6' bgcolor=$color

          <
input type='hidden' name='codigo[]' value='$codigo'>

          <
td class='contResul2'>$a[familia]</td>

          <
td class='contResul2'>$a[subfamilia]</td>

          <
td class='contResul2'><input type='checkbox' name='mod[]' value='Si' class='contResul2'></td>

          <
td class='contResul2'>$a[codigo]</td>

          <
td class='contResul2'>$a[descripcion]</td>

          <
td class='contResul2' align='right'>$$a[precio]</td>

          <
td class='contResul2' align='right'><input type='text' name='oferta[]' value='$a[precio_oferta]' size='6'></td>

          <
td class='contResul2' align='right'>$a[stock]</td>

          <
td class='contResul2'>$a[unidades]</td>

          <
td class='contResul2'><select name='estado2[]' class='contResul2' id='select4'>

                  <
option value='$a[estado]'>$a[estado]</option>";        



            //guardamos la consulta en un array y llenamos la opcion con las unidades de negocio

             while ($resul_est2 = mysql_fetch_array($estados2))

            {

            echo "
<option value='$resul_est2[estado]'>$resul_est2[estado]</option>"; 

            } 



echo "

                  
</select></td>

          <
td class='contResul2'><select name='empresa[]' class='contResul2' id='select4'>

                                 <
option value='$a[empresa]'>$a[empresa]</option>

                                 <
option value='Ninguna'>Ninguna</option>

                                 <
option value='Ambas'>Ambas</option>

                                 <
option value='Easy'>Easy</option>

                                <
option value='Sodimac'>Sodimac</option></select></td>

        </
tr>";

}

            echo "
<tr>

                    <
td colspan='3' align='right'><input type='submit' name='mod' value='Modificar'></td>

                    <
td colspan='12' align='right'></td>

                    </
tr></form
Y para actualizar tengo lo siguiente:
Código PHP:
for ($i 0$i count($_POST['codigo']); $i++) 



mysql_query("UPDATE catalogo SET categoria_web='{$_POST['categoria3'][$i]}',proveedor_web='{$_POST['proveedorweb2'][$i]}',precio_oferta='{$_POST['oferta'][$i]}',estado='{$_POST['estado2'][$i]}',empresa='{$_POST['empresa'][$i]}' WHERE codigo='{$_POST['codigo'][$i]}'"); 


Y NO ME RESULTA!!!!, ¿Que estoy haciendo mal?.

slds
Mauricio
  #2 (permalink)  
Antiguo 13/11/2006, 22:50
Avatar de seyacat  
Fecha de Ingreso: agosto-2006
Mensajes: 382
Antigüedad: 17 años, 8 meses
Puntos: 0
$_POST['categoria3'][$i] no lo puedes incluir dentro de string "" por que no te reconoce como arreglo, debrias primero mandarlo a una variable comun
categoria3 = $_POST['categoria3'][$i]
"UPDATE catalogo SET categoria_web='categoria3',pr.....
o en efecto
UPDATE catalogo SET categoria_web='".$_POST['categoria3'][$i]".',prov...
  #3 (permalink)  
Antiguo 14/11/2006, 20:42
 
Fecha de Ingreso: abril-2002
Mensajes: 18
Antigüedad: 22 años
Puntos: 0
Te pasaste!!!!.

Lo logré. Murphy...estuve un día completo tratando de solucionarlo y era tan simple...

Gracias
Neron
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 14:59.