Autor Tema: [SOLUCIONADO] Relacionar usuario con sus fotografías.  (Leído 741 veces)

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
[SOLUCIONADO] Relacionar usuario con sus fotografías.
« en: 06 de Abril de 2012, 00:09:31 am »
Hola amigos.
Tengo la siguiente tabla en mi base de datos:

Código: [Seleccionar]
CREATE TABLE images (
  id int(10) unsigned NOT NULL auto_increment,
  image blob NOT NULL,
  name varchar(255) NOT NULL default '',
  weight varchar(15) NOT NULL default '',
  type varchar(25) NOT NULL default '',
  PRIMARY KEY  (id)
) ENGINE=MyISAM;

Con el código de php y todo funciona muy bien.
Tengo un sistema de login o usuarios, cómo lo queráis llamar, y cada usuario tiene su respectivo perfil: perfil.php?id_user=25.
La pregunta es la siguiente: ¿cómo selecciono las fotografías de cada usuario si en la tabla images no tengo ningún campo sobre id de usuario?

Yo mismo he intentado sacar algunas conclusiones, pero cómo no sé si estoy en lo cierto, es por lo que estoy aquí preguntando, para que me aconsejéis.

Mi idea era crear una columna en la tabla images con el nombre de id_user, para cuando quiera seleccionar las fotografías del usuario 25, por ejemplo, tan solo haga un SELECT en la tabla images, WHERE id_user='$id_user', dónde $id_user, será una variable igualada al registro de dicha id de usuario.

¿Estoy en lo cierto?
« Última modificación: 16 de Abril de 2012, 13:07:15 pm por maska »

Comunidad PHPeros

[SOLUCIONADO] Relacionar usuario con sus fotografías.
« en: 06 de Abril de 2012, 00:09:31 am »

Desconectado chechu_

  • PHPerit@
  • *
  • Mensajes: 18
  • Karma: 0
  • Nuevo PHPero
    • Ver Perfil
Re:[AYUDA] Relacionar usuario con sus fotografías.
« Respuesta #1 en: 06 de Abril de 2012, 00:40:09 am »
Si, estás en lo cierto.

Desconectado Animus

  • PHPero Avanzado
  • ****
  • Mensajes: 273
  • Karma: 1
  • Sexo: Masculino
  • Aprende a aprender, el resto vendrá solo.
    • Ver Perfil
Re:[AYUDA] Relacionar usuario con sus fotografías.
« Respuesta #2 en: 06 de Abril de 2012, 21:38:12 pm »
Man, tanto cuesta PROBARLO? si incluso tienes tu idea, pruebala man, así nunca aprenderás (bueno sí) pero si tienes que esperar hasta que te respondan piedes tiempo, por eso nunca pregunta, al final casi siempre soluciono mis errores :P o si no busco otra alternativa, en vez de preguntarlo por que no lo pruebas?


La red social de tus sueños.


Desconectado chechu_

  • PHPerit@
  • *
  • Mensajes: 18
  • Karma: 0
  • Nuevo PHPero
    • Ver Perfil
Re:[AYUDA] Relacionar usuario con sus fotografías.
« Respuesta #3 en: 06 de Abril de 2012, 21:49:40 pm »
Man, tanto cuesta PROBARLO? si incluso tienes tu idea, pruebala man, así nunca aprenderás (bueno sí) pero si tienes que esperar hasta que te respondan piedes tiempo, por eso nunca pregunta, al final casi siempre soluciono mis errores :P o si no busco otra alternativa, en vez de preguntarlo por que no lo pruebas?

Totalmente de acuerdo.

Desconectado MEJORENHO

  • PHPer@ Fijo
  • ***
  • Mensajes: 204
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
    • Beeme
Re:[AYUDA] Relacionar usuario con sus fotografías.
« Respuesta #4 en: 07 de Abril de 2012, 08:57:29 am »
Hola amigos.
Tengo la siguiente tabla en mi base de datos:

Código: [Seleccionar]
CREATE TABLE images (
  id int(10) unsigned NOT NULL auto_increment,
  image blob NOT NULL,
  name varchar(255) NOT NULL default '',
  weight varchar(15) NOT NULL default '',
  type varchar(25) NOT NULL default '',
  PRIMARY KEY  (id)
) ENGINE=MyISAM;

Con el código de php y todo funciona muy bien.
Tengo un sistema de login o usuarios, cómo lo queráis llamar, y cada usuario tiene su respectivo perfil: perfil.php?id_user=25.
La pregunta es la siguiente: ¿cómo selecciono las fotografías de cada usuario si en la tabla images no tengo ningún campo sobre id de usuario?

Yo mismo he intentado sacar algunas conclusiones, pero cómo no sé si estoy en lo cierto, es por lo que estoy aquí preguntando, para que me aconsejéis.

Mi idea era crear una columna en la tabla images con el nombre de id_user, para cuando quiera seleccionar las fotografías del usuario 25, por ejemplo, tan solo haga un SELECT en la tabla images, WHERE id_user='$id_user', dónde $id_user, será una variable igualada al registro de dicha id de usuario.

¿Estoy en lo cierto?

Además de con el id, por ejemplo lo puedes hacer con un código autogenerado unico para cada usuario, o  un nombre de usuario.. multiples posibilidades, pero si, todos los caminos conducen a roma.


Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:[AYUDA] Relacionar usuario con sus fotografías.
« Respuesta #5 en: 07 de Abril de 2012, 13:13:13 pm »
Muchas gracias a todos los que responden.

