Foros del Web » Programando para Internet » PHP »

Imagenes campo MYSQL

Estas en el tema de Imagenes campo MYSQL en el foro de PHP en Foros del Web. Muy Buenas i gracias a todo aquel qe lo lea. Veran estoy creando una especie de blog en php en el qual mediante la utilizacion ...
  #1 (permalink)  
Antiguo 22/12/2011, 10:58
Avatar de oaoanton  
Fecha de Ingreso: diciembre-2011
Mensajes: 22
Antigüedad: 12 años, 4 meses
Puntos: 0
Imagenes campo MYSQL

Muy Buenas i gracias a todo aquel qe lo lea.
Veran estoy creando una especie de blog en php en el qual mediante la utilizacion de un formulario se crea una nueva noticia (titulo, subtitulo i texto), hasta aqui bien pero el problema es que cada noticia de estas puede (depende del cliente) tener o no fotos, i puede tener 1 o 20 entoces el problema lo tengo aqui, porque consigo solo que muestre la primera imagen que le indico.
En la base de datos guardo los campos (titulo, subtitulo , texto i img), entonces lo que he probado es en el campo img poner "1" "2" que es como se llaman las imagenes 1 i 2 pero solo me le la 1.

Entonces que debo corregir, la consulta, la definicion del campo en la base d datos o las sentencias de php (while, if..)
Quizas deberia hacer un bucle que leiera el campo i imprimiera un <img />, pero no se me ocurre como deberia ser este.

Ayudenme porfavor i
Gracias de antemano
  #2 (permalink)  
Antiguo 22/12/2011, 11:45
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Imagenes campo MYSQL

y una noticia puede tener N fotos, lo que tenes que hacer son 3 tablas
USUARIOS
id_user
name_user

FOTOS
id_foto
url_foto

USUARIOS_FOTO
id_user
id_foto

hay tenes la estructura correcta
  #3 (permalink)  
Antiguo 22/12/2011, 13:02
Avatar de oaoanton  
Fecha de Ingreso: diciembre-2011
Mensajes: 22
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Imagenes campo MYSQL

Gracias por responder,
Peró perdon veo qe no me he explicao bien, porque no es un blog en si, porque solo abria un usuario administrador, i este colgaria 1 noticia con sus respectivas imagenes(qe pueden ser 0 o 1 o infinitas) i alomejor 1 semana despues cuelga otra noticia con otras 0 o 1 o infinitas imagenes.

Gracias d antemano
  #4 (permalink)  
Antiguo 22/12/2011, 13:20
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Imagenes campo MYSQL

Hola, Complementando
FOTOS_NOTICIAS
id_fotos_noticias
id_noticia
foto
La id_noticia puede tener n fotos,
Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #5 (permalink)  
Antiguo 22/12/2011, 13:38
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Imagenes campo MYSQL

adaptando finalmente

NOTICIAS
id_noticia
name_noticia

FOTOS
id_foto
url_foto

USUARIOS_FOTO
id_noticia
id_foto
  #6 (permalink)  
Antiguo 23/12/2011, 05:52
Avatar de oaoanton  
Fecha de Ingreso: diciembre-2011
Mensajes: 22
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Imagenes campo MYSQL

Muchas gracias voy a probar, pero parece correcto.

Mil gracias :)
  #7 (permalink)  
Antiguo 23/12/2011, 06:25
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Imagenes campo MYSQL

Cita:
Iniciado por oaoanton Ver Mensaje
Muchas gracias voy a probar, pero parece correcto.

Mil gracias :)
obvio!
  #8 (permalink)  
Antiguo 29/12/2011, 10:23
Avatar de oaoanton  
Fecha de Ingreso: diciembre-2011
Mensajes: 22
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Imagenes campo MYSQL

Muy Buenas!
Aber si me pueden ayudar, al final solo e creado la tabla noticias i la tabla imagenes.
en la tabla imagenes tengo los campos href i nombre, el qual nombre hace referencia al nombre de la noticia, entonces nose porque solo me mostra 1, alomejor hago mal la consulta, pero no consigo tampoco hacere WHERE en ninguna consulta..

Alguien sabria como hacer
  #9 (permalink)  
Antiguo 29/12/2011, 10:35
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Imagenes campo MYSQL

Cita:
Iniciado por snowmanchip Ver Mensaje
Hola, Complementando
FOTOS_NOTICIAS
id_fotos_noticias
id_noticia
foto
La id_noticia puede tener n fotos,
Saludos

