Foros del Web » Programando para Internet » PHP »

Menu desplegable y MYSQL

Estas en el tema de Menu desplegable y MYSQL en el foro de PHP en Foros del Web. Estoy intentando crear un menu desplegable que haga una busqueda a MYSQL, soy bastante nuevo en PHP y la verdad no estoy seguro de como ...
  #1 (permalink)  
Antiguo 05/11/2003, 11:27
 
Fecha de Ingreso: noviembre-2003
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 0
Exclamación Menu desplegable y MYSQL

Estoy intentando crear un menu desplegable que haga una busqueda a MYSQL, soy bastante nuevo en PHP y la verdad no estoy seguro de como hacerlo, intente esto:

formulario.html
<form method="POST" action="busqueda.php">
<select size="1">
<option value="Apellido">Apellido</option>
<option value="Mail">Mail</option>
<option value="Estado">Estado</option>
</select></p>
<p><input type="submit" value="Buscar" name="submit"></p>
</form>

busqueda.php
<?
include ("conexion.php");

if (Apellido) {
$SQL = "SELECT * FROM exalumnos";
$sqla = mysql_query ($SQL);
while( ($fila=mysql_fetch_array($sqla)) ) {
echo $fila["paterno"] . ": " . $fila["nombre"] . "<p>";
}}

if (Mail) {
$SQL= "SELECT * FROM exalumnos";
$sqla = mysql_query ($SQL);
while( ($fila=mysql_fetch_array($sqla)) ) {
echo $fila["mail"] . ": " . $fila["nombre"] . "<p>";
}

}

Pero no resulta, lo que quiero es que cuando eliga solo "Apellido" me aparesca los Apellidos y cuando eliga "Mail" me aparescan los E-mails.

Gracias
  #2 (permalink)  
Antiguo 05/11/2003, 12:04
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El "select" de HTML no es correcto .. le falta el nombre .. nombre que será el nombre de la variabel que tendrás que filtrar en tus condicionales para ver que valor tiene y en consecuencia saber cual se seleccionó en ese <select>


<select name="opcion" size="1">

(esto no es PHP .. es HTML ..)

Y en la parte PHP .. recibiras la variable $opcion (mejor dicho por el método que envias en el formulario será: $_POST['opcion'] )

Así que tus IF (podrias usar mejor switch() para estos casos de 1 variable -> vários resultados condicionales ..)

Código PHP:
if ($_POST['opcion']=="Apellido"){
// haces tu consulta como corresponda ..
}

if (
$_POST['opcion']=="Mail"){
// haces tu consulta como corresponda ..

Consejos:

* La definición de tu variable $SQL es la misma para todas las $opcion es ..así que puedes declararla arriba (antes) de tu série de IF. Lo mismo es aplicable para el mysql_query que haces ...

* Revisa la documentación de switch() en www.php.net/switch verás que es más útil y clara para estos casos.


Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 05/11/2003, 12:50
 
Fecha de Ingreso: noviembre-2003
Mensajes: 38
Antigüedad: 14 años, 1 mes
Puntos: 0
Gracias Cluster, eso arreglo todo :D, tambien pobre el switch(), ya lo habia intentado usar, pero como me faltaba lo del nombre pues por eso no servia, aqui pongo el codigo del php para que lo vean :D

<?
include ("conexion.php");


$SQL = "SELECT * FROM exalumnos";
$sqla = mysql_query ($SQL);

switch ($opcion) {

case Apellido:
while( ($fila=mysql_fetch_array($sqla)) ) {
echo $fila["paterno"] . ": " . $fila["nombre"] . "<p>";
}
break;

case Mail:
while( ($fila=mysql_fetch_array($sqla)) ) {
echo $fila["mail"] . ": " . $fila["nombre"] . "<p>";
}
break;
}
?>

Saludos a todos
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 14:35.