Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/01/2018, 06:25
Berman
 
Fecha de Ingreso: abril-2016
Mensajes: 19
Antigüedad: 8 años
Puntos: 1
Como hacer que en un select aparezcan datos según criterios

Hola buenas estoy haciendo un trabajo para clase y estoy atascado en una parte.

Os explico el trabajo va sobre una página web de Pokémon (Si, mis profesores son muy originales xD). En la web tengo que dar de alta a entrenadores y pokemons. Cuando se da de alta a un pokemon se le tiene que asignar un entrenado, asta ahí lo he conseguido. Pero un entrenador solo puede tener 6 pokemons. Lo que intento hacer es que en el select de entrenadores solo aparezcan aquellos que tienen menos de 6.

Por lo que he mirado creo que tengo que usar msqli_num_rows y count() pero no lo consigo...

Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <meta charset="UTF-8">
  4.         <title>Pokémon</title>
  5.     </head>
  6.     <body>
  7.         <form method="post">
  8.             <h1>Alta Pokémon</h1>
  9.             Nombre Pokémon: <input type="text" name="nombre_pokemon" required><br>
  10.             Tipo:<select name="tipo_pokemon">
  11.                 <option value="agua" selected>Agua</option>
  12.                 <option value="fuego">Fuego</option>
  13.                 <option value="planta">Planta</option>
  14.                 <option value="Electrico">Electrico</option>
  15.                 <option value="dragon">Dragón</option>
  16.                 <option value="roca">Roca</option>
  17.             </select><br>
  18.             Habilidad:<input type="text" name="habilidad_pokemon" required><br>
  19.             Nivel de ataque:<input type="number" name="nivel_ataque" required><br>
  20.             Nivel de defensa:<input type="number" name="nivel_defensa" required><br>
  21.             Velocidad:<input type="number" name="velocidad" required><br>
  22.             Vida:<input type="number" name="vida_pokemon" required><br>
  23.             <p>Entrenador:
  24.                 <select name="entrenador">
  25.                     <?php
  26.                     require_once 'bbdd_stukemon.php';
  27.                     $codigos = selectEntrenador();
  28.                     while ($fila = mysqli_fetch_array($codigos)) {
  29.                         echo "<option>";
  30.                         echo $fila["name"];
  31.                         echo "</option>";
  32.                     }
  33.                     ?>
  34.                 </select>
  35.             </p>
  36.             <input type="submit" value="Enviar" name="send">
  37.         </form>
  38.         <a href="Menu_Stukemon.php">Volver al menú</a>
  39.         <?php
  40.         require_once 'bbdd_stukemon.php';
  41.         if (isset($_POST['send'])) {
  42.             $nombre = $_POST['nombre_pokemon'];
  43.             $tipo = $_POST['tipo_pokemon'];
  44.             $habilidad = $_POST['habilidad_pokemon'];
  45.             $nivel_ataque = $_POST['nivel_ataque'];
  46.             $nivel_defensa = $_POST['nivel_defensa'];
  47.             $velocidad = $_POST['velocidad'];
  48.             $vida = $_POST['vida_pokemon'];
  49.             $nivel = 0;
  50.             $entrenador=$_POST['entrenador'];
  51.             $resultado = insertarPokemon($nombre, $tipo, $habilidad, $nivel_ataque, $nivel_defensa, $velocidad, $vida, $nivel, $entrenador);
  52.             if ($resultado == "ok") {
  53.                 echo "Pokémon dado de alta";
  54.             } else {
  55.                 echo "ERROR: $resultado";
  56.             }
  57.         }
  58.         ?>
  59.     </body>
  60. </html>

Código PHP:
Ver original
  1. <?php
  2.  
  3. function conectar() {
  4.     $conexion = mysqli_connect("localhost", "root", "", "stukemon");
  5.     if (!$conexion) {
  6.         die("No se ha podido establecer la conexión");
  7.     }
  8.     return $conexion;
  9. }
  10.  
  11. function desconectar($conexion) {
  12.     mysqli_close($conexion);
  13. }
  14.  
  15. function insertar_entrenador($nombre_entrenador, $pokeballs, $pociones, $puntos) {
  16.     $c = conectar();
  17.     $insert = "insert into trainer values('$nombre_entrenador', '$pokeballs', '$pociones', '$puntos')";
  18.     if (mysqli_query($c, $insert)) {
  19.         $resultado = "ok";
  20.     } else {
  21.         $resultado = mysqli_error($c);
  22.     }
  23.     desconectar($c);
  24.     return $resultado;
  25. }
  26.  
  27. function selectEntrenador() {
  28.     $c = conectar();
  29.     $select = "select name from trainer";
  30.     $resultado = mysqli_query($c, $select);
  31.     desconectar($c);
  32.     return $resultado;
  33. }
  34.  
  35. function insertarPokemon($nombre, $tipo, $habilidad, $nivel_ataque, $nivel_defensa, $velocidad, $vida, $nivel, $entrenador) {
  36.     $c = conectar();
  37.     $insert = "insert into pokemon values('$nombre','$tipo','$habilidad','$nivel_ataque','$nivel_defensa','$velocidad','$vida','$nivel','$entrenador')";
  38.     if (mysqli_query($c, $insert)) {
  39.         $resultado = "ok";
  40.     } else {
  41.         $resultado = mysqli_error($c);
  42.     }
  43.     desconectar($c);
  44.     return $resultado;
  45. }
  46. ?>