y el campo id_noticia??? los campos se enlazan por id como claves, parece que no leiste los post
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #10 (permalink)  
Antiguo 30/12/2011, 06:21
Avatar de oaoanton  
Fecha de Ingreso: diciembre-2011
Mensajes: 22
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Imagenes campo MYSQL

Muy Buenas, como veo que no me sale volvere a explicarlo poniendo los cortes de los documentos, haver si algien m puede ayudar :)

Aqui como realizo la conexion i las consultas:
<!-- CONEXION BBDD -->
<?php
$conexion = mysql_connect ("localhost", "root", "");
mysql_select_db("prova", $conexion);
$menu = "SELECT DISTINCT * FROM menu";
$cos = "SELECT * FROM cos GROUP BY nom";
$resMenu = mysql_query($menu, $conexion) or die (mysql_error("No s'ha pogut conectar"));
$totMenu = mysql_num_rows($resMenu);
$resCos = mysql_query($cos, $conexion) or die (mysql_error("No s'ha pogut conectar"));
$totCos = mysql_num_rows($resCos);
$img = "SELECT * FROM imatges";
$resIMG = mysql_query($img, $conexion) or die (mysql_error("No s'ha pogut conectar"));
$totIMG = mysql_num_rows($resIMG);
?>
<!-- FI CONEXION BBDD -->
De esta forma solo me muestra la primera imagen qe encuentra que se relaciona con el nombre de la noticia, acto..
entonces pienso en poner un WHERE en la consulta:
$img = "SELECT * FROM imatges WHERE imatges.nom='cos.nom'";
Peró entonces no muestra NADA! :S

Entonces dijo pues reviso la impression de los datos i bucle:
<?
if ($totCos > 0) {
while ( ($rowCos = mysql_fetch_assoc($resCos)) && ($rowIMG = mysql_fetch_assoc($resIMG)) ) {
echo "<br />","<h1> " . $rowCos['titol'] . "</h1> <br /><h2>" . $rowCos['subtitol'] . "</h2><br /><p>" . $rowCos['text'] ."</p> <img src='". $rowIMG['img'] ."'/> <hr size='3' color='green' /> <br>";
}
}
?>
No es que sea muy experto, porque esto es d principiantes (i no me sale -.-) pero yo creo qe esto se puede mejorar (Ni idea d como), mi base de datos es asi:
BBDD Blog (cos, imatges)
Tabla cos:
-Nom
-Titulo
-Subtitulo
-Texto
Tabla imatges:
-Nom --> Este campo contiene el nombre de la noticia (Ejemplo: acte 1)
-img --> I este contiene el nombre d la imagen (1.jpg, 5.jpg)

Entonces lo que quiero es que muestre el titulo de la noticial, el subtitulo, el texto i todas las imagenes que esten relacionadas con el nombre de esta..
Qe hago??
  #11 (permalink)  
Antiguo 30/12/2011, 08:07
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Imagenes campo MYSQL

Hola...lamentablemente no has aplicado nada de lo que te hemos explicado aquí, tus tablas no han cambiado nada...en una base de datos las tablas se relacionan a través de claves primarias, no necesariamente deben ser de tipo númerico y autoincrementables, pero en este caso es necesario que lo hagas para que entiendas la lógica de las tablas relacionales, lo único que te pido es que pruebes lo que te hemos propuesto y luego de eso si no funciona por un tema de php ya abremos superado un paso al menos, creo que poner el código completo aquí sería no ayudarte realmente a comprender la estructura, por lo anterior crea tu base de datos de la siguiente forma:

Tabla cos
-id_cos autoincrement, tipo int, clave primaria
-Título
-subtitulo
-texto


Tabla imágenes
-id_imagen autoincrement, tipo int, clave primaria
-id_cos tipo int
-imagen

Con esto estableces una relación entre las tablas y cuando selecciones la clausula de igualdad where para el id cos te arrojará la noticia y sus imágenes, las id se crean en forma automática, no es necesario ingresarlas.

Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #12 (permalink)  
Antiguo 31/12/2011, 03:36
Avatar de oaoanton  
Fecha de Ingreso: diciembre-2011
Mensajes: 22
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Imagenes campo MYSQL

Estoy d'acuerdisimo!
Pero a mi cliente (aunke no voy a cobrar nah) le es mas facil recordar nombres (ejemplo: acte1 o acte31/12/2011) que no tener k saber el numero d la noticia, por eso no quiero poner un campo id.

