Tengo que realizar una determinada acción en función de la opción que yo haya seleccionado en un index cualquiera. Las opciones son:
- contar nº de peliculas que ha hecho cada actor
- insertar un nombre X con apellido Y en sakila
El principal problema que me salta es que pasa por la primera condición, pero pasa olímpicamente del resto de opciones; vamos, que se la suda que estén ahí puesta.
INDEX
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<html>
<head>
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
<table>
<h1> HELLO WORLD - 2º ASIR</h1>
<form name="formulario" action="ejer.php" method="post">
<table>
<td>
<p>Seleccione su opción</p>
<select name="acciones">
<option name="predet">--ELIJA UNA OPCIÓN--</option>
<option name="actores">Contar las peliculas de cada actor</option>
<option name="insertar">Insertar un nuevo actor en la BBDD</option>
</select><br><br>
<input type="submit" value="Seguir"/>
</td>
</table>
<br>
<table id="especial">
<td>
<p>Nombre: <input type="text" name="nombre"/></p><br>
<p>Apellido: <input type="text" name="apellido"/></p><br>
</td>
</table>
</form>
</body>
</html>
PHP
<html>
<head>
<link rel="stylesheet" type="text/css" href="css.css">
</head>
<body>
<?php
//** Se requiere conexión, si no existe conex.php se corta y salta error **//
require 'conex.php';
$accion=(isset($_POST['acciones']));
if ($accion == "predet")
{
echo 'Hola <br>';
}
//** LISTAR Nº DE PELICULAS POR ACTOR **//
//** Si la acción del formulario que enviamos es ver el nº de peliculas por actor, entra aquí **//
elseif ($accion == 'actores')
{
//** Esta es la variable que hará funcionar la select para poder hacer el ejercicio 1 **//
$ejercicio1=mysql_query("SELECT actor_id count('film_id') FROM film_actor, film WHERE film.film_id = film_actor.film_id Group by actor_id",$con)
or die("<p>Error".mysql_error()."</p>");
if (mysql_num_rows($ejercicio1)>0) {
if ($resultado1=mysql_fetch_array($ejercicio1)) {
echo ' Numero de actores: '.$resultado1["count( 'actor_id' )"].'<br>';
}
}
else {
echo ("Error".mysql_error()); }
}
//** INSERTAR ACTOR **//
//** Si la acción del formulario que enviamos es insertar el usuario, entra aquí **//
else
{
//** Estas 2 variables las he creado para recojer los datos que introduje en el index.html si quería insertar usuarios **//
$nombre=$_POST['nombre'];
$apellido=$_POST['apellido'];
//** Esta es la variable que hará funcionar la select para poder hacer el ejercicio 2 **//
$ejercicio2=mysql_query("SELECT first_name, last_name from actor where actor.first_name='$nombre' and actor.last_name='$apellido'",$con)
or die("Error".mysql_error());
//** Si hay más lineas como la de la select, significa que el actor existe **//
if (mysql_num_rows($ejercicio2)>0)
{
echo ("<br>Ya existe este actor<br>");
}
//** Si no ... **//
else {
//** Vamos a insertar lo que hemos introducido en "Nombre" y "Apellido" dentro de la tabla correspondiente **//
$insertado=mysql_query("INSERT INTO actor (first_name, last_name) VALUES ('$nombre','$apellido')",$con)
or die("Error".mysql_error());
//** Posteriormente vamos a comprobar que lo hemos insertado con la siguiente select **//
$ver=mysql_query("SELECT first_name, last_name from actor where actor.first_name='$nombre' and actor.last_name='$apellido'",$con)
or die("Error".mysql_error());
//** Mostramos el resultado **//
if ($resultado2=mysql_fetch_array($ver))
{
echo '<p class="enun">Datos introducidos:</p>';
echo '<p>Nombre: '.$resultado2['first_name'].'</p>';
echo '<p>Apellido: '.$resultado2['last_name'].'</p>';
}
}
}
//** Se requiere desconexión, si no existe desconex.php se corta y salta error **//
require 'desconex.php';
?>
<a href="Index.html">VOLVER</a>
</body>
</html>
RESULTADO
PASA A SER