En cuanto al tiempo, pregunté, porque estoy liado en otra parte del proyecto, esta la dejé a un lado. Mientras tanto puse el tema aquí para ir sobre seguro. Porque muchas veces intentándolo por nosotros mismos una y otra vez, crea más perdida, que el simple hecho de postearlo en un foro, tal y cómo es este, y esperar respuestas de varias personas. Al menos esta es mi filosofía.
Pero sin desviarnos del "tema", y nunca mejor dicho, muchísimas gracias a todos los que responden. Siempre soy los mismos los que ayudáis. Me gusta este foro.

GRACIAS.

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:[AYUDA] Relacionar usuario con sus fotografías.
« Respuesta #6 en: 07 de Abril de 2012, 23:18:20 pm »
No me inserta la id del usuario en la base de datos. En la columna id_user de la tabla images está vacía, y no se que puedo hacer.

Este es mi formulario:
Código: [Seleccionar]
<?php session_start(); ?>
<HTML>
<HEAD>
<TITLE>Binario a BD</TITLE>
</HEAD>
<BODY>
<?php
if (isset($_GET[&#39;proceso&#39;])){
echo $_GET[&#39;proceso&#39;]."<br>";
}
?>

<FORM enctype="multipart/form-data" method="post" action="insertar.php">
Archivo: <INPUT type="file" name="archivo" size="30">
<input type="hidden" name="id_user" value="<?php $_SESSION[&#39;user_id&#39;]; ?>">
<INPUT type="submit" name="submit" value="Subir archivo">
</FORM>
</BODY>
</HTML>

Este es mi insertar.php:
Código: [Seleccionar]
<?php session_start(); ?>
<?php
//Primero, analiza si el archivo tiene nombre.  Si no fue asi, te remite de nuevo al formulario de inserción:
// No se comprueba aqui si se ha subido correctamente.
if (empty($_FILES[&#39;archivo&#39;][&#39;name&#39;])){
header("location: formulario.php?proceso=Falta indicar fichero."); //o como se llame el formulario ..
exit;
}
//Establecemos una conexión con la base de datos.
$Host "localhost";
$User "";
$Password "";
$DataBase "db";
$conexion mysql_connect($Host,$User,$Password)
or die(
"No se pudo realizar la conexion con el servidor.");
mysql_select_db($DataBase,$conexion)
or die(
"No se puede seleccionar BD");


$binario_nombre_temporal=$_FILES[&#39;archivo&#39;][&#39;tmp_name&#39;] ;
 
$binario_contenido addslashes(fread(fopen($binario_nombre_temporal"rb"), filesize($binario_nombre_temporal)));
// Obtener del array FILES (superglobal) los datos del binario .. nombre, tabamo y tipo.
$binario_nombre=$_FILES[&#39;archivo&#39;][&#39;name&#39;];
$binario_peso=$_FILES[&#39;archivo&#39;][&#39;size&#39;];
$binario_tipo=$_FILES[&#39;archivo&#39;][&#39;type&#39;];

$id_user=$_POST[&#39;id_user&#39;];
//insertamos los datos en la BD.
$consulta_insertar "INSERT INTO images (id, id_user, image, name, weight, type) VALUES (&#39;&#39;, &#39;$id_user&#39;, &#39;$binario_contenido&#39;, &#39;$binario_nombre&#39;, &#39;$binario_peso&#39;, &#39;$binario_tipo&#39;)";
mysql_query($consulta_insertar,$conexion)
or die(
"No se pudo insertar los datos en la base de datos.");
header("location: imagenes.php");  
exit;
?>

Desconectado maska

  • PHPer@ Fijo
  • ***
  • Mensajes: 126
  • Karma: 2
  • Nuev@ PHPer@
    • Ver Perfil
Re:[AYUDA] Relacionar usuario con sus fotografías.
« Respuesta #7 en: 10 de Abril de 2012, 16:27:10 pm »
¿Alguna ayuda?

Desconectado MEJORENHO

  • PHPer@ Fijo
  • ***
  • Mensajes: 204
  • Karma: 3
  • Sexo: Masculino
    • Ver Perfil
    • Beeme
Re:[AYUDA] Relacionar usuario con sus fotografías.
« Respuesta #8 en: 11 de Abril de 2012, 05:21:57 am »
¿Alguna ayuda?

2 cosas que puedes hacer.

Mira primero que la $_SESSION['user_id'] creo que es, esté funcionando correctamente y tenga un valor. Quita la etiqueta type="hidden" del form y ponla como type="text" para ver si imprime en el algún valor. Si no lo hace, ahí falla algo.

La segunda cosa que puedes hacer es remplazar:
Código: [Seleccionar]
$consulta_insertar = "INSERT INTO images (id, id_user, image, name, weight, type) VALUES ('', '$id_user', '$binario_contenido', '$binario_nombre', '$binario_peso', '$binario_tipo')";
por

Código: [Seleccionar]
$consulta_insertar = "INSERT INTO images (id_user, image, name, weight, type) VALUES ( '".$id_user."', '".$binario_contenido."', '".$binario_nombre."', '".$binario_peso."', '".$binario_tipo."')";

mysql_query($consulta_insertar,$conexion)or die(mysql_error());

En vez del error que le asignaste, para que de esta forma, mysql te de una respuesta.

Si no sabes como solucionar el error que mysql te dé, postealo aquí.