Ver Mensaje Individual
  #14 (permalink)  
Antiguo 15/02/2014, 16:20
Avatar de rodrypaladin
rodrypaladin
Moderador
 
Fecha de Ingreso: abril-2010
Ubicación: Madrid
Mensajes: 2.127
Antigüedad: 14 años, 1 mes
Puntos: 468
Respuesta: problema al realizar consulta mysql

Por supuesto que cuando cuando me sienta capaz, me metere en POO, pero prefiero controlar bien las cosas...

Ya tengo las consultas realizadas y mostradas correctamente pero mi código queda muy repetitivo y seguro que no es una buena práctica.

este es el código:
Código PHP:
Ver original
  1. <!DOCTYPE html>
  2. <html>
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <?php
  6.         header("Content-Type: text/html;charset=utf-8");
  7.         include 'funciones.php';
  8.         $extension = $_GET["extension"];
  9.         $extensionMAY = strtoupper($extension);
  10.         echo "<title>.$extensionMAY Información sobre la extension .$extensionMAY</title>";
  11.         ?>
  12.     </head>
  13.     <body>
  14.     <?php
  15.     $conexion = conectar_a_bd();
  16.       if (!empty($_GET["extension"])) {
  17.     echo "<h1>Información sobre la extensión .$extensionMAY</h1><br />";
  18.     echo "<ul>";
  19.     echo    "<li>";
  20.     echo "<h2>¿ Que es un archivo .$extensionMAY ?</h2><br />";
  21.     // realizamos consulta
  22.     $consulta = mysqli_query($conexion, "SELECT definicion FROM extension WHERE ext='$extension'");
  23.       if($consulta == FALSE) {
  24.                   echo "Error en la consulta SQL";
  25.                   exit(); }
  26.    
  27.    //mostramos los datos
  28.         while ($fila = mysqli_fetch_row($consulta)) {
  29.         foreach($fila as $datoFila) {
  30.             echo $datoFila; }
  31.         }
  32.     echo    "<li>";
  33.     echo "<h2>Con que abrir los archivos .$extensionMAY ?</h2><br />";
  34.     // realizamos consulta
  35.     $consulta = mysqli_query($conexion, "SELECT definicion FROM extension WHERE ext='$extension'");
  36.       if($consulta == FALSE) {
  37.                   echo "Error en la consulta SQL";
  38.                   exit(); }
  39.    
  40.    //mostramos los datos
  41.         while ($fila = mysqli_fetch_row($consulta)) {
  42.         foreach($fila as $datoFila) {
  43.             echo $datoFila; }
  44.         }
  45.     echo    "<li>";
  46.     echo "<h2>Propiedades de .$extensionMAY ?</h2><br />";
  47.     // realizamos consulta
  48.     $consulta = mysqli_query($conexion, "SELECT definicion FROM extension WHERE ext='$extension'");
  49.       if($consulta == FALSE) {
  50.                   echo "Error en la consulta SQL";
  51.                   exit(); }
  52.    
  53.    //mostramos los datos
  54.         while ($fila = mysqli_fetch_row($consulta)) {
  55.         foreach($fila as $datoFila) {
  56.             echo $datoFila; }
  57.         }
  58.  
  59.     echo    "<li>";
  60.     echo "<h2>Historia de  .$extensionMAY ?</h2><br />";
  61.     // realizamos consulta
  62.     $consulta = mysqli_query($conexion, "SELECT historia FROM extension WHERE ext='$extension'");
  63.       if($consulta == FALSE) {
  64.                   echo "Error en la consulta SQL";
  65.                   exit(); }
  66.    
  67.    //mostramos los datos
  68.         while ($fila = mysqli_fetch_row($consulta)) {
  69.         foreach($fila as $datoFila) {
  70.             echo $datoFila; }
  71.         }
  72.    echo "</li>";
  73.    echo "</ul>";
  74.    
  75.        
  76.   // finalizamos
  77.         mysqli_free_result($consulta);
  78.         mysqli_close($conexion);
  79.              
  80.         } else {
  81.         ?>
  82.         <form action="busqueda.php" target="_top" method="GET"/>archivo.
  83.         <input type="text" name="extension" size="5" value=""/><input type="submit" value="Buscar" /><br/>
  84.         </form>
  85.         <?php
  86.         echo "No ha buscado nada, escriba la extension"; }
  87. ?>
  88.  
  89.     </body>
  90. </html>

Ahora lo que intengo es hacer las consultas llamando a la función, y he creado la siguiente función:

Código PHP:
Ver original
  1. function consulta_a_bd($campo) {
  2.         $conexion = connectar_a_bd();
  3.         $consulta = mysqli_query($conexion, "SELECT $camnpo FROM extension WHERE ext='$extension'");
  4.       if($consulta == FALSE) {
  5.                   echo "Error en la consulta SQL";
  6.                   exit(); }
  7.    
  8.    //mostramos los datos
  9.         while ($fila = mysqli_fetch_row($consulta)) {
  10.         foreach($fila as $datoFila) {
  11.             echo $datoFila; } }
  12.             return $consulta;
  13. }

Pero como sorpresa...NO funcionaa jajaja, mostrando los siguientes errores:
  • Notice: Undefined variable: camnpo in C:\wamp\www\infoextensiones\funciones.php on line 11
  • Notice: Undefined variable: extension in C:\wamp\www\infoextensiones\funciones.php on line 11
  • Warning: mysqli_query() expects parameter 1 to be mysqli, null given in C:\wamp\www\infoextensiones\funciones.php on line 11
__________________
No te olvides de dar +1 a quien te echa un cable ;)