Ver Mensaje Individual
  #4 (permalink)  
Antiguo 30/05/2011, 15:28
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 13 años, 6 meses
Puntos: 344
Respuesta: insertar utilizando jquery ajax y php

Si es por el id.

Te dejo un ejemplo de como sería:

Código PHP:
Ver original
  1. <?php
  2. while($row = mysql_fetch_array($query)){
  3. ?>
  4. <div>
  5. <input type="hidden" class="idvila" value="<?php echo $row['idvila']; ?>" />
  6. <input type="text" class="idsemana" value="<?php echo $row['idsemana']; ?>" />
  7. <input type="text"  class="tarifa"  value="<?php echo $row['tarifa']; ?>" />
  8. <input type="text" class="dispo"  value="<?php echo $row['dispo']; ?>" />
  9. </div>
  10. <?php
  11. }
  12. ?>

Código Javascript:
Ver original
  1. $('input').change(function(){  
  2.  
  3.                        var padre = $(this).parent();
  4.                        var idvila = $('.idvila',padre).val();
  5.                        var idsemana = $('.idsemana',padre).val();
  6.                        var tarifa = $('.tarifa',padre).val();
  7.                        var dispo = $('.dispo',padre).val();
  8.                        
  9.                    $.ajax({
  10.                       url:"modificarprecio.php",
  11.                       type:"POST",
  12.                       data: "idvila=" + idvila + "&idsemana=" + idsemana + "&tarifa=" + tarifa + "&dispo="+ dispo,
  13.                      
  14.                       error:function(){
  15.                          alert('Failed');
  16.                       },
  17.                       success:function(msg){
  18.                          alert('Success hola: ' + msg);
  19.                       }
  20.                    });
  21.                  });


Fíjate en el div que encubre todos los input, es muy importante para que el javascript funcione bien. Lo que hago en el javascript es ver que input ha cambiado a partir del elemento padre (el div) y luego recoge los valores mediante la clase del elemento, si te fijas bien.

Hay más maneras, pero esta es una. En vez del div, puedes usar un form si lo prefieres. Si usas un formulario, puedes usar el método serialize para crear la cadena de parámetros de forma muy sencilla, aunque tendrías que ponerles el atributo name:

Código PHP:
Ver original
  1. <?php
  2. while($row = mysql_fetch_array($query)){
  3. ?>
  4. <div>
  5. <input type="hidden" name="idvila" value="<?php echo $row['idvila']; ?>" />
  6. <input type="text"  name="idsemana" value="<?php echo $row['idsemana']; ?>" />
  7. <input type="text"  name="tarifa"  value="<?php echo $row['tarifa']; ?>" />
  8. <input type="text" name="dispo"  value="<?php echo $row['dispo']; ?>" />
  9. </div>
  10. <?php
  11. }
  12. ?>

Código Javascript:
Ver original
  1. <form>
  2. <input type="hidden" name="idvila" class="idvila"  value="idvila_1" />
  3. <input type="text"  name="idsemana" class="idsemana"  value="idsemana_1" />
  4. <input type="text"  name="tarifa" class="tarifa" value="tarifa_1" />
  5. <input type="text" name="dispo" class="dispo"   value="dispo_1" />
  6. </form>
  7.  
  8. <form>
  9. <input type="hidden" name="idvila" class="idvila"  value="idvila_1" />
  10. <input type="text"  name="idsemana" class="idsemana"  value="idsemana_1" />
  11. <input type="text"  name="tarifa" class="tarifa" value="tarifa_1" />
  12. <input type="text" name="dispo" class="dispo"   value="dispo_1" />
  13. </form>

Última edición por alexg88; 30/05/2011 a las 15:36