No es un bug, es una característica no documentada

4/2/15

Entornos de desarrollo. PHP con NetBeans

9:30 Posted by Inazio , No comments
Vamos a crear nuestra primera página en PHP con NetBeans. Lo primero, si no lo tenemos instalado, será instalar el pluggin de PHP.

Hecho eso, nos vamos a File - New Proyect y elegimos PHP Application from Remote Server



En la siguiente pantalla, elegimos un nombre de proyecto. Por defecto saldrá el de a continuación, yo elegí proyecto1


Pulsamos Next y en Proyect URL escribimos la dirección donde guardaremos nuestro proyecto. Pulsmos en Manage para crear una nueva conexión remota


Escribimos la dirección IP del servidor, usuario y contraseña


Ok, Siguiente y saldrá el siguiente mensaje


Abrimos y/o nos descargamos el Putty, nos conectamos con el servidor con usuario y contraseña y, dentro de la carpeta proyecto1 que se nos ha debido crear anteriormente y creamos un index.php


Nos vamos a NetBeans, retrocedemos pulsando Back y volvemos a pulsar Next. Se nos creará el proyecto


 En index.php escribimos el siguiente código:



He aquí el código:

<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <title>Mi primera página PHP</title>
    </head>
   
    <body>
    <?php
        phpinfo();
    ?>
       
    </body>


</html>

y comprobamos, pulsando el botón play


Para comprobar la página. Veremos algo similar a esto:


El siguiente paso es conectarnos a la base de datos para crear una nueva tabla llamada usuarios:


Nos vamos a mi usuario, pulsamos en nueva y configuramos la nueva tabla de la siguiente manera:




Y rellenamos las tablas con dos valores de nombre y edad


Vamos a escribir nuestro primer código, en el que primero nos conectaremos a la base de datos:


Y veremos lo siguiente:


A continuación haremos una consulta:


Viendose de la siguiente manera:


El código completo utilizado hasta este punto:

<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <title>Mi primera página PHP</title>
    </head>
   
    <body>
    <?php
        $servidor="localhost";
        $usuario="dam1";
        $password="dam1123";
        $bd="dam1_inazio";
       
        $conector=mysqli_connect($servidor,$usuario,$password,$bd);
       
        if (mysqli_connect_errno($conector)){
            echo "Fallo al conectar a MySQL:" . mysqli_connect_error();
        }
        else{
            echo "Conexión correcta";
           
            $consulta="SELECT * FROM usuario;";
           
            $resultado=mysqli_query($conector,$consulta);
            $fila=mysqli_fetch_assoc($resultado); // Capturo fila de consulta en $fila
           
            while ($fila != NULL){ // Hasta que no queden más filas
                echo "<br />"; // Salto de linea en HTML
                print_r($fila);
                $fila=mysqli_fetch_assoc($resultado);
            }
        }
    ?>
       
    </body>

</html>

El problema es que montado así queda un poquito bastante feo la visualización de la consulta. ¿Que hacemos?
Montarlo en una tabla.

Lo primero será capturar las claves de nuestra consulta, para capturar los nombres de los arrays.

Por tanto, vamos a utilizar la función foreach.

A foreach le tenemos que pasar como parámetros la fila llamandolo como $campo el nombre de la clave y como $valor los valores contenidos en las mismas.

foreach ($fila as $campo => $valor)

Basicamente lo que haremos será generar la estructura de una tabla y automatizar el mostrado tanto del nombre de la columna como de los campos. Tal que así


Visualizando así el resultado:

Código de nuevo completo, utilizado hasta este momento y que reemplaza al anterior mostrado:

<!DOCTYPE html>
<html lang="es">
    <head>
        <meta charset="UTF-8" />
        <title>Mi primera página PHP</title>
    </head>
   
    <body>
    <?php
        $servidor="localhost";
        $usuario="dam1";
        $password="dam1123";
        $bd="dam1_inazio";
       
        $conector=mysqli_connect($servidor,$usuario,$password,$bd);
       
        if (mysqli_connect_errno($conector)){
            echo "Fallo al conectar a MySQL:" . mysqli_connect_error();
        }
        else{
            echo "Conexión correcta";
           
            $consulta="SELECT * FROM usuario;";
           
            $resultado=mysqli_query($conector,$consulta);
            $fila=mysqli_fetch_assoc($resultado); // Capturo fila de consulta en $fila
            echo "<table>"
                    . "<thead>"
                        . "<tr>";
                            foreach($fila as $campo => $dato){ // Capturamos el nombre del campo
                                echo "<th>$campo</th>";
                            }
                        echo "</tr>"
                    . "</thead>"
                    . "<tbody>";
           
            while ($fila != NULL){ // Hasta que no queden más filas
                echo "<tr>";
                foreach($fila as $dato){ // Imprime uno a uno los campos de la fila
                    echo "<td>$dato</td>";
                }
                echo "</tr>";
                $fila=mysqli_fetch_assoc($resultado);
            }
            echo "</tbody></table>";
        }
    ?>
       
    </body>

</html>

Y por supuesto si insertas posteriormente más datos en la tabla, los mostrará simplemente recargando la página


0 comments:

Publicar un comentario