Foros del Web » Programando para Internet » PHP »

Mostrar contenido dependiendo de opcion del select

Estas en el tema de Mostrar contenido dependiendo de opcion del select en el foro de PHP en Foros del Web. Hola a todos tengo una galeria de imagenes que toma urls de una base de datos, su thumb y descripcion, y tengo un select y ...
  #1 (permalink)  
Antiguo 10/11/2009, 12:47
Avatar de chroman81  
Fecha de Ingreso: abril-2009
Mensajes: 25
Antigüedad: 15 años
Puntos: 0
Mostrar contenido dependiendo de opcion del select

Hola a todos tengo una galeria de imagenes que toma urls de una base de datos, su thumb y descripcion, y tengo un select y este consulta los album's que existen en la base de datos este es mi codigo no he podido que al seleccionar una opcion salga el contenido de ese album:

Código PHP:
include("conexion.php");
                            $link=Conectarse();
                            $dir = 'admin/multimedia/';
                            $total = 4;
                            $contador = 0;
                            $consulta = mysql_query("select id_album, album from album where not id_album = 6 order by id_album",$link);
                            ?>
                            
                            <p class="titulos">Album:</p>
                            <form action="<?php echo $PHP_SELF ?>">
                            <select onchange="this.form.submit();">
                                
                                <?php while($album mysql_fetch_array($consulta)){ ?>
                                <option value="<?php $id $album['id_album']; echo $id?>"> <?php echo $album['album']?> </option>
                                <? ?>
                            </select>
                            <?php $result mysql_query("select url, thumb, descripcion, album from fotos inner join album on id_categoria = id_album where id_album = $id order by id_foto desc limit 16",$link); ?>
                            <table id="galeria">
                                <tr>
                                <?php
                                
while($foto mysql_fetch_array($result)){
                                    
?>
                                
                                    <td><a href="<? echo $dir.$foto['url']; ?>" rel="example1" title="<?php echo $foto['descripcion']; ?>"><img src="<? echo $dir.$foto['thumb']; ?>"></a></td>
                                <?
</form>
</
table>
Pero no me aparece nada al cambiar de opcion.

El value de cada option es 1 o 2 si lo pongo directamente en el where id_album = 2 si funciona pero si pongo la variable $id no funciona.
  #2 (permalink)  
Antiguo 10/11/2009, 17:21
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Mostrar contenido dependiendo de opcion del select

Hola
eso es porque no has puesto la etiqueta name al select,
ponle name = 'id' y luego al recibir has esto

$idselect = $_GET['id']; (pues según veo estas usando el action por defecto del form, y con este $idselect es que debes hacer la consulta

saludos
  #3 (permalink)  
Antiguo 10/11/2009, 18:28
Avatar de chroman81  
Fecha de Ingreso: abril-2009
Mensajes: 25
Antigüedad: 15 años
Puntos: 0
Respuesta: Mostrar contenido dependiendo de opcion del select

gracias, ya me salio ahora cada vez que es la primera vez que se carga la pagina me da un warning.Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in bla..bla entiendo que en la primera vez no hay valor, como puedo solucionar esto? si todos mis option del select vienen directamente de la BD, queria ponerle al primero un selected.

Cuando ya se selecciona un album, si cambia pero la primera vez se ve feo el warning.

Salu2 y muchas gracias
  #4 (permalink)  
Antiguo 10/11/2009, 18:32
Avatar de zaetoner  
Fecha de Ingreso: noviembre-2007
Ubicación: La ciudad de México
Mensajes: 607
Antigüedad: 16 años, 5 meses
Puntos: 30
Respuesta: Mostrar contenido dependiendo de opcion del select

has una consulta antes de mandar la pagina

$numero_consultas=mysql_num_rows($consulta);
if($numero_consultas>0){
//existen registros
}else{
//no existen registros
}
__________________
...
  #5 (permalink)  
Antiguo 11/11/2009, 13:14
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Mostrar contenido dependiendo de opcion del select

Hola
Bueno, ya te dieron una buena solución, pero si lo que quieres hacer inicialmente es solo poner alguno en selected, y por ej alguno tiene id 1 entonces podrias hacer esto

Código PHP:
if($idselected == ''){
$idselected 1;

y ya con esto tomaria valor 1 cuando $idselected sea vacio, que seria solo la primera vez, bueno, saludos
  #6 (permalink)  
Antiguo 11/11/2009, 17:59
Avatar de chroman81  
Fecha de Ingreso: abril-2009
Mensajes: 25
Antigüedad: 15 años
Puntos: 0
Respuesta: Mostrar contenido dependiendo de opcion del select

Gracias mortiprogramador ya ha quedado perfecta la galería como me la pidieron!!! en verdad gracias, 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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:02.