Foros del Web » Programando para Internet » PHP »

llamar una vista mysql

Estas en el tema de llamar una vista mysql en el foro de PHP en Foros del Web. es posible llamar a una vista mysql desde php directamente, es que la consulta contenida en la vista mysql es un poco extensa porque he ...
  #1 (permalink)  
Antiguo 13/12/2014, 03:17
 
Fecha de Ingreso: noviembre-2014
Mensajes: 76
Antigüedad: 10 años, 1 mes
Puntos: 0
Pregunta llamar una vista mysql

es posible llamar a una vista mysql desde php directamente, es que la consulta contenida en la vista mysql es un poco extensa


porque he probado a hacer esto

Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. <title>Untitled Document</title>
  6. </head>
  7.  
  8. <body>
  9. <table border="1" cellspacing=1 cellpadding=2 style="font-size: 8pt"><tr>
  10. <td><font face="verdana"><b>Lente</b></font></td>
  11. <td><font face="verdana"><b>descripción</b></font></td>
  12. <td><font face="verdana"><b>N. Abbe</b></font></td>
  13. <td><font face="verdana"><b>densidad</b></font></td>
  14. <td><font face="verdana"><b>N. Abbe</b></font></td>
  15. <td><font face="verdana"><b>densidad</b></font></td>
  16.  
  17. </tr>
  18.  
  19. <?php  
  20.   $link = @mysql_connect("localhost", "root","josesalo_")
  21.       or die ("Error al conectar a la base de datos.");
  22.   @mysql_select_db("stocklentesbrujuleando3", $link)
  23.       or die ("Error al conectar a la base de datos.");
  24.  
  25.   $query = "select rx.d_rx, rx.id_cil,rx.id_esf,esfera.esfera,cilindro.cilindro
  26.    from
  27.        ((rx
  28.        join esfera  ON ((rx.id_esf = esfera.id_esf)))
  29.        join cilindro ON ((rx.id_cil = cilndro.id_cil)))
  30.    where
  31.        ((cilindro.cilindro between -(1.00) and 0.00)
  32.            and (esfera.esfera between -(5.00) and 6.00))
  33.    union (select
  34.        rx.id_rx,
  35.        rx.id_cil,
  36.        rx.id_esf,
  37.        esfera.esfera,
  38.        cilindro.cilindro
  39.    from
  40.        ((rx
  41.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  42.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  43.    where
  44.        ((cilindro.cilindro between -(2.00) and -(1.25))
  45.            and (esfera.esfera between -(4.00) and 4.00))) union (select
  46.        rx.id_rx,
  47.        rx.id_cil,
  48.        rx.id_esf,
  49.        esfera.esfera,
  50.        cilindro.cilindro
  51.    from
  52.        ((rx
  53.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  54.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  55.    where
  56.        ((cilindro.cilindro = -(1.25))
  57.            and (esfera.esfera between 4.25 and 5.00))) union (select
  58.        rx.id_rx,
  59.        rx.id_cil,
  60.        rx.id_esf,
  61.        esfera.esfera,
  62.        cilindro.cilindro
  63.    from
  64.        ((rx
  65.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  66.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  67.    where
  68.        ((cilindro.cilindro = -(1.50))
  69.            and (esfera.esfera between 4.25 and 4.75))) union (select
  70.        rx.id_rx,
  71.        rx.id_cil,
  72.        rx.id_esf,
  73.        esfera.esfera,
  74.        cilindro.cilindro
  75.    from
  76.        ((rx
  77.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  78.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  79.    where
  80.        ((cilindro.cilindro = -(1.75))
  81.            and (esfera.esfera = 4.25))) union (select
  82.        rx.id_rx,
  83.        rx.id_cil,
  84.        rx.id_esf,
  85.        esfera.esfera,
  86.        cilindro.cilindro
  87.    from
  88.        ((rx
  89.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  90.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  91.    where
  92.        ((cilindro.cilindro = -(1.25))
  93.            and (esfera.esfera between -(4.75) and -(4.25)))) union (select
  94.        rx.id_rx,
  95.        rx.id_cil,
  96.        rx.id_esf,
  97.        esfera.esfera,
  98.        cilindro.cilindro
  99.    from
  100.        ((rx
  101.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  102.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  103.    where
  104.        ((cilindro.cilindro = -(1.50))
  105.            and (esfera.esfera between -(4.50) and -(4.25)))) union (select
  106.        rx.id_rx,
  107.        rx.id_cil,
  108.        rx.id_esf,
  109.        esfera.esfera,
  110.        cilindro.cilindro
  111.    from
  112.        ((rx
  113.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  114.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  115.    where
  116.        ((cilindro.cilindro = 0.00)
  117.            and (esfera.esfera between -(6.00) and -(5.25)))) union (select
  118.        rx.id_rx,
  119.        rx.id_cil,
  120.        rx.id_esf,
  121.        esfera.esfera,
  122.        cilindro.cilindro
  123.    from
  124.        ((rx
  125.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  126.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  127.    where
  128.        ((cilindro.cilindro = -(0.25))
  129.            and (esfera.esfera between -(5.75) and -(5.25)))) union (select
  130.        rx.id_rx,
  131.        rx.id_cil,
  132.        rx.id_esf,
  133.        esfera.esfera,
  134.        cilindro.cilindro
  135.    from
  136.        ((rx
  137.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  138.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  139.    where
  140.        ((cilindro.cilindro = -(0.50))
  141.            and (esfera.esfera between -(5.50) and -(5.25)))) union (select
  142.        rx.id_rx,
  143.        rx.id_cil,
  144.        rx.id_esf,
  145.        esfera.esfera,
  146.        cilindro.cilindro
  147.    from
  148.        ((rx
  149.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  150.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  151.    where
  152.        ((cilindro.cilindro = -(0.75))
  153.            and (esfera.esfera between -(5.25) and -(5.25)))) union (select
  154.        rx.id_rx,
  155.        rx.id_cil,
  156.        rx.id_esf,
  157.        esfera.esfera,
  158.        cilindro.cilindro
  159.    from
  160.        ((rx
  161.        join esfera  ON ((rx.id_esf =esfera.id_esf)))
  162.        join cilindro ON ((rx.id_cil = cilindro.id_cil)))
  163.    where
  164.        ((cilindro.cilindro = -(1.75))
  165.            and (esfera.esfera = -(4.25)))) order by esfera.esfera desc , cilindro.cilindro desc"
  166.            
  167.       ;
  168.   $result = mysql_query($query);
  169.   $numero = 0;
  170.   while($row = mysql_fetch_array($result))
  171.   {
  172.     echo "<tr><td width=\"25%\"><font face=\"verdana\">" .
  173.         $row["rx.id_rx"] . "</font></td>";
  174.     echo "<td width=\"25%\"><font face=\"verdana\">" .
  175.         $row["rx.id_cil"] . "</font></td>";
  176.     echo "<td width=\"25%\"><font face=\"verdana\">" .
  177.         $row["rx.id_esf"] . "</font></td>";
  178.     echo "<td width=\"25%\"><font face=\"verdana\">" .
  179.         $row["esfera.esfera"]. "</font></td></tr>";
  180.     echo "<tr><td width=\"25%\"><font face=\"verdana\">" .
  181.         $row["cilindro.cilindro"] . "</font></td>";
  182.        
  183.     $numero++;
  184.   }
  185.   echo "<tr><td colspan=\"15\"><font face=\"verdana\"><b>Número: " . $numero .
  186.       "</b></font></td></tr>";
  187.  
  188.   mysql_free_result($result);
  189.   mysql_close($link);
  190. ?>
  191. </table>
  192. </body>
  193. </html>

y obtengouna tabla vacia con los enabezados

Última edición por gralf; 13/12/2014 a las 03:56
  #2 (permalink)  
Antiguo 13/12/2014, 06:29
Avatar de higiniosamaniego  
Fecha de Ingreso: noviembre-2012
Mensajes: 38
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: llamar una vista mysql

Buenas, creo que sí es posible
Código:
Select * from vista
, espero haya evacuado tu duda.
  #3 (permalink)  
Antiguo 13/12/2014, 07:56
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: llamar una vista mysql

Por lo pronto si obtienes una tabla vacía de datos, lo mas probable es que no haya datos que cumplan las condiciones de todos esos WHERE...
Yo te sugeriría que pruebes primero la query en el phpMyadmin, sin usar PHP. Si devuelve datos, entonces miraría lo que pasa en el script.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #4 (permalink)  
Antiguo 13/12/2014, 16:09
 
Fecha de Ingreso: abril-2008
Mensajes: 25
Antigüedad: 16 años, 8 meses
Puntos: 0
Respuesta: llamar una vista mysql

yo en este caso visualizaria la consulta con el echo $query y lo que te visualice lo copias y pegas directamente en el SQL de phpMyadmin y si te muestra resultados es porque la consulta esta OK y si no es porque la consulta falla...
  #5 (permalink)  
Antiguo 13/12/2014, 19:22
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: llamar una vista mysql

Eso es medio irrelevante en este caso , porque esa query no contiene ninguna condición que dependa de variables. Es una query fija, sin parametrizaciones. Incluso más: No tiene errores sintácticos.
En definitiva, tal como está escrita debe funcionar si y sólo si hay datos que cumplan las condiciones fijas colocadas.

Yo sugiero empezar por comprobar qué devuelve si la corres en MySQL directamente.
Código MySQL:
Ver original
  1.     rx.d_rx,
  2.     rx.id_cil,
  3.     rx.id_esf,
  4.     esfera.esfera,
  5.     cilindro.cilindro
  6.     ((rx
  7.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  8.     JOIN cilindro ON ((rx.id_cil = cilndro.id_cil)))
  9.     ((cilindro.cilindro BETWEEN -(1.00) AND 0.00)
  10.         AND (esfera.esfera BETWEEN -(5.00) AND 6.00))
  11.     rx.id_rx,
  12.     rx.id_cil,
  13.     rx.id_esf,
  14.     esfera.esfera,
  15.     cilindro.cilindro
  16.     ((rx
  17.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  18.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  19.     ((cilindro.cilindro BETWEEN -(2.00) AND -(1.25))
  20.         AND (esfera.esfera BETWEEN -(4.00) AND 4.00)))
  21.     rx.id_rx,
  22.     rx.id_cil,
  23.     rx.id_esf,
  24.     esfera.esfera,
  25.     cilindro.cilindro
  26.     ((rx
  27.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  28.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  29.     ((cilindro.cilindro = -(1.25))
  30.         AND (esfera.esfera BETWEEN 4.25 AND 5.00)))
  31.     rx.id_rx,
  32.     rx.id_cil,
  33.     rx.id_esf,
  34.     esfera.esfera,
  35.     cilindro.cilindro
  36.     ((rx
  37.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  38.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  39.     ((cilindro.cilindro = -(1.50))
  40.         AND (esfera.esfera BETWEEN 4.25 AND 4.75)))
  41.     rx.id_rx,
  42.     rx.id_cil,
  43.     rx.id_esf,
  44.     esfera.esfera,
  45.     cilindro.cilindro
  46.     ((rx
  47.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  48.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  49.     ((cilindro.cilindro = -(1.75))
  50.         AND (esfera.esfera = 4.25)))
  51.     rx.id_rx,
  52.     rx.id_cil,
  53.     rx.id_esf,
  54.     esfera.esfera,
  55.     cilindro.cilindro
  56.     ((rx
  57.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  58.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  59.     ((cilindro.cilindro = -(1.25))
  60.         AND (esfera.esfera BETWEEN -(4.75) AND -(4.25)))) UNION (SELECT
  61.     rx.id_rx,
  62.     rx.id_cil,
  63.     rx.id_esf,
  64.     esfera.esfera,
  65.     cilindro.cilindro
  66.     ((rx
  67.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  68.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  69.     ((cilindro.cilindro = -(1.50))
  70.         AND (esfera.esfera BETWEEN -(4.50) AND -(4.25))))
  71.     rx.id_rx,
  72.     rx.id_cil,
  73.     rx.id_esf,
  74.     esfera.esfera,
  75.     cilindro.cilindro
  76.     ((rx
  77.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  78.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  79.     ((cilindro.cilindro = 0.00)
  80.         AND (esfera.esfera BETWEEN -(6.00) AND -(5.25))))
  81.     rx.id_rx,
  82.     rx.id_cil,
  83.     rx.id_esf,
  84.     esfera.esfera,
  85.     cilindro.cilindro
  86.     ((rx
  87.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  88.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  89.     ((cilindro.cilindro = -(0.25))
  90.         AND (esfera.esfera BETWEEN -(5.75) AND -(5.25)))) UNION (SELECT
  91.     rx.id_rx,
  92.     rx.id_cil,
  93.     rx.id_esf,
  94.     esfera.esfera,
  95.     cilindro.cilindro
  96.     ((rx
  97.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  98.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  99.     ((cilindro.cilindro = -(0.50))
  100.         AND (esfera.esfera BETWEEN -(5.50) AND -(5.25))))
  101.     rx.id_rx,
  102.     rx.id_cil,
  103.     rx.id_esf,
  104.     esfera.esfera,
  105.     cilindro.cilindro
  106.     ((rx
  107.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  108.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  109.     ((cilindro.cilindro = -(0.75))
  110.         AND (esfera.esfera BETWEEN -(5.25) AND -(5.25))))
  111.     rx.id_rx,
  112.     rx.id_cil,
  113.     rx.id_esf,
  114.     esfera.esfera,
  115.     cilindro.cilindro
  116.     ((rx
  117.     JOIN esfera ON ((rx.id_esf = esfera.id_esf)))
  118.     JOIN cilindro ON ((rx.id_cil = cilindro.id_cil)))
  119.     ((cilindro.cilindro = -(1.75))
  120.         AND (esfera.esfera = -(4.25))))
  121. ORDER BY esfera.esfera DESC , cilindro.cilindro DESC
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, select, vista
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:52.