Ver Mensaje Individual
  #24 (permalink)  
Antiguo 14/01/2011, 10:04
Avatar de juaniquillo
juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 18 años, 5 meses
Puntos: 281
Respuesta: Insertar multiples Registros

para eso se puede usar el update que usa DW y después modificarlo. Lo primero es hacer incluir un campo oculto con el valor del id del pedido y lo pones dentro del loop. Yo lo llamé "id":



Uploaded with ImageShack.us

Después le agregas llaves ([]) a los nombres de ese campo y al campo de "despachada". Esto le dice a php que es un array:



Uploaded with ImageShack.us



Uploaded with ImageShack.us

Vas a: Server Behaviors y le das al símbolo de más (+) y escoges: Update Record.



Uploaded with ImageShack.us

Iguala el 'id' al campo 'id[] ' y entregada al campo 'despachada[]':



Uploaded with ImageShack.us

Dw te dará este código:

Código PHP:
Ver original
  1. $editFormAction = $_SERVER['PHP_SELF'];
  2. if (isset($_SERVER['QUERY_STRING'])) {
  3.   $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
  4. }
  5.  
  6. if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  7.   $updateSQL = sprintf("UPDATE pedidos SET entregada=%s WHERE id=%s",
  8.                        GetSQLValueString($_POST['despachada'], "text"),
  9.                        GetSQLValueString($_POST['id'], "int"));
  10.  
  11.   mysql_select_db($TU_DATABASE, $TU_CONEXION);
  12.   $Result1 = mysql_query($updateSQL, $TU_CONEXION) or die(mysql_error());
  13. }


Usas el campo post del campo id para hacer el foreach (loop). el mí o quedó así:

Código PHP:
Ver original
  1. if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  2.  
  3.   foreach($_POST['id'] as $key => $val){
  4.   $updateSQL = sprintf("UPDATE pedidos SET entregada=%s WHERE id=$val",
  5.                        GetSQLValueString($_POST['despachada'][$key], "text"));
  6.  
  7.   mysql_select_db($TU_DATABASE, $TU_CONEXION);
  8.   $Result1 = mysql_query($updateSQL, $TU_CONEXION) or die(mysql_error());
  9.  
  10.   }
  11. }


Y este es el formulario:

Código HTML:
Ver original
  1. <form id="form1" name="form1" method="POST" action="<?php echo $editFormAction; ?>">
  2.  <?php echo $row_Recordset1['nombre']; ?>
  3.  <table width="792" border="0" align="center" id="Exportar_a_Excel">
  4.   <tr>
  5.    <td width="143" class="text3"><div align="center"><span class="Estilo1">Fecha de Solicitud</span></div></td>
  6.    <td width="123" class="text3"><div align="center"><span class="Estilo1">Suministro</span></div></td>
  7.    <td width="135" class="text3"><div align="center"><span class="Estilo1">Presentación</span></div></td>
  8.    <td width="153" class="text3"><div align="center"><span class="Estilo1">Casa Productora</span></div></td>
  9.    <td width="116" class="text3"><div align="center"><span class="Estilo1">Cantidad</span></div></td>
  10.    <td width="96" class="text3"><div align="center"><span class="Estilo1">Despachada</span></div></td>
  11.   </tr>
  12.   <?php do { ?>
  13.    <tr class="text3">
  14.     <td class="Estilo2"><div align="center"><?php echo $row_MostrarPedido['fecha_solicitud']; ?></div></td>
  15.     <td class="Estilo2"><div align="center"><?php echo $row_MostrarPedido['suministro']; ?></div></td>
  16.     <td class="Estilo2"><div align="center"><?php echo $row_MostrarPedido['presentacion']; ?></div></td>
  17.     <td class="Estilo2"><div align="center"><?php echo $row_MostrarPedido['casa_productora']; ?></div></td>
  18.     <td class="Estilo2"><div align="center"><?php echo $row_MostrarPedido['cantidad']; ?></div></td>
  19.     <td class="Estilo2"><label>
  20.       <div align="center">
  21.         <input name="despachada[]" type="text" class="Estilo1" id="despachada[]" value="<?php echo $row_MostrarPedido['entregada']; ?>" />
  22.         <input name="id[]" type="hidden" id="id[]" value="<?php echo $row_MostrarPedido['id']; ?>" />
  23.       </div>
  24.      </label></td>
  25.    </tr>
  26.    <?php } while ($row_MostrarPedido = mysql_fetch_assoc($MostrarPedido)); ?>
  27.   </table>
  28.  <label>
  29.  <input type="submit" name="registrar" id="registrar" value="Enviar" />
  30.  </label>
  31.  <input name="cod_ips" type="hidden" id="cod_ips" value="<?php echo $row_MostrarPedido['cod_ips']; ?>" />
  32.  <input name="cod_ips" type="hidden" id="cod_ips" value="<?php echo $row_Recordset1['cod_ips']; ?>" />
  33.  <input type="hidden" name="MM_update" value="form1" />
  34. </form>

como ves he remplazado el valor del id en el sprintf por el valor del array en el foreach y le he agregado [$key] al calor de 'despachada' para que que concuerde con el id que se está actualizando.

Me dices si tienes problemas.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...

Última edición por juaniquillo; 14/01/2011 a las 10:11