Gracias
  #13 (permalink)  
Antiguo 31/12/2011, 08:08
 
Fecha de Ingreso: agosto-2011
Ubicación: Viña del Mar, Chile
Mensajes: 311
Antigüedad: 12 años, 8 meses
Puntos: 50
Respuesta: Imagenes campo MYSQL

Con este sistema tu cliente no debe recordar los id..es el programa quién los recuerda y los enlaza, tu cliente sólo interactuará con lo que tú programes, ni siquiera le aparecerá un campo id en pantalla,
Saludos
__________________
He aprendido mucho y sigo aprendiendo cada día aquí...así que ayudo cuando puedo para disminuir mi deuda XD..
mi hobby
  #14 (permalink)  
Antiguo 02/01/2012, 03:36
Avatar de oaoanton  
Fecha de Ingreso: diciembre-2011
Mensajes: 22
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Imagenes campo MYSQL

Vale ya e echo las tablas tal i como tu dices, ahora nose como mostarar los datos como quiero..
La duda es como decirle que recorra toda la tabla imagenes mostrando las que tengan el nombre de la noticia que toque.
Algun for? :S

PD: hay que hacer algo para que phpmyadmin relacione el campo ID de la tabla cos i ID_cos de la tabla imagenes.

Qualquier ayuda muchas Gracias!

Última edición por oaoanton; 02/01/2012 a las 03:46
  #15 (permalink)  
Antiguo 02/01/2012, 07:16
Avatar de Patriarka  
Fecha de Ingreso: enero-2011
Ubicación: Moreno, Buenos Aires, Argentina
Mensajes: 2.851
Antigüedad: 13 años, 3 meses
Puntos: 288
Respuesta: Imagenes campo MYSQL

a ver, no se que estructura huciste. yo te recuerdo la que te enseñe:!!!

NOTICIAS
id_noticia AUTOINCREMENT
name_noticia

FOTOS
id_foto AUTOINCREMENT
url_foto

NOTOCIAS_FOTO
id_noticia
id_foto

Y te dije como programarlo:

Creo la noticia y le agrego las imagenes que quiero.
algo asi
form.html
Código HTML:
Ver original
  1. <form action="procesa.php">
  2. <input name="name_noticia" value="" type="text">
  3.  
  4. <input name="image_noticia[]"  type="file">
  5. <input name="image_noticia[]"  type="file">
  6. <input name="image_noticia[]"  type="file">
  7. <input name="image_noticia[]"  type="file">
  8. //n imagenes, si queres lo podes poner en un for
  9. </form>

procesa.php
Código PHP:
Ver original
  1. $name_noticia = $_REQUEST['name_noticia'];
  2. $sql_noticia ="INSERT INTO NOTICIAS (name_noticia) values ('$name_noticia') ";
  3.  
  4. $id_noticia = mysql_insert_id();
  5.  
  6. //ACA EXPLICO COMO SUBIR MULTIPLES IMEGENES [url]http://www.forosdelweb.com/f18/problema-subir-multiples-imagenes-966309/[/url]
  7.  
  8. WHILE($files){
  9.     $sql_fotos = INSERT INTO FOTOS (url_foto) VALUES ('$_FILES[....]') ;
  10.  
  11.     $id_foto = mysql_insert_id()
  12.  
  13.     $sql_noti_foto = "INSERT INTO NOTICIAS_FOTO (id_noticia, id_foto) VALUES ('$id_noticia ', '$id_foto')";
  14. }

Y bueno ejecuta todas las consultas
y tambien termina de adaptarlo a tu sistema hasta hacer lo funcionar, cuando hagas esto
recien vamos a hablar de "como?" le presentamos al cliente los datos y como relacionamos
las noticas con las fotos, ect, etc.

como ves esto de crear una galeria para un noticiero no es algo que lleva su tiempo
  #16 (permalink)  
Antiguo 03/01/2012, 04:19
Avatar de oaoanton  
Fecha de Ingreso: diciembre-2011
Mensajes: 22
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: Imagenes campo MYSQL

Hmm.. Si hasta aqui me funciona, lo que no se como hacer es un bucle qe muestre las imagenes de la noticia..

Estoy ahora aprendiendo C pero no se me ocurre como hacer esto.. :S

Ayuda plz!
Gracias de antemanao

Etiquetas: blog, imagenes
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 07:33.