Ver Mensaje Individual
  #6 (permalink)  
Antiguo 30/09/2012, 04:05
dankko
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Buscador para base de datos

Código PHP:
Ver original
  1. <?php
  2. $raiz ="./";//distancia hasta la raíz, empieza en punto y termina en barra.
  3.  
  4. include_once("librerias/funciones-comunes.php");
  5. $descripcion ="Pagina de prueba creada para ilustrar el uso de includes";
  6. $keywords ="";
  7.  
  8. $titulo_pagina = "Base";
  9. include("plantillas/cabecera.php");
  10. ?>
  11. <!----------------------------------------------------Contenido del cuerpo--------------------------------->
  12.      
  13. <?php
  14. //conectar con la base de datos haciendo la llamada a a función
  15. $conexion = conecta_base_datos();
  16.  
  17. //Contenido del cuerpo
  18.      
  19. //Últimos anuncios
  20. $ssql = "select * from jugadores,pais,posicion,equipos,atributo where jugadores.id_pais = pais.id_pais and jugadores.id_posicion = posicion.id_posicion and jugadores.id_equipo = equipos.id_equipo and jugadores.id_atributo = atributo.id_atributo";
  21.  
  22. //muestra los jugadores que son del mismo páis
  23. echo '<p>';
  24. if (isset($_GET["pais"]) && ctype_digit($_GET["pais"])){
  25.    $id_pais = $_GET["pais"];
  26.     $ssql .= " and jugadores.id_pais=" . $id_pais;
  27.     echo '<h2>Jugadores de ';
  28.     echo dame_nombre_pais($id_pais);
  29.     echo '</h2>'; //cierre del título de la búsqueda
  30. }
  31. echo '</p>';
  32.  
  33. //muestra los jugadores que pertenecen a cada equipo
  34. echo '<p>';
  35. if (isset($_GET["equipos"]) && ctype_digit($_GET["equipos"])){
  36.     $id_equipo = $_GET["equipos"];
  37.     $ssql .= " and jugadores.id_equipo=" . $id_equipo;
  38.     echo '<h2>';
  39.     echo "Equipo: " . $fila["nombre_equipo"];
  40.     echo dame_nombre_equipo($id_equipo);
  41.     echo '</h2>'; //cierre del título de la búsqueda
  42. }
  43. echo '</p>';
  44.  
  45.  
  46. //muestra las stats de un jugador
  47. echo '<p>';
  48. if (isset($_GET["nombre"]) && ctype_digit($_GET["nombre"])){
  49.     $id_jugador = $_GET["nombre"];
  50.     $ssql .= " and jugadores.id_jugador=" . $id_jugador;
  51.     echo '<h1>Estadísticas del jugador ';
  52.     echo dame_stats($id_jugador);
  53.     echo '</h1>'; //cierre del título de la búsqueda del país
  54. }
  55. echo '</p>';
  56.  
  57. //muestra los jugadores con el mismo tipo de atributos
  58. echo '<p>';
  59. if (isset($_GET["atributo"]) && ctype_digit($_GET["atributo"])){
  60.     $id_atributo = $_GET["atributo"];
  61.     $ssql .= " and jugadores.id_atributo=" . $id_atributo;
  62.     echo '<h2>Mejores jugadores con el atributo ';
  63.     echo dame_atributo($id_atributo);
  64.     echo '</h2>'; //cierre del título de la búsqueda
  65. }
  66. echo '</p>';
  67.  
  68. //muestra los jugadores que juegan en la misma posición
  69. echo '<p>';
  70. if (isset($_GET["posicion"]) && ctype_digit($_GET["posicion"])){
  71.     $id_posicion = $_GET["posicion"];
  72.     $ssql .= " and jugadores.id_posicion=" . $id_posicion;
  73.     echo '<h2>Mejores jugadores de la posición ';
  74.     echo dame_posicion($id_posicion);
  75.     echo '</h2>'; //cierre del título de la búsqueda
  76. }
  77. echo '</p>';
  78.  
  79.  
  80. //cuidado con el cierre de las comillas y cuidado con modificar el ID del país en la tabla de equipos, porque sino deja un ID fijo
  81. //número máximo que muestra
  82. $ssql .= " order by media desc";
  83. //$ssql .= " order by media desc limit 10";
  84.  
  85. echo '<div id="buscar">';
  86.     echo '<FORM METHOD=POST ACTION="buscar.php">  Buscar: </h2> <INPUT TYPE="text" NAME="busqueda">
  87.     </FORM>';
  88. echo '</div>';
  89.  
  90. $rs = mysql_query($ssql);
  91. if(mysql_num_rows($rs)> 0){
  92. while ($fila = mysql_fetch_array($rs)){
  93. //para cada anuncio
  94.  
  95.  
  96.     echo '<table border="0" borderspacing="0" cellspacing="0">';
  97.     echo "<thead>";
  98.     echo "<tr>";
  99.     echo '<th width="250">Nombre </th>';
  100.     echo '<th width="40">Media</th>';
  101.     echo '<th width="60">Posición</th>';
  102.     echo '<th width="200">Equipo Actual</th>';
  103.     echo '<th width="200">Salario Anual</th>';
  104.     echo '<th width="150">Pais</th>';
  105.     echo '<th width="40">Edad</th>';
  106.     echo '<th width="70">Atributo</th>';
  107.     echo "</tr>";
  108.     echo '</thead>';
  109.     echo "<tbody>";
  110.     echo "</tr>";
  111.     echo "<tr>";
  112.     //echo "<td>";
  113.     //echo '<img border="0" src="images/foto-jugador/' . $fila["imagen_jugador"] . '" width="45" height="55">';
  114.     //echo '</a>';//foto del jugador
  115.     //echo "</td>";
  116.     echo "<td>";
  117.     echo '<a href="stats.php?nombre=' . $fila["id_jugador"] . '">' . $fila["nombre"] . '';
  118.     echo '</a>';
  119.     //echo "<b>" . $fila["nombre"] . "</a></b>";
  120.     echo "</td>";
  121.    
  122.     echo "<td>";
  123.     echo "<b>" . $fila["media"] . "</b>";
  124.     echo "</td>";
  125.    
  126.     echo "<td>";
  127.     echo '<a href="index.php?posicion=' . $fila["id_posicion"] . '">' . $fila["nombre_posicion"] . '';
  128.     echo '</a>';
  129.     //echo "" . $fila["nombre_posicion"];  
  130.     //echo '<img border="0" src="images/posicion/' . $fila["imagen_posicion"] . '" width="32" height="15">';//icono posicion
  131.     echo "</td>";
  132.    
  133.     echo "<td>";
  134.     echo '<a href="index.php?equipos=' . $fila["id_equipo"] . '">' . $fila["nombre_equipo"] . '';
  135.     echo '</a>';
  136.     //echo "Equipo: " . $fila["nombre_equipo"];
  137.     echo "</td>";
  138.    
  139.     echo "<td>";
  140.     echo "<b>" . $fila["salario"] . " €</b>";
  141.     echo "</td>";
  142.    
  143.     echo "<td>";
  144.     //echo "<b>  " . $fila["nombre_pais"] . '</b>';
  145.     echo '<a href="index.php?pais=' . $fila["id_pais"] . '">' . $fila["nombre_pais"] . ' ';
  146.     echo '<img border="0" src="images/iconos-paises/' . $fila["imagen_pais"] . '" width="18" height="15">';
  147.     echo '</a>';
  148.     echo "</td>";
  149.    
  150.     echo "<td>";
  151.     echo "<b>" . $fila["edad"] . " </b>";
  152.     echo "</td>";
  153.  
  154.     echo "<td>";
  155.     //echo "<b>  " . $fila["nombre_atributo"] . '</b>';
  156.     echo '<a href="index.php?atributo=' . $fila["id_atributo"] . '">' . $fila["nombre_atributo"] . '';
  157.     echo '</a>';
  158.     echo "</td>";
  159.     echo "</tr>";
  160.     echo "</tbody>";
  161.     echo '</table>';
  162.  
  163.  }
  164. }else{
  165.     //es que no se encontraron anuncios
  166.     echo"<p>No se encontraron jugadores para mostrar...</p>";
  167. }
  168.  
  169. ?>
  170.      
  171. <!--Contenido del cuerpo-->
  172.  
  173. <?php
  174. include("plantillas/pie.php");
  175. ?>

Función que llama al país

Código PHP:
Ver original
  1. function dame_nombre_pais($id){
  2.     if (ctype_digit($id)){
  3.     $ssql = "select nombre_pais from pais where id_pais=" . $id;
  4.     $rs = mysql_query($ssql);
  5.     //compruebo si se encontró un país
  6.     if (mysql_num_rows($rs)>0){
  7.         $fila =mysql_fetch_array($rs);
  8.         return $fila["nombre_pais"];
  9.     }
  10.     return "equipo desconocido...";
  11.     }else{
  12.     return false;
  13.     }
  14.  }