Ver Mensaje Individual
  #21 (permalink)  
Antiguo 16/02/2014, 05:21
lolainas
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: problema al realizar consulta mysql

Vamos paso a paso:

funciones.php
Código PHP:
Ver original
  1. // obtiene un valor del array $_GET
  2. function get($var) {
  3.     return filter_input(INPUT_GET, $var);
  4. }
  5.  
  6. // obtiene conexion a bd
  7. function conexion() {
  8.     return mysqli_connect('localhost', 'root', null, 'extensiones');
  9. }
  10.  
  11. // obtiene campo de la bd
  12. function obtener_campo(mysqli $db, $ext, $campo) {
  13.     return mysqli_query($db, "SELECT $campo FROM extension WHERE ext='$ext'")->fetch_assoc()[$campo];
  14. }
Todo correcto, seguimos con extension.php, que hará de plantilla para mostrar única y exclusivamente información de una sola extensión
Código PHP:
Ver original
  1. <html>
  2.     <head>
  3.         <meta charset="utf-8">
  4.         <title>Extensi&oacute;n '.<?= $extension ?>'</title>
  5.     </head>
  6.     <body>
  7.         <h1>Informaci&oacute;n sobre la extensi&oacute;n '.<?= $extension ?>'</h1>
  8.         <h2>&iquest;Qu&eacute; es un archivo '.<?= $extension ?>?'</h2>
  9.         <p><?= $descripcion ?></p>
  10.     </body>
  11. </html>
busqueda.php (sólo formulario)
Código PHP:
Ver original
  1. <p>No ha buscado nada</p>
  2. <form method="get" action="index.php">
  3.     <input type="text" name="extension" />
  4.     <button type="submit">Buscar</button>
  5. </form>
Y por último, el index.php de forma más expresiva
Código PHP:
Ver original
  1. include 'funciones.php';
  2.  
  3. // conexión a la base de datos
  4. $conexion = conexion();
  5.  
  6. // extensión desde $_GET
  7. $extension = get('extension');
  8.  
  9. // si existe la extensión se muestra la extensión
  10. if ($extension !== null) {
  11.  
  12.     // podrías obtener más campos, por ejemplo:
  13.     // $nombre_campo = obtener_campo($conexion, $extension, 'nombre_campo');
  14.     $descripcion = obtener_campo($conexion, $extension, 'definicion');
  15.  
  16.     // al incluír el fichero 'extension.php' usará todas las variables
  17.     // previamente definidas, en este caso sólo $descripcion,
  18.     // ya que es la única que se ha definido
  19.     include 'extension.php';
  20.  
  21. }
  22. // si no existe la extension se muestra el formulario de búsqueda
  23. else {
  24.  
  25.     include 'busqueda.php';
  26.  
  27. }
Espero así lo entiendas mejor :).