Foros del Web » Programando para Internet » PHP »

Modificar varias imágenes a la vez en la BD

Estas en el tema de Modificar varias imágenes a la vez en la BD en el foro de PHP en Foros del Web. Hola: Estoy haciendo un panel que corresponde a una galería de imágenes donde el cliente tiene que tener la posibilidad de modificar los pies de ...
  #1 (permalink)  
Antiguo 05/11/2007, 12:13
Avatar de Anastasiaphp  
Fecha de Ingreso: junio-2006
Ubicación: El patio de mi casa
Mensajes: 196
Antigüedad: 17 años, 11 meses
Puntos: 3
Pregunta Modificar varias imágenes a la vez en la BD

Hola:

Estoy haciendo un panel que corresponde a una galería de imágenes donde el cliente tiene que tener la posibilidad de modificar los pies de fotos de varias imágenes a la vez, y me he quedado atascada. Llevo varios días mirando en los foros pero no encuentro nada como lo que necesito.

Esto es lo que tengo resumiéndolo mucho:
Desde un formulario llegan los datos de cada imagen (supongamos que son dos imágenes las que tengo en la base de datos para una galería concreta):

id_1='24'
id_2='25'
texto_1='foto verde'
texto_2='en el campo'

Ahora quiero hacer un query para actualizar los datos de esas imágenes:

Código PHP:
$query=
"UPDATE fotos SET texto='$texto' WHERE id='$id'"
Mi pregunta es cómo puedo hallar $texto y $i, teniendo en cuenta que del formulario pueden venir varias imágenes para modificar y no tienen por qué ser números consecutivos (he pensado que el número sea el id, no sé si ayudaría, por ejemplo: id_24='24', texto_24='foto verde'). Pero, ¿como actualizo todas las fotos a la vez sin que se quede solo con los datos de la última?

¿Podéis ayudarme? Muchas gracias de antemano.
  #2 (permalink)  
Antiguo 05/11/2007, 12:30
 
Fecha de Ingreso: julio-2007
Mensajes: 71
Antigüedad: 16 años, 9 meses
Puntos: 1
Re: Modificar varias imágenes a la vez en la BD

Tengo pensado en que puedas usar una variable (por ejemplo $v[]) como array que le corresponda a cada imagen, y despues con el ciclo for (o while, como mas te convezca), detectas si $v[$i] existe, entonces completar la operación..
Se entiende masomenos? sino avisame y te la hago un poco mas completa
  #3 (permalink)  
Antiguo 05/11/2007, 12:44
Avatar de Anastasiaphp  
Fecha de Ingreso: junio-2006
Ubicación: El patio de mi casa
Mensajes: 196
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Modificar varias imágenes a la vez en la BD

Algo parecido he intentado hacer, pero no lo he conseguido, me hago un lío con el bucle y el condicional; si no te es mucha molestia desarrollármelo un poco me vendría muy bien.

Muchas gracias.
  #4 (permalink)  
Antiguo 05/11/2007, 12:49
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 3 meses
Puntos: 81
Re: Modificar varias imágenes a la vez en la BD

Bueno... desde el formulario tambien puedes crear estos arreglos de la misma manera.

En vez de que tu input se llame id_1 le pones id[] a todos...
Y a las fotos tambien.

Luego haces un foreach($_POST['id'] as $valor) y de esta manera tomas los datos de cada id en la variable valor y haces el insert junto con el de fotos.

Suerte
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 05/11/2007, 12:56
Avatar de Anastasiaphp  
Fecha de Ingreso: junio-2006
Ubicación: El patio de mi casa
Mensajes: 196
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Modificar varias imágenes a la vez en la BD

¡¡¡¡Muchas gracias!!!!!

Voy a probarlo y mañana os cuento.......
  #6 (permalink)  
Antiguo 06/11/2007, 06:03
Avatar de Anastasiaphp  
Fecha de Ingreso: junio-2006
Ubicación: El patio de mi casa
Mensajes: 196
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Modificar varias imágenes a la vez en la BD

Hola Marvin! no lo he conseguido del todo. He hecho lo siguiente:

En los inputs he puesto tal y como me has dicho: id_img[], texto_img[]...
EL foreach lo he hecho así:

Código PHP:
    foreach($_POST['id_img'] as $valor)
    {
    
$conn db_connect();
    
$query =
            
"UPDATE galeria_img
            SET
                texto_img = '$texto'
            WHERE
                id_img = '$valor'
            "
;
    } 
Esto funciona pero no consigo pasarle el valor $texto. Si meto dentro del bucle:

$texto=$_REQUEST['texto_img'];
Me escribe "Array" y si lo pongo dentro del foreach:

foreach($_POST['id_img'] as $valor && $_POST['texto_img'])
no funciona.

¿Qué estoy haciendo mal? — a parte de que tengo que estudiar más sobre las matrices

Gracias de nuevo.
  #7 (permalink)  
Antiguo 06/11/2007, 07:30
Avatar de Anastasiaphp  
Fecha de Ingreso: junio-2006
Ubicación: El patio de mi casa
Mensajes: 196
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Modificar varias imágenes a la vez en la BD

¿A nadie se le ocurre como puedo sacar el valor de $texto?
  #8 (permalink)  
Antiguo 06/11/2007, 09:04
Avatar de Anastasiaphp  
Fecha de Ingreso: junio-2006
Ubicación: El patio de mi casa
Mensajes: 196
Antigüedad: 17 años, 11 meses
Puntos: 3
Re: Modificar varias imágenes a la vez en la BD

SOLUCIONADO:
Aquí lo dejo por si a alguien le hace falta...

Los inputs:
input name='id_img[]'
input name='texto_img[".$row['id_img']."]'

El foreach y la query:
Código PHP:
    foreach($_POST['id_img'] as $valor)
    {
    
$texto=$_POST['texto_img'][$valor];

    
$conn db_connect();
    
$query =
            
"UPDATE galeria_img
            SET
                texto_img = '$texto'
            WHERE
                id_img = '$valor'
            "
;
    } 
Saludos y gracias
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 16:29.