Foros del Web » Programando para Internet » PHP »

Problema para actualizar múltiples registros de MYSQL desde un WHILE

Estas en el tema de Problema para actualizar múltiples registros de MYSQL desde un WHILE en el foro de PHP en Foros del Web. Que tal amigos, disculpen el post pero no consigo solución ya busque y no vi solucion. Tengo un problema creando unas miniaturas de unas imagenes, ...
  #1 (permalink)  
Antiguo 13/12/2011, 13:05
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 0
Problema para actualizar múltiples registros de MYSQL desde un WHILE

Que tal amigos, disculpen el post pero no consigo solución ya busque y no vi solucion. Tengo un problema creando unas miniaturas de unas imagenes, las imagenes se crean sin problemas pero al actualizar la base de datos le pone el mismo nombre a todas las imagenes.

Aqui el codigo:

Código PHP:
Ver original
  1. <?php
  2. $id = $_GET["id"];
  3. include("configs/aut_config.inc.php");
  4.  
  5.         /**
  6.  
  7. * Set the path to the Asido library
  8.  
  9. */
  10.  
  11. include_once('asido/class.asido.php');
  12.  
  13.  
  14.  
  15.  
  16. /**
  17.  
  18. * Create an Asido_Image object
  19.  
  20. */
  21. /**
  22.  
  23. * Use the GD driver
  24.  
  25. */
  26.  
  27. asido::driver('gd');
  28. $select = "SELECT * FROM imagenes WHERE id_publicacion = '$id' and principal = '0'";
  29. $result = mysql_query($select,$con) or die ("Error ".mysql_error());
  30.  
  31. while ($row = mysql_fetch_array($result)){
  32.    
  33.    
  34.     $nombre_foto1 = explode("/",$row["ruta"]);
  35.     $nombre_foto = $nombre_foto1[2];
  36.    
  37.     $thumb2 = 'fotos/vehiculos/thumb2_'.$nombre_foto;
  38.     $thumb3 = 'fotos/vehiculos/thumb3_'.$nombre_foto;
  39.    
  40.     //actualizo el registro que contiene la foto estableciendolo a 1 para indicar que es la foto principal
  41.     echo $thumb2.'<br>'.$thumb3;
  42.      
  43.       mysql_query("UPDATE grupos SET thumb2 = '$thumb2', thumb3 = '$thumb3'",$con);
  44.    
  45.  
  46. $i2 = asido::image(
  47.  
  48. 'fotos/vehiculos/'.$nombre_foto,
  49.  
  50. 'fotos/vehiculos/thumb2_'.$nombre_foto
  51.  
  52. );
  53.  
  54. /**
  55.  
  56. * Resize it proportionally to make it fit inside a 400x400 frame
  57.  
  58. */
  59.  
  60. asido::resize($i2, 400, 300, ASIDO_RESIZE_PROPORTIONAL);
  61.  
  62. $i2->save(ASIDO_OVERWRITE_ENABLED);
  63.  
  64.  
  65. $i3 = asido::image(
  66.  
  67. 'fotos/vehiculos/'.$nombre_foto,
  68.  
  69. 'fotos/vehiculos/thumb3_'.$nombre_foto
  70.  
  71. );
  72.  
  73. /**
  74.  
  75. * Resize it proportionally to make it fit inside a 400x400 frame
  76.  
  77. */
  78.  
  79. asido::resize($i3, 67, 50, ASIDO_RESIZE_PROPORTIONAL);
  80.  
  81. $i3->save(ASIDO_OVERWRITE_ENABLED);
  82.    
  83.     }
  84.  
  85. ?>

las imagenes se crean perfectamente y cada una con el nombre que le corresponde pero al usar la sentencia update de mysql me ingresa el nombre de la ultima foto a toda la BD.

Podrían ayudarme?

Muchas gracias
  #2 (permalink)  
Antiguo 13/12/2011, 13:12
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 15 años, 11 meses
Puntos: 528
Respuesta: Problema para actualizar múltiples registros de MYSQL desde un WHILE

Bueno, es que cuando dices
mysql_query("UPDATE grupos SET thumb2 = '$thumb2', thumb3 = '$thumb3'",$con);

al no poner la condición (where) mysql entiende que actualizas todos los registros sin excepción, imagino que tendría que ser algo como:

mysql_query("UPDATE grupos SET thumb2 = '$thumb2', thumb3 = '$thumb3' where thumb1='$thumb1'",$con);
  #3 (permalink)  
Antiguo 13/12/2011, 13:22
 
Fecha de Ingreso: agosto-2009
Mensajes: 59
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Problema para actualizar múltiples registros de MYSQL desde un WHILE

Gracias mi pana! no se como no lo habia visto, habia probado con WHERE id_publicacion = '$id'; y funcionaba igual, la solucion fue colocar where ruta = $row["ruta"] y de esa manera actualiza cada uno por separado

Gracias!

Etiquetas: imagenes, mysql, registro, registros
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 19:32.