Foros del Web » Programando para Internet » PHP »

Problema con imagenes

Estas en el tema de Problema con imagenes en el foro de PHP en Foros del Web. Hola Tengo el siguiente problema; tengo dos página una donde subo imagenes y otra donde muestro las imagenes que subo. Guardo la ruta de la ...
  #1 (permalink)  
Antiguo 12/05/2009, 12:58
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Problema con imagenes

Hola

Tengo el siguiente problema; tengo dos página una donde subo imagenes y otra donde muestro las imagenes que subo.
Guardo la ruta de la imagen en mi base de datos mysql y en una carpeta (imgs) en local guardo las imagenes.
No tengo problema con subir las imagenes.
lo que quiero hacer es que el usuario pueda subir 4 imagenes y que al momento de mostrarlas muestre las 4 que subio el usuario.
Y si otro usuario sube otras 4 que le muestre esas 4 que el subio.
Lo que pasa es que como yo le tengo me muestra todas las imagenes que se van subiendo, no las que acabo de subir.


Espero haberme explicado

Form (SubirImagen.php) para seleccionar las imagenes a subir

<FORM ENCTYPE="multipart/form-data" METHOD="POST" ACTION="Tabladatos2.php">
<TABLE BORDER=0 ALIGN="CENTER">
<TR>
<TD>Imagen a subir:</TD>
<TD><INPUT TYPE="file" NAME="archivo"></TD>
</TR>
</TABLE>
<INPUT TYPE="submit" VALUE="Enviar" name="upload">
</FORM>


Form (Tabladatos2.php) en que se reciben, guardan y muestran las imagenes

<?php
$cnx = mysql_connect("localhost", "root");
mysql_select_db("Base", $cnx);
if($_FILES['archivo']['name'])
{
$local = $_FILES['archivo']['name'];
$remoto = $_FILES['archivo']['tmp_name'];
$extension = explode(".", $local);
$n = count($extension)-1;

$tipo=$extension[$n];//obtenemos el tipo de imagen que es
if($tipo=="jpg" || $tipo=="gif" || $tipo=="bmp")

{
// La variable para la BD
$ruta = "imgs/" . $local;
if(is_uploaded_file($remoto))
{
if(move_uploaded_file($remoto, $ruta)) {//4

mysql_query("INSERT INTO imagenes(id_Imagen, imagenes) VALUES('','$ruta')");

echo "Imagen subida correctamente";
}
else {
echo "Error al Mover el archivo";
}
}
else {
echo "Error al subir el archivo";
}
}
else {
echo "<b>El Archivo debe ser exclusivamente .jpg .gif o .bmp</b>";
}
}
else {
echo "<b>Por favor seleccione un Archivo</b>";
}

//////////////////////////// Mostrar las imagnes
$consulta="SELECT imagenes FROM imagenes";

$rescon=mysql_query ($consulta,$cnx);
$nc=mysql_num_fields($rescon);
echo"$nc<br>";

echo "<table border=1 width='50%' height='50%'>";
echo "<tr>";

for($i=0;$i<$nc;$i++)
{

while($row=mysql_fetch_assoc($rescon)) {
echo"<tr><td>";
echo "<img src='".$row['imagenes']."' width='50' height='50' alt='50'><br></td>";

}
}



echo"</table>";
  #2 (permalink)  
Antiguo 12/05/2009, 13:04
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Problema con imagenes

pues en el lugar de "Imagen subida correctamente" puedes imprimir las imágenes...

u otra consulta, limitando...

Código:
SELECT columna FROM tabla ORDER BY id DESC LIMIT 4
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 12/05/2009, 13:07
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Problema con imagenes

Hola jovanale...

Según lo que dices, lo que necesitas es subir 4 imágenes por USUARIO.

No veo ningún query que tenga dicha tabla "Usuarios" y dicha relación.

La idea es que esa tabla imágenes tenga el id del usuario que subió esas 4 fotos. Mejor dicho, necesitas un campo que te identifique quién las subió.

Espero me entiendas...

Tu problema no es de php, es de análisis

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 12/05/2009, 13:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con imagenes

Oye Carlx

No te entendi muy bien, me podrias explicar mejor, por fa.
  #5 (permalink)  
Antiguo 12/05/2009, 13:33
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Problema con imagenes

Hola de nuevo jovanale...

Primero respóndeme una cosa: necesitas mostrar las 4 imágenes subidas por un usuario no?

O basta con lo que te dijo pateketrueke?
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 12/05/2009, 13:40
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con imagenes

Si,
necesito mostrar las 4 imagenes subidas por un usuario,
  #7 (permalink)  
Antiguo 12/05/2009, 13:57
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Problema con imagenes

Ok...

La idea es que en tu DB, tengas 2 tablas:

1. usuarios (id_usuario, usuario)
2. imagenes (id_imagen, imagen, id_usuario)

En la tabla imagenes si te fijas, te coloqué "id_usuario" que pertenece lógicamente al id que debes tener en la tabla "usuarios".

Un ejemplo:

Tenemos el usuario "Juanito" y su id es "1" en la DB:

id_usuario | usuario
1 | Juanito

Ahora supón que Juanito quiere guardar sus 4 fotos:

Código sql:
Ver original
  1. INSERT INTO imagenes VALUES (1, 'imagen1.jpg', 1), (2, 'imagen2.jpg',1), (3, 'imagen3.jpg', 1), (4, 'imagen4.jpg',1)

Cómo sabes cuáles son las imágenes de Juanito?:

Código sql:
Ver original
  1. SELECT * FROM imagenes WHERE id_usuario=1;

Esa sería la idea de como hacerlo

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 12/05/2009, 15:47
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con imagenes

