Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/05/2012, 13:45
Avatar de javiandgo
javiandgo
 
Fecha de Ingreso: septiembre-2010
Ubicación: Cumaral-Meta, Colombia
Mensajes: 457
Antigüedad: 13 años, 7 meses
Puntos: 55
Pregunta UPDATE varios registros de una columna

Saludos,

Quisiera su orientación frente a este inconveniente... tengo un formulario de la siguiente manera:

Formulario:

Código HTML:
Ver original
  1. <form class="settings" method="post">
  2.     <div class="module">
  3.     <?php  ?>
  4.         <h3 class="site"><span>Opciones Generales</span></h3>
  5.         <div class="mods">
  6.                 <div>
  7.                     <label>Nombre del sitio:</label>
  8.                     <input type="text" name="site_name" value="<?php echo sitename; ?>">
  9.                 </div>
  10.                 <div>
  11.                     <label>Descripción corta:</label>
  12.                     <textarea name="site_desc"><?php echo sitedesc; ?></textarea>
  13.                 </div>
  14.                 <div>
  15.                     <label>Palabras clave:</label>
  16.                     <textarea name="site_keywords"><?php echo keys; ?></textarea>
  17.                 </div>
  18.                 <div>
  19.                     <label>Copyright:</label>
  20.                     <input type="text" name="site_copy" value="<?php echo copyr; ?>">
  21.                 </div>
  22.         </div>
  23.     </div>
  24.    
  25.     <div class="module">
  26.         <h3 class="proyect"><span>Contacto</span></h3>
  27.         <div class="mods">
  28.                 <div>
  29.                     <label>E-mail:</label>
  30.                     <input type="text" name="site_email" value="<?php echo siteemail; ?>">
  31.                 </div>
  32.                 <div>
  33.                     <label>Telefono:</label>
  34.                     <input type="text" name="site_phone" value="<?php echo phone; ?>">
  35.                 </div>
  36.                 <div>
  37.                     <label>Celular:</label>
  38.                     <input type="text" name="site_movil" value="<?php echo movil; ?>">
  39.                 </div>
  40.                 <div>
  41.                     <label>Dirección:</label>
  42.                     <textarea name="site_address"><?php echo address; ?></textarea>
  43.                 </div>
  44.         </div>
  45.     </div>
  46. </form>

Recojo los datos del formulario en un array con el siguiente código:


Código PHP:
Ver original
  1. if(isset($_POST['Submit'])) {
  2.  
  3. $modify = array (
  4.     $_POST['site_name'],
  5.     $_POST['site_desc'],
  6.     $_POST['site_keywords'],
  7.     $_POST['site_copy'],
  8.     $_POST['site_email'],
  9.     $_POST['site_phone'],
  10.     $_POST['site_movil'],
  11.     $_POST['site_address']
  12. );
  13.  
  14. ?>

Lo que necesito es pasar esos valores a diferentes filas de una misma columna.
La tabla tiene la siguiente estructura:

Código table:
Ver original
  1. set_id    set_name            set_value
  2. 1           site_name               el nombre del sitio
  3. 2           site_description        la descripcion del sitio
  4. 4           site_keywords           las keywords
  5. 5           copyright               el copyright
  6. 6           site_email              [email protected]
  7. 7           phone                   555555555
  8. 8           movil                   333 0322222
  9. 9           address                 la direccion

Intente leer el set_id como un array y montarlos en un bucle for junto con el array del formulario, pero no me funciono....

Declarando un Update para cada registro funciona, pero tendría que hacer un update para las 9 filas.

Código PHP:
Ver original
  1. $id_options = mysql_query ("SELECT set_id FROM settings");
  2.     $idoption=mysql_fetch_array($id_options);
  3.  
  4.     for ($i=0; $i<2; $i++) {
  5.     $save_db = mysql_query("UPDATE settings SET set_value='".$modify[$i]."' WHERE set_id=".$idoption[$i]);

Agradezco su ayuda con este inconveniente