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
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" >
<option value="radio">Revistas</option>
<option value="radio2" selected>Peliculas</option>
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!
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>
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.
Así?
<form action='index.php' method='post'>
<input type="text" name="txtWord" />
<input type="submit" name="btnSearch" value="Search..." /><br>
<label>
<input type="radio" value="Movie" id="rType" name="rType" checked="checked" />Movie
</label>
<label>
<input type="radio" value="Magazines" id="rType" name="rType" />Magazines
</label>
</form>
<?php
$stxtWord = $_POST['txtWord'];
$srType = $_POST['rType'];
if($srType == 'Movie'){
echo 'The name movie is: '.$stxtWord;
}else{
echo 'The name magazine is: '.$stxtWord;
}
?>
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
$link = @mysql_connect("localhost", "root", "pass");
mysql_select_db("db", $link);
// 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";
$rs = mysql_query($sql);
$rsTotal = mysql_query($sqlTotal);
$rowTotal = mysql_fetch_assoc($rsTotal);
// 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
Aquí:
$var=$_POST[palabra];
debe llevar comillas:
$var=$_POST['palabra'];
sigue igual :-\
Mirad lo siguiente:
<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>
<?php
$link = @mysql_connect("localhost", "root", "pass");
mysql_select_db("db", $link);
$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";
$rs = mysql_query($sql);
$rsTotal = mysql_query($sqlTotal);
$rowTotal = mysql_fetch_assoc($rsTotal);
$total = $rowTotal["total"];
?>
en efecto, capturabas el valor del text y no el de los radio butoms.
gracias Shell Root eres un genio ;-)