While en PHP

soanix

Saludos,

Estoy trabajando con el software de tienda online Prestashop. [php y mysql]
Y está tiene la peculiaridad de poseer un modulo para actualizar las imágenes de tus productos.

Este modulo no te actualiza todos los productos, por lo que estoy haciendo un modulo para activar o desactivar los productos respecto a si tienen o no tienen imagen.

Esto se basa en una consulta a la tabla de atributos de imagen y otra a la tabla de productos.

Pero me llega la necesidad de hacer un bucle, y mientras lo hace hacer otro con otra tabla. pero al llegar a la segunda tabla no me recuerda la primera o directamente no me lee la segunda.

Mi código es este,

Lógicamente oculto los datos de conección para evitar desgracias:

spoiler

Si alguien me puede ayudar le estaría muy agradecido.

Saludos!

J0TA

if ($lectura['id_image'] = "0" {

if ($lectura['id_image'] == "0" {

RaymaN

Podrías probar a hacerlo todo a través de MySQL, algo así (no se si funciona):

UPDATE ps_producto SET active = 0 WHERE id_producto = (SELECT id_product FROM ps_product_attribute_image WHERE id_image = 0)

soanix

xD, resulta que con una sola consulta puedo quitarme los que no tienen imagen, pero por suerte hay un campo de ultima actualización.

Si no se ha actualizado, sale así:
0000-00-00 00:00:00

Claro, todos lo que no tienen imagen salen con esto.

Pero a la hora de actualizar, loool me los desactiva o activa todos
No hay manera de que me detecte los 0 como valor xD

spoiler
J0TA

soanix si la consulta que haces al principio ya le pones where id_image = 0, no hace falta que pongas el if porque en el array $lectura ya tienes todos los que están a 0. Simplemente haz un while que actualice todos los que tienes en $lectura.

while($lectura=mysql_fetch_array($consulta)) {
mysql_query("update ps_productSET active = '0' where id_product = $lectura['id_product']);
}

Si haces el update sin where normal que te los cambie todos xD

Fyn4r

Conección??

Usuarios habituales

  • Fyn4r
  • J0TA
  • soanix
  • RaymaN