Foros del Web » Programando para Internet » PHP »

asignar valores de forma dinámica

Estas en el tema de asignar valores de forma dinámica en el foro de PHP en Foros del Web. Hola! Estoy creando una galería de imágenes en PHP y MySQL en que las diferentes imágenes se clasifican en forma de álbumes. Tengo una tabla, ...
  #1 (permalink)  
Antiguo 25/05/2006, 14:08
 
Fecha de Ingreso: mayo-2006
Mensajes: 15
Antigüedad: 11 años, 7 meses
Puntos: 0
asignar valores de forma dinámica

Hola!
Estoy creando una galería de imágenes en PHP y MySQL en que las diferentes imágenes se clasifican en forma de álbumes. Tengo una tabla, llamada imagenes, con los siguientes campos (entre otros):
- ID: clave primaria, autoincremental
- Posición: valor numérico que indica el orden en que se mostrarán las imágenes de un álbum determinado.
- Imagen
- Codigo_album

Pues bien, el problema lo tengo con el campo "Posicion". Cómo puedo hacer para que, a medida que añado imágenes a un álbum concreto, el valor se aumente en una unidad?

Está claro que una opción sería definir el campo como autoincremental, pero me interesa que el usuario pueda reordenar las imágenes a posteriori si lo necesita, y según tengo entendido esto no puede hacerse con un campo de tipo autoincremental.

Ideas? Propuestas?

Un montón de gracias a todos!
  #2 (permalink)  
Antiguo 25/05/2006, 14:46
Avatar de juaniquillo
Colaborador
 
Fecha de Ingreso: noviembre-2005
Ubicación: San Juan, Puerto Rico
Mensajes: 5.745
Antigüedad: 12 años
Puntos: 281
haces un consulta a la base de datos, sacas el numero y le aNades uno antes de insertar los datos.
__________________
Por fin.. tengo algo parecido a un blog
Y por lo visto ya estoy escribiendo...
  #3 (permalink)  
Antiguo 25/05/2006, 15:33
 
Fecha de Ingreso: mayo-2006
Mensajes: 15
Antigüedad: 11 años, 7 meses
Puntos: 0
Gracias Juaniquillo pero... es que no tengo mucha idea de cómo hacer esta consulta... Ando muy perdido!!! Te estaría muy agradecido si me pudieras echar un cable...

Te explico: la tabla se llama imagenes, y tengo un campo que se llama POSICION, que es el que nos interesa, del cual queremos conocer el valor más alto. Sería correcto lo siguiente?

SELECT posicion FROM imagenes ORDER BY posicion DESC LIMIT 1

Una vez hecha la consulta, para introducir el valor que corresponda a la siguiente imagen que añadimos al álbum, se haría así?

$result = mysql_query("SELECT posicion FROM imagenes ORDER BY posicion DESC LIMIT 1");
$posicion_fetch_array($result);
$sql = "INSERT INTO imagenes (posicion) VALUES (";
$sql .= ",'".$posicion[0]++."'";
$sql .= ")";
mysql_query($sql);
  #4 (permalink)  
Antiguo 25/05/2006, 16:35
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 11 años, 6 meses
Puntos: 2122
puedes usar:
Código PHP:
$query "SELECT MAX(posicion) FROM imagenes";
$result mysql_query$query );
$posicion mysql_fetch_array$result );
$posicion $posicion[0]++; 
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 00:26.