Foros del Web » Programando para Internet » PHP »

Mostrar datos de mysql con php

Estas en el tema de Mostrar datos de mysql con php en el foro de PHP en Foros del Web. Hola ! quería consultar si hay alguna manera de mostrar solo los campos completos de una base de datos. En mi caso tengo un formulario ...
  #1 (permalink)  
Antiguo 11/07/2013, 11:56
 
Fecha de Ingreso: julio-2013
Mensajes: 31
Antigüedad: 10 años, 9 meses
Puntos: 0
Mostrar datos de mysql con php

Hola ! quería consultar si hay alguna manera de mostrar solo los campos completos de una base de datos.

En mi caso tengo un formulario donde se cargan datos e imagenes de autos.
Bien el tema es el siguiente, quizas cuando alguien cargue las imagenes, no cargue las 10 imagenes que se pueden, sino solo 4 por ejemplo.
Yo solo necesitaria mostrar las que hay, lo que me pasa es que cuando muestro las 10 imagenes y solo fueron subidas 4 (por ejemplo) veo los iconos de imagen rota obviamente porque no existen.

Como podria mostrar solo las que estan ?
  #2 (permalink)  
Antiguo 11/07/2013, 12:06
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Mostrar datos de mysql con php

Necesitamos ver tu codigo para poder orientarte un poco, no somos adivinos. Saludos
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #3 (permalink)  
Antiguo 11/07/2013, 13:54
Avatar de CesarHC  
Fecha de Ingreso: junio-2011
Ubicación: localhost
Mensajes: 566
Antigüedad: 12 años, 10 meses
Puntos: 56
Respuesta: Mostrar datos de mysql con php

Podrias usar empty para determinar si la variable donde guardas la ruta de la imagen esta vacia.

Código PHP:
Ver original
  1. <?php
  2. $var = 0;
  3.  
  4. // Evaluates to true because $var is empty
  5. if (empty($var)) {
  6.     echo '$var is either 0, empty, or not set at all';
  7. }

Aunque sin ver tu codigo no sabria si eso te daria una solucion, como te dice h2swider postea el codigo.
__________________
Solo la práctica no te traicionara ¡¡¡¡¡¡

Seguir el camino tu debes PHP The Right Way.
  #4 (permalink)  
Antiguo 12/07/2013, 09:46
 
Fecha de Ingreso: julio-2013
Mensajes: 31
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Mostrar datos de mysql con php

Imagino que no son adivinos! jaja pense que quizas habia una respuesta medio generica como la que me da cesar. Muchas gracias! creo que el tema viene por ese lado
igualmente dejo mi codigo.

tengo esto donde recibo los datos
y guardo las rutas de las imagenes respectivas a ese id

$dbh = mysql_connect("localhost", $user, $pass) or die(mysql_error());
$db = mysql_select_db($bbdd);
$sql='SELECT * FROM cars';
$sql .= " where id ='".$id."'";
$rs=mysql_query($sql);
$ver=mysql_fetch_assoc($rs);
$img = $ver['imagen'];
$img2 = $ver['imagen2'];
$img3 = $ver['imagen3'];
$img4 = $ver['imagen4'];
$img5 = $ver['imagen5'];
$img6 = $ver['imagen6'];
$img7 = $ver['imagen7'];
$img8 = $ver['imagen8'];
$img9 = $ver['imagen9'];
$img10 = $ver['imagen10'];



$rm_img ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img.'" width="98" height="74" />';
$rm_img2 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img2.'" width="98" height="74" />';
$rm_img3 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img3.'" width="98" height="74" />';
$rm_img4 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img4.'" width="98" height="74" />';
$rm_img5 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img5.'" width="98" height="74" />';
$rm_img6 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img6.'" width="98" height="74" />';
$rm_img7 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img7.'" width="98" height="74" />';
$rm_img8 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img8.'" width="98" height="74" />';
$rm_img9 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img9.'" width="98" height="74" />';
$rm_img10 ='<img src="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img10.'" width="98" height="74" />';


bien, ahora tengo la parte donde muestro los datos:

<?php
//miniaturas

echo '<ul class="galeria">';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img2.'" rel="shadowbox[auto]">'.$rm_img2.'</a>';
echo '</li>';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img3.'" rel="shadowbox[auto]">'.$rm_img3.'</a>';
echo '</li>';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img4.'" rel="shadowbox[auto]">'.$rm_img4.'</a>';
echo '</li>';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img5.'" rel="shadowbox[auto]">'.$rm_img5.'</a>';
echo '</li>';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img6.'" rel="shadowbox[auto]">'.$rm_img6.'</a>';
echo '</li>';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img7.'" rel="shadowbox[auto]">'.$rm_img7.'</a>';
echo '</li>';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img8.'" rel="shadowbox[auto]">'.$rm_img8.'</a>';
echo '</li>';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img9.'" rel="shadowbox[auto]">'.$rm_img9.'</a>';
echo '</li>';
echo '<li>';
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$img10.'" rel="shadowbox[auto]">'.$rm_img10.'</a>';
echo '</li>';
echo '</ul>';
?>

