Duda php y mysql

Hola! Tengo un pequeño problema, estoy haciendo una aplicación con PHP, MySQL y Apache y tengo el siguiente problema : quiero que al escoger una opción de un grupo de opciones o en un menu emergente, me cargue en otra página los datos que tengo en la Base de Datos referentes a esa opción. Lo que tengo hecho ahora es una página distinta para cada opción, pero lo que quiero es una sola página y que cargue unos datos u otros dependiendo de la opción que escoja el usuario. Espero haberme explicado. Muchas gracias.

1 Respuesta

Respuesta
1
Aquí te propongo un código de ejemplo para que veas como funciona el mecanismo de los select que aproveche el código que tienes hecho..
<?php
if (isset($_POST['elige'])) {
switch ($_POST['pagina']) {
case opcion1:
include "opcion1.php";
break;
case opcion2:
include "opcion2.php";
break;
}
}
else {
echo "<form method='post' action='".$_SERVER['PHPSELF']."'>";
echo "<select name='pagina'>";
echo "<option value='opcion1'>Opción Primera</option>";
echo "<option value='opcion2'>Opción Segunda</option>";
echo "</select>";
echo "<input type='submit' name='elige' value='Elegir'>";
echo "</form>";
}
?>
Muchas gracias por la ayuda y la aclaración, espero no haberte molestado mucho.
Un saludo.
Scialfa
Hola:
En primer lugar, muchas gracias por contestar tan rapido. Aun a riesgo de ser pesada, me gustaría preguntarte otra cosa, ¿en el código que me diste sigue habiendo una página para cada opción no?, espero que no sea una pregunta tonta, la verdad es que estoy bastante pez en PHP y MYSQL.
Yo tengo la idea de que hay que usar algún tipo de variable que recoja la opción que decide el usuario y dependiendo del valor de esa variable que en la página de resultados aparezcan los de la opción escogida... la verdad es que m explico muy mal.. Siento no ser más clara. Espero que m puedas ayudar. De todas formas muchas gracias.
Un saludo
Otra vez. Te reenvío el código comentado...
<?php
// determina si existe la variable 'elige' o sea, si se ha pulsado el boton enviar del formulario
if (isset($_POST['elige'])) {
// si exite la variable 'elige' mira a ver el valor de la variable 'pagina' que es como se llama el campo select del formulario y que indica que opcion escogió el usuario
switch ($_POST['pagina']) {
case opcion1:
// si fue la 'opcion1' se añade la pagina que tiene los datos correspondientes a la opcion1. Tambien se puede escribir en este trozo de programa todo el codigo de la primera opcion
include "opcion1.php";
break;
//igual pero con la opcion2
case opcion2:
include "opcion2.php";
break;
}
}
// si no se ha oprimido el boton enviar, se pinta el formulario
else {
// Pinta instrucciones html necesarias (action indica a que fichero se enviaran los resultados, en este caso será a este mismo fichero, sea cual sea el nombre que pongas)
echo "<form method='post' action='".$_SERVER['PHPSELF']."'>";
// le ponemos 'pagina' de nombe al select. Es el nombre de la variable que hemos recogido arriba
echo "<select name='pagina'>";
echo "<option value='opcion1'>Opción Primera</option>";
echo "<option value='opcion2'>Opción Segunda</option>";
echo "</select>";
echo "<input type='submit' name='elige' value='Enviar'>";
echo "</form>";
}
?>
Espero que ahora este más claro el asunto.
Si, hay una página para cada opción. Si quieres unificarlo todo en una sola página, copia el código de cada opción en las clausulas case
Un saludo. Hasta otra.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas