Foros del Web » Programando para Internet » PHP »

Problema al subir imagen

Estas en el tema de Problema al subir imagen en el foro de PHP en Foros del Web. Buenas, tengo un problema que no se como solucionar. tengo un script que sube una informacion de un registro. cada registro puede llevar tres fotos ...
  #1 (permalink)  
Antiguo 04/04/2005, 03:32
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
Problema al subir imagen

Buenas, tengo un problema que no se como solucionar. tengo un script que sube una informacion de un registro. cada registro puede llevar tres fotos asociadas. y el problema está a la hora de subirlas. quiero que las fotos esten asociadas al id del registro, para tenerlas referenciadas.

antes, tenia un id autonumerico. entonces lo que hacia antes de insertar la foto, era hace un

if(isset($_POST['submit'])){

$error = false;
$sql = mysql_query("select id from X order by id desc limit 1") or die (mysql_error());
$ultimoRegistro=mysql_result($sql,0)+1;

y al subir la foto

if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisamos que sea jpg
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){
//nombre de la imagen
$foto1 = $ultimoRegistro."-1.jpg";

de esta forma forma, cogia el id anterior y le sumaba uno, y tenia las imagenes referenciadas. el problema es que ahora he cambiado el sistema, y cada foto lleva un codigo XX-id del registro. como puedo asociar el id del registro con el valor insertado por el admin?

salu2
  #2 (permalink)  
Antiguo 04/04/2005, 05:09
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
... no me queda del todo claro... según entiendo en el "sistema original" que muestras tu nombre de la imagen quedaba ID-1.jpg y ahora solo quieres manejarlo de una forma que quede algo-ID.jpg??? ... No creo que sea eso... pero por sí lo es:
$foto1= "algo-".$ultimoRegistro.".jpg";

... definitivamente no es eso.. ¿a qué te refieres con "el valor insertado por el admin"??...

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 04/04/2005, 05:15
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias jam1138 por contestar.

lo que hacia el sistema original era que antes de insertar, comprobaba el id del ultimos registro añadido, y le añadia más uno, con lo cual teniamos la foto guardada con su id.

el problema está que al insertar la imagen, como es obvio, aun no esta creado el id. ahora he dejado de tener un id autoincrement, pq me interesa un num de id determinado (tipo SB-1563).

como puedo montarlo? he intentado despues de hacer el insert, hacer un update a continuacion pero no se si no es posible, o si lo hago mal. si puedes ayudarme

salu2, gracias
  #4 (permalink)  
Antiguo 04/04/2005, 05:29
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
Iniciado por ferranWEB
(...) he intentado despues de hacer el insert, hacer un update a continuacion pero no se si no es posible (...)
Claro que es posible... sería algo como:
Código PHP:
// conectamos bla,bla,bla
$insert=mysql_query("INSERT INTO...");
if(
$insert){
// tendrías qué recuperar algún dato del registro insertado? (que raro)
$consultamysql_query("SELECT FROM.... ORDER BY...  LIMIT 0, 1"); // quizá algo así?
$rowmysql_fetch_assoc($consulta); // solo tenemos 1 resultado... 

// y quieres actualizar con ese dato?
$actualizamysql_query("UPDATE... campo=".$row['algo']." WHERE....");

if(
$actualiza) echo "Todo correcto";

} else {echo 
"aaaaachís!!!!!"; } 
... poco funcional.. muy vago... pero es posible hacer algo así.. que ahora entendí eso... ¿de dónde sacas ó cómo originas tu id de tipo SB-1563???

Sigo sin entender lo que buscamos pero espero "vayamos avanzando" al menos... Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 04/04/2005 a las 05:38
  #5 (permalink)  
Antiguo 04/04/2005, 05:32
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
... ah! añado que si la versión de tu BD lo permite... quizá (no lo he probado con UPDATE) podrías igual hacer una consulta como
Código:
UPDATE .... ... ... WHERE campo=(SELECT campo FROM tabla WHERE....)
http://www.mysql-hispano.org/page.php?id=31&pag=12

y... solo "jam".. como cuates.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 04/04/2005 a las 05:37
  #6 (permalink)  
Antiguo 04/04/2005, 06:29
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias jam,pero creo que no nos entendemos.

a ver si logro explicartelo con un ejemplo practico.

un administrador inserta un piso. la referencia del piso es SB-Ref del piso. ahi el admin pondra la referencia de su bd.

ese piso lleva asociadas 3 fotos, entonces interesa que cada una de las fotos se llame ref+1.jpg, ref+2 (blablabla)

antes, comprobaba el ultimo registro insertado, le sumaba+1. hacia lo siguiente:

$sql = mysql_query("select idvivienda from viviendas order by idvivienda desc limit 1") or die (mysql_error());
$ultimoRegistro=mysql_result($sql);

if (is_uploaded_file($_FILES['imagen']['tmp_name'])) {
//revisamos que sea jpg
if ($_FILES['imagen']['type'] == "image/jpeg" || $_FILES['imagen']['type'] == "image/pjpeg"){
//nombre de la imagen
$foto1 = $ultimoRegistro."-1.jpg";

asi con las tres fotos. el problema es que ahora el admin tiene un value SB- al cual tiene que añadirle la ref. y yo al insertar, debo de saber lo que ha insertado en el campo referencia para añadirle+1, 2 etc...

mejor ahora?

salu2
  #7 (permalink)  
Antiguo 04/04/2005, 06:56
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 13 años, 4 meses
Puntos: 101
Cita:
(...) un administrador inserta un piso. la referencia del piso es SB-Ref del piso. ahi el admin pondra la referencia de su bd. (...)
pisos?.. Qué pisos? ... llamemoslo "registro" ok?... si es que es un registro :-p . ahí no cacho... el admin (adminitrador del sitio?) pondra la refrencia a su BD??... la Bd del administrador? la BD de la foto? .. una Bd por cada piso?

Cita:
(...) ese piso lleva asociadas 3 fotos, entonces interesa que cada una de las fotos se llame ref+1.jpg, ref+2 (blablabla)

asi con las tres fotos. el problema es que ahora el admin tiene un value SB- al cual tiene que añadirle la ref. y yo al insertar, debo de saber lo que ha insertado en el campo referencia para añadirle+1, 2 etc...

mejor ahora?
... me imagino ( porque no acabo de entender al 100%) que ... quieres primero consultar un registro de una BD... el contenido de dicho registro será tipo "SB-ALGOMAS"... y tú quieres recuperar ese "ALGOMAS" para posteriormente utilizarlo al nombrar tus imagenes de la forma "ALGOMAS-01", "ALGOMAS-2"... etc... dime que es eso!!!!!

.... Bueno... 2 soluciones...

1) hacer tu consulta normal, recuperar tu registro (SB-ALGOMAS)... y... un explode():
Código PHP:
// conectamos, consultamos... etc
$partesexplode('-'$row['campo']);
// y si sabes que solo tendrá un guión... entonces
$algoMas$partes[1];
// y creo ya podrías utilizar esto... 
2) y que considero mejor... pero la longitud de "ALGOMAS" tendrías que saberla y ser la misma para todo...
Código:
SELECT RIGHT(campo, 4) FROM tabla WHERE...
Utilzando la función RIGHT() de MySQL.. optenemos un número de carácteres indicado (4 en este ejemplo) que estén más a la derecha de un campo... ... osease... tu "ALGOMAS"....

Ahora sí??.. preciento que no... ando muy estúpido ...
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 04/04/2005 a las 06:58
  #8 (permalink)  
Antiguo 04/04/2005, 07:07
 
Fecha de Ingreso: enero-2002
Mensajes: 1.872
Antigüedad: 15 años, 11 meses
Puntos: 3
gracias jam, no andas estupido amigo!!

creo que no me acabas de entender. no necesito salvar el algomas. el 'admin' lo que hara es introducir en un campo de texto una referencia x. y esta referencia la guardare en la bd con un SB- antes de la referencia.

a la hora de guardar las fotos, y para tener un mejor control, quiero guardarlas con su referencia+1, +2 y +3 (para a la hora de ir a buscarlas tenerlas referenciadas)

en cuanto a las bd, todo esta en la misma.

salu2
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 06:45.