ahi veran que en si muestro todas las imagenes que podrian cargarse que en total son 10.
Ahora si en ese id solo se subieron 4 imagenes, esas cuatro las veo bien y obviamente las otras 6 las veo con el icono de imagen rota.

Entonces lo que quisiera es que solo se van las imagenes que esten.
Alguna idea de como puedo hacer???
  #5 (permalink)  
Antiguo 12/07/2013, 10:00
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 8 meses
Puntos: 194
Respuesta: Mostrar datos de mysql con php

podrias hacer algo como

select imagen, imagen2, imagen3... solo traes las imagenes.


luego

Código PHP:
Ver original
  1. foreach ($ver as $imagen){
  2.     echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$imagen.'" rel="shadowbox[auto]">algo</a>';
  3. }
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives
  #6 (permalink)  
Antiguo 12/07/2013, 10:12
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Mostrar datos de mysql con php

Cita:
lo que me pasa es que cuando muestro las 10 imagenes y solo fueron subidas 4 (por ejemplo) veo los iconos de imagen rota obviamente porque no existen.
Este problema te surge por varias cosas, una de ellas puede ser que no validaste la subida de imagenes en insertaste campos vacíos a la bd, lo cua esta mal, debes de validar que solo se inserten campos con información que se haya subido.

Otra razon que pasa es que, no quisieras manejar la validación como te digo en el parrafo de arriba, para este camino lo que tienes que hacer es solamente filtrar tu query.

Suponiendo que tienes campos nulos o vacios:
Código SQL:
Ver original
  1. SELECT * FROM cars WHERE id = '5' AND imagen IS NOT NULL OR imagen <> '';

Ese query solo te va a regresar las imagenes que tengan ruta.

La otra cosa es que, si manejas la estrucutra de tener limitado a 10 imagenes y si no se subieron todas pongas una imagen por default.'

Último consejo, a mi parecer estas manejando mal tu estructura de imagenes, con esto esta limitado, que pasa si el usuario decide que no son 10 imagenes sino ahora son 20, vas a crear 20 variables ? debes de dejar tu codigo configurable.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #7 (permalink)  
Antiguo 12/07/2013, 13:32
 
Fecha de Ingreso: julio-2013
Mensajes: 31
Antigüedad: 10 años, 9 meses
Puntos: 0
Respuesta: Mostrar datos de mysql con php

Reedyseth me diste un buen panorama, tenes razon en que no es reutilizable el codigo.
como no puedo optar por la validacion , ya que lo quieren de esta manera,
supongamos q hago esto q me dijiste
SELECT * FROM cars WHERE id = '5' AND imagen IS NOT NULL OR imagen <> '';

como quedaria la consulta para imagen, imagen2, imagen3,....etc hasta 10 ?

otra opcion seria hacer algo como esto

foreach ($ver as $imagen){
echo '<a href="http://www.autosglobale.com/admin/uploads/'.$id.'/'.$imagen.'" rel="shadowbox[auto]">algo</a>';
}

y aca mi pregunta es:

en esta linea foreach ($ver as $imagen)
el foreach va a va a tomar los valores de $imagen2, $imagen3, etc.. hasta la 10 ? o solo toma el de $imagen.


creo que despues de todo esto lo mas facil seria poner una foto por defecto y ya...
  #8 (permalink)  
Antiguo 12/07/2013, 17:45
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Mostrar datos de mysql con php

Cita:
supongamos q hago esto q me dijiste
SELECT * FROM cars WHERE id = '5' AND imagen IS NOT NULL OR imagen <> '';
Mira el query era por que en teoria tenias solo un campo llamado imagen y a ese le registrabas las imagenes y creabas registro...Pero como tienes que usar los 10 campos entonces mas bien la validacion va por php, podrías guardar los valores de de cada imagen en un arreglo, despues recorres el arreglo con el foreach, y dentro del foreach pones una condición donde validas que no este vacío, si no lo esta lo imprimes.


La otra no se si ellos hicieron la bd o tu la hiciste, si tu tienes el control puedes hacer muchas cosas, hasta una tabla donde guardes los nombres de variable (imagen, imagen2, etc) y ahora si haces tu filtro de SQL.

Cita:
el foreach va a va a tomar los valores de $imagen2, $imagen3, etc.. hasta la 10 ? o solo toma el de $imagen.
La respuesta es si, por eso es que tienes que validar como meciono arriba.

Ahora mi pregunta es, que es lo que obtienes (supongo las imagenes) y como se las quieres mostrar al usuario ?
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.

Etiquetas: Ninguno
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 23:37.