Ver Mensaje Individual
  #13 (permalink)  
Antiguo 13/10/2005, 05:30
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Si, es el ultimo ID despues de hacer un INSERT
Si es eso lo que buscas .. la sentencia SQL que te indiqué no es para eso, aunque en muchos casos te va a dar el mismo resultado .. no es no lo que debes usar .. para eso tienes la función:

mysql_insert_id()
http://www.php.net/mysql_insert_id
(fijate los cometarios de los usuarios de esa función .. ahí tienes ejemplos completos de uso).

Pero como te decía .. esa función se ha de ejecutar seguidamente de tu ejecución de tu INSERT .. es decir .. en una secuencia así:

Código PHP:
$sql="INSER INTO ......";
mysql_query($sql);

$ultimo_id_generado=mysql_insert_id(); 
Cita:
y estaba buscando en un manual exactamente ese query que me dijiste y no lo encontraba.
En un manual o tutorial de PHP no lo vas a encontrar .. Esa "sentencia" es SQL (lenguaje estructurado de consultas) .. Si usas Mysql .. hay que ver su SQL concreto, de esa forma puedes "sabiendo" que tienes sentencias SQL para "ordenar" .. para "limitar" los registros que arroja una consulta y otros detalles implementar una solución como la que te propuse.

De hecho .. la función PHP que te menciono para obtener el último ID generado por un campo "autoincremental" de Mysql tiene su equivalente en SQL también. Normalmente es mejor usar SQL vs funciones de PHP que hagan lo mismo .. pues el trabajo lo hace integramente el "motor" de tu BD .. y no a medias entre PHP y Mysql en este caso.

Cita:
Y respecto al ID me refiero a que cuando haces un DELETE FROM... el id que pertenecia a ese registro se borra y si yo pongo supongamos
<img src="ver_foto.php?t=tabla&fotoId=1">
ese ID ya no va a existir...no?
Ok .. claro que no existirá .. pero para eso una de las cosas básicas que hay que hacer es verificar si existe tu registro a procesar antes de hacer algo con el justamente para dar un mensaje de "ya no existe tal registro .. no hay resultados" ...

Por lo demás .. esos "links" hacia esas imagenes los debes generar dinámicamente con PHP, es decir ... consultas a tu BD y obtienes lo que hay en ese momento (registros) .. los que borrastes ya no estarán y sólo quedaran los llinks apuntando a los "ID" de registros que tienes (o es que lo haces "a mano" en HTML?) ..

Si tu pusistes un link "hoy" en un e-mail .. en un foro .. etc apuntando a ese script e ID de registro que "mañana" no existe por qué lo borrastes .. ningún problema .. para eso ya te he comentado que uno debe ver -antes- si existe tu registro antes de hacer algo con el.

Cita:
Yo tengo una imagen, la recojo de la BD por su ID, pero cuando yo borro esta imagen e ingreso otra esta ultima ingresa con in nuevo ID.
Esto es parte de la teoría de la "integridad referencial" .. así debe quedar y por eso se usan campos de tipo "ID" (identificadores) como "autonuméricos" e incrementales.

Imagina el caso típico:
Hoy tengo un link apuntando a tal ID de esa fotografía .. yo me lo almacené como favorito en mi navegador .. o puse ese link en un foro .. lo envié por e-mail a un amigo .. etc.

Mañana tu borras ese "ID" (ese registro con esa imagen) .. si yo voy a mis favoritos a ver esa imagen .. lo normal es esperar que si no existe .. me diga que no existe ya .. pero NO que me pegues el "cambiazo" y en su lugar me pongas -otra- imagen (o conetenido en general) que NO es el que en algún momento yo vi.

Cita:
Como puedo hacer para que cada vez que yo llame a una imagen (por el id o como sea)aparezca la mas nueva Y las cuatro ó cinco que le siguen del mismo campo? Siempre las mas nuevas
Aquí no te entendí .. No sé como "identificas" tu que una imagen es más nueva que otra .. sobre todo si sigues almacenando tus imagenes como campos de una tabla y no como registros de una tabla como te hice la recomendación hace unos mensajes atras ..

Si usas "un campo de una tabla por imagen" así no hay ningún control sobre ella, ... no hay forma de saber cual será más nueva que la anterior a no ser que te guardes un campo más para almacenar la fecha en la que lo modificas o la creas ..

Insisto que bajo mi punto de vista .. el hecho de usar "campos" en una tabla para almacenar N imagenes no es lo más versatil ..

Un saludo,