Hola Carxl

Lo del usuario ya te entendí, pero si la imagen la estoy subiendo y guardando en la base de datos proporcionando la ruta ejem:imgs/imagen3.jpg, como puedo delimitar que solo sean 4 cuatro las imagenes a subir.
  #9 (permalink)  
Antiguo 12/05/2009, 16:03
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Respuesta: Problema con imagenes

Donde lo quieres delimitar? En el momento de hacer la subida? Puedes hacer una consulta previa para saber cuántos registros en la tabla "imagenes" tiene dicho usuario:

Código sql:
Ver original
  1. SELECT COUNT(*) AS numeroImagenes FROM imagenes WHERE id_usuario=1;

Si numeroImagenes es menor a 4, dejas subir... sino... podrías arrojar un aviso diciéndole al usuario que el número de imágenes permtidas ya llegó a su límite

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #10 (permalink)  
Antiguo 12/05/2009, 16:55
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con imagenes

Hola Carxl

Perdon por mi ignorancia, pero la la condicion como iría, es que la puse pero no me sale.
  #11 (permalink)  
Antiguo 12/05/2009, 17:08
Avatar de cesarpunk  
Fecha de Ingreso: enero-2008
Ubicación: Lima
Mensajes: 943
Antigüedad: 16 años, 3 meses
Puntos: 9
Respuesta: Problema con imagenes

y si le haces un mysql_num_rows a esa tabla por ID de usuario, antes de tu script de "subir imagen" puedes restringir el numero de imagenes (si es eso lo que deseas)
__________________
Quitenme la vida pero no la bebida.
  #12 (permalink)  
Antiguo 13/05/2009, 11:46
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con imagenes

Hola

Lo de subir cierto numero de imagenes ya quedo, pero lo de mostrar solo las imagenes subidas por un usuario, no me ha salido.
Tengo lo siguiente una pagina usuario1 y usuario2 en la que valido el usuario, en la pagina donde subo las imagenes quiero validar segun con lo que obtuve de la pagina de usuario2.
La de usuario1 y suario2 si me funcionan bien.
Pero no me esta validando en la que muestro las imagenes (Tabladatos.php).

Usuario2.php (En la de usuario tengo los input donde el usuario1 ingresa sus datos)
<?php
session_start();
$_SESSION["usuario"]=$_POST["Usu"];
$_SESSION["con"]=$_POST["Contrasenia"];
if (!isset( $_POST['Usu'] )) {
header("Location: AUsuario.php");
} else {
require "BD.inc";
$conexion=conectar_bd();
$consulta="Select * from usuario where id_Usuario='{$_SESSION["usuario"]}' and clave_Usuario='{$_SESSION["con"]}'";
$datos = mysql_query($consulta, $conexion);
$numDatos = @mysql_num_rows($datos);
if ($numDatos <= 0) {
echo "Error: usuario o contraseña incorrectos. O usuario no dado de alta.<br>";
} else {
require "AMenu2.php";
}
}
?>

Y en la que muestro las imagenes tengo lo siguiente (Tabladatos.php)
<?
session_start();
?>
<html>
<head>
<title>Documento sin t&iacute;tulo</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<?
require "BD.inc";
?>
<body bgcolor="#CCCCCC">
<?php
$conexion=conectar_bd();

if($_FILES['archivo']['name'])
{ //1
$local = $_FILES['archivo']['name'];
$remoto = $_FILES['archivo']['tmp_name'];
$extension = explode(".", $local);
$n = count($extension)-1;

$tipo=$extension[$n];//obtenemos el tipo de imagen que es
if($tipo=="jpg" || $tipo=="gif" || $tipo=="bmp")

{ //2
// La variable para la BD
$ruta = "imgs/" . $local;
if(is_uploaded_file($remoto))
{ //3
$consulta2="Select imagenes from imagenes";

$datos = mysql_query($consulta2, $conexion);
$numDatos = @mysql_num_rows($datos);
if ($numDatos <= 3) {
if(move_uploaded_file($remoto, $ruta)) {
mysql_query("INSERT INTO imagenes(id_Imagen, imagenes, id_Usuario) VALUES ('', '$ruta', '{$_SESSION["usuario"]}')");

}//4
else {//5
echo "Error al Mover el archivo";
}//5
} else {
echo"Error: el número de imagnes permitidas con 4";
}

} //3
else {//6
echo "Error al subir el archivo";
}
}//2
else {//7
echo "<b>El Archivo debe ser exclusivamente .jpg .gif o .bmp</b>";
} //1
}
else {
echo "<b>Por favor seleccione un Archivo</b>";
}//1

////////////////////////////

$consulta="Select * from imagenes where id_Usuario='{$_SESSION["usuario"]}'";

$rescon=mysql_query ($consulta,$conexion);
$nc=mysql_num_fields($rescon);
//echo"$nc<br>";
//Numero de registros
$nr=mysql_num_rows($rescon);
//echo"$nr";
echo "<table border=1 width='50%' height='50%'>";
echo "<tr>";

for($i=0;$i<$nc;$i++)
{

while($row=mysql_fetch_assoc($rescon)) {
echo"<tr><td>";
echo "<img src='".$row['imagenes']."' width='50' height='5 alt='50'><br></td>";

}
}



echo"</table>";


?>
  #13 (permalink)  
Antiguo 13/05/2009, 16:39
 
Fecha de Ingreso: marzo-2009
Mensajes: 96
Antigüedad: 15 años
Puntos: 0
Respuesta: Problema con imagenes

Hola

Alguien me puede ayudar por fa!!!!!!!!!!!!
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 10:22.