PHP > Duda

N_Alcacer

Soy bastante noob en esto, y estoy programando una pequeña web con php y hay algo que me han pedido y no tengo ni zorra como hacerlo:

Es una web de cine, y el buscador es un tanto extraño, en un menu desplegable me tiene que aparecer los nombres de todos los directores que hayan en la base de datos, y cuando se seleccione uno, pues que me salgan todas las peliculas que ha hecho. Lo segundo lo se hacer, pero ¿como hago para que en el menu desplegables, sin meterlos a mano, me salgan todos los nombres de los directores que tengo en la base de datos?

guner

supongo que tu problema es que no tienes una tabla con los directores, verdad??
en ese caso, creo que lo mejor que puedes hacer es crearla.

SeiYa

pues, asi a ojo seria algo asi:

(suponiendo que el menu desplegable este en una capa con efectos javascript)

$query=mysql_query("SELECT id, nombre, apellidos FROM autores ORDER BY apellidos, nombre DESC");

while ( $row = mysql_fetch_array($query))
{

<a href=peliculas.php?autor=$row[id]>$row[nombre] $row[apellidos]</a><br>

}

¿Algo asi te refieres?

guner

#3, creo que el problema es que no existe una tabla autores o similar, si no, no veo el obstáculo.

iKi

con un for ? con un while ?

con lo que quieras... selecciona todos los directores de la bd antes de pintar en la pagina la lista despegable y con el bucle que más te guste vas añadiendo los campos del select con algo tipo:

echo"'<select name='nombre'>";
bucle-inicio
echo "<option value='valor1'>valor1</option>";
echo "<option value='valor2'>valor2</option>";
bucle-fin
echo '</select>';

N_Alcacer

si, si que tengo creada la tabla con directores, y con los datos de las peliculas

SeiYa

A ver si tienes en la misma tabla las peliculas y sus directores, es decir, no tienes una tabla aparte solo con los directores y que en el campo director de la tabla peliculas no este el nombre del director sino una referencia al director de la tabla directores (se que es un lio pero se entiende) entonces tendras solo una tabla, peliculas en la que tienes un campo que se llama director en el que has puesto el nombre de cada director, es importante que el nombre sea exactamente el mismo para dos peliculas con el mismo director, me refiero que no te equivoques en acentos o lo que sea entonces seria:

$query=mysql_query("SELECT distinct(director) FROM peliculas ORDER BY director DESC");

while ( $row = mysql_fetch_array($query))
{

echo "<a href=peliculas.php?autor=$row[director]>$row[director] </a>";

}

Luego en el peliculas.php tienes algo asi:

if(isset($_GET[director])
{

$sql=mysql_query("Select titulo from peliculas where director='$_GET[DIRECTOR]'");
while($row=mysql_fetch_array($sql))
{
echo "$row[titulo]";
}

mas o menos

El problema es que no te explicas lo suficiente no se entiende muy bien como lo quieres hacer ni la estructura de lo que tienes.

iKi

aun así, en mi humilde opinión, esta muy bien que pidas ayuda y preguntes pero si realmente quieres aprender piensa un poco antes de preguntar pq no es dificil lo que preguntas simplemente no te has parado a pensar cómo hacerlo

N_Alcacer

Tengo una tabla (peliculas) alli tengo los datos de todas las peliculas que hay (director, titulo, actores, año, resumen, caratula).
Tengo que hacer que el nombre de todos los directores me aparezcan en un menu desplegable, y que cuando se pinche en uno todas las peliculas de ese director me aparezcan.

PD: Ya he dicho que soy bastante nuevo en esto, llevo bastante tiempo dande le vueltas al asunto, y como no encontraba una respuesta lo he posteado

N_Alcacer

Gracias a todos, ya me ha salido :)

Ahora tengo otra pequeña duda ¿Como se hace un isset de una option de un select?

guner

ha quedado demostrada mi ingorancia con SQL, no sabía eso de ditinct(...) y bueno, aunque lo hubiera sabido, habría usado dos tablas si hubiese sido el ^^

Whose

las dudas que tienes son de novato por eso voy a intentar explicarte un poco y dejarte enlaces de ayuda para que leas.
isset se usa para comprobar si una variable esta definida, se usa de igual forma en un formulario que fuera de el.
http://es2.php.net/isset

Por lo demas el manual de www.php.net esta muy bien para consultar sobre cualquier funcion cuando te surja una duda, saludos!

iKi

jur

yo no entiendo ara que es necesario usar el isset aquí...

La verdad yo también soy novata en esto del php pero me parece que estais rebuscando mucho la solució no ?

guner

yo prefiero el CHM oficial de PHP : D

Usuarios habituales

  • guner
  • iKi
  • Whose
  • N_Alcacer
  • SeiYa