Título: If en un formulario
Publicado por: viher en 19 Agosto 2010, 03:08 am
hola,pues tengo el siguiente formulario: <form id="form1" name="buscador" method="post" action="buscador.php"> <label for="textfield"></label><br> <input type="text" name="palabra" id="textfield" /> <input type="submit" name="button" id="button" value="Buscar" /> <br><input name="radio" type="radio" id="radio" value="radio" checked="checked" /> Películas <input type="radio" name="radio2" id="radio2" value="radio2" /> <label for="radio2"></label> Revistas <label for="radio"></label> </form> el caso es que queria ver si es posible con un if o algo hacer que si se pulsa la opción de "radio" la action del form vaya a buscador.php y si la opcion "radio2" es seleccionada la action del form vaya a otro archivo php como por ejemplo buscador.php es esto posible y como se podria hacer? gracias esque estoy empezando en php
Título: Re: If en un formulario
Publicado por: Dznp en 19 Agosto 2010, 03:18 am
Si, se puede. Bué, en realidad con lo que vos estas usando no podrías, ya que podes seleccionar 2 a la ves, podes usar un select <select name="nombre" size="1" >
y un php más o menos así. <?php $var=$_POST[nombre]; if($var=='radio'){ echo 'acción 1'; } else { echo 'Acción 2'; } ?>
Espero que te sirva!
Título: Re: If en un formulario
Publicado por: viher en 19 Agosto 2010, 03:37 am
asi lo personalicé,pero cuando el doy al boton del formulario para buscar me lleva al archivo "2.php" con las 2 opciones,aunque las cambie no me lleva a buscador.php <form id="form1" name="buscador" method="post" action="<?php $var=$_POST[nombre]; if($var=='RadioGroup1'){ echo 'buscador.php'; } else { echo '2.php'; } ?>"> <label for="textfield"></label><br> <input type="text" name="palabra" id="textfield" /> <input type="submit" name="button" id="button" value="Buscar" /><br> <label> <input name="RadioGroup1" type="radio" id="RadioGroup1_0" value="Películas" checked="checked" /> Películas</label> <label> <input type="radio" name="RadioGroup1" value="Revistas" id="RadioGroup1_1" /> Revistas</label> <label for="radio"></label> <label for="radio2"></label> </form>
Título: Re: If en un formulario
Publicado por: Dznp en 19 Agosto 2010, 03:48 am
No no, eso esta mal!
El codigo que yo te di en php tendría que ir en buscador.php, ese archivo recibe las variables.
Título: Re: If en un formulario
Publicado por: Shell Root en 19 Agosto 2010, 03:59 am
Así? <form action='index.php' method='post'> <input type="text" name="txtWord" /> <input type="submit" name="btnSearch" value="Search..." /><br> <input type="radio" value="Movie" id="rType" name="rType" checked="checked" />Movie <input type="radio" value="Magazines" id="rType" name="rType" />Magazines
<?php $stxtWord = $_POST['txtWord']; $srType = $_POST['rType']; if($srType == 'Movie'){ echo 'The name movie is: '.$stxtWord; }else{ echo 'The name magazine is: '.$stxtWord; } ?>
Título: Re: If en un formulario
Publicado por: viher en 19 Agosto 2010, 14:57 pm
formulario: <form id="form1" name="buscador" method="post" action="buscador.php"> <label for="textfield"></label><br> <input type="text" name="palabra" id="textfield" /> <input type="submit" name="button" id="button" value="Buscar" /><br> <label> <input name="RadioGroup1" type="radio" id="RadioGroup1_0" value="Películas" checked="checked" /> Películas</label> <label> <input type="radio" name="RadioGroup1" value="Revistas" id="RadioGroup1_1" /> Revistas</label> <label for="radio"></label> <label for="radio2"></label> </form>
buscador.php <?php // maximo por pagina $limit = 25; // pagina pedida $pag = (int) $_GET["pag"]; if ($pag < 1) { $pag = 1; } $offset = ($pag-1) * $limit; $var=$_POST[palabra]; if($var=='RadioGroup1'){ $sql = "SELECT SQL_CALC_FOUND_ROWS img, nombre, id FROM peliculas WHERE nombre like '%$buscar%' order by id desc LIMIT $offset, $limit"; } else { $sql = "SELECT SQL_CALC_FOUND_ROWS img, nombre, id FROM revistas WHERE nombre like '%$buscar%' order by id desc LIMIT $offset, $limit"; } $sqlTotal = "SELECT FOUND_ROWS() as total"; // Total de registros sin limit $total = $rowTotal["total"]; ?>
pues eso es lo que hice,lo que pasa es que seleccione la opción Revistas o Películas me saca la consulta de la tabla revistas.¿Porque?¿Qué estoy haciendo mal? Gracias
Título: Re: If en un formulario
Publicado por: cassiani en 19 Agosto 2010, 17:01 pm
Aquí: debe llevar comillas:
Título: Re: If en un formulario
Publicado por: viher en 19 Agosto 2010, 17:21 pm
sigue igual :-\
Título: Re: If en un formulario
Publicado por: Shell Root en 19 Agosto 2010, 20:11 pm
Mirad lo siguiente: name="buscador" method="post" action="buscador.php"> <input type="text" name="palabra" id="textfield" /> <input type="submit" name="button" id="button" value="Buscar" /> <input name="RadioGroup1" type="radio" id="RadioGroup1_0" value="Películas" checked="checked" />Películas <input type="radio" name="RadioGroup1" value="Revistas" id="RadioGroup1_1" />Revistas
<?php $limit = 25; $pag = (int) $_GET["pag"]; if($pag < 1){ $pag = 1; } $offset = ($pag-1) * $limit; $var = $_POST['palabra']; $srType = $_POST['RadioGroup1']; # Aquí el valor del radio seleccionado if($srType == 'pelicula'){ $sql = "SELECT SQL_CALC_FOUND_ROWS img, nombre, id FROM peliculas WHERE nombre like '%".$buscar."%' order by id desc LIMIT ".$offset.", ".$limit; }else if($srType == 'revistas'){ $sql = "SELECT SQL_CALC_FOUND_ROWS img, nombre, id FROM revistas WHERE nombre like '%".$buscar."%' order by id desc LIMIT ".$offset.", ".$limit; }else{ $sql = "SELECT -1 As 'ERROR'"; } $sqlTotal = "SELECT FOUND_ROWS() as total"; $total = $rowTotal["total"]; ?>
Título: Re: If en un formulario
Publicado por: cassiani en 19 Agosto 2010, 20:16 pm
en efecto, capturabas el valor del text y no el de los radio butoms.
Título: Re: If en un formulario
Publicado por: viher en 19 Agosto 2010, 20:29 pm
gracias Shell Root eres un genio ;-)
|