Hola, he programado en PHP bastante tiempo y he venido a postear un "curso" de este lenguaje con las cosas mas útiles para comenzar desde 0.
Primero que todo vamos a instalar un ambiente web, por ahora básicamente necesitamos apache, mysql y php. Estos se incluyen en XAMPP (multiplataforma), y el que actualmente trabajo WAMP ya que es mas estricto con el uso de estándares de desarrollo en PHP y no deja pasar ni una sola ambigüedad en las instrucciones, por eso me gusto mas este ultimo.
Una vez instalado en XAMPP:
Inicio --> XAMPP --> Control Panel, y se inician los servicios de Apache y Mysql.
La carpeta donde se guardan los archivos de nuestra aplicacion web es C:/xampp/htdocs/
en WAMP:
Inicio --> WampServer --> Start WampServer
La carpeta donde se guardan los archivos de nuestra aplicación web es C:/wamp/www
Para ver corriendo la aplicación web entramos a una navegador y escribimos en la barra de direcciones http://localhost o http://127.0.0.1
Para administrar nuestras bases de datos en Mysql vamos al navegador y en la barrar de direcciones se ingresa http://localhost/phpmyadmin y nos aparecerá esta pantalla:
Bueno, una vez instalado y probado el ambiente vamos a crear el primer script sencillo en php y tomando datos de mysql, para esto vamos a necesitar una base de datos y la vamos a crear en phpmyadmin:
En la parte superior vamos a "Bases de Datos", y en Crear bases de datos ingresamos el nombre "db_prueba", sin comillas, y cotejamiento "latin1_swedish_ci".
Una vez creada la base de datos vamos a crear una tabla, para esto vamos a la pestaña superior donde dice "SQL" y van a ingresar el siguiente codigo:
CREATE TABLE IF NOT EXISTS `usuarios` (
`identificacion` bigint(12) NOT NULL,
`nombres` varchar(50) NOT NULL,
`apellidos` varchar(50) NOT NULL,
`telefono` bigint(15) DEFAULT NULL,
`email` varchar(60) DEFAULT NULL,
`usuario` varchar(20) NOT NULL,
`contrasena` varchar(40) NOT NULL,
PRIMARY KEY (`identificacion`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='TABLA DE USUARIOS';
ya tenemos entonces una tabla creada, ahora vamos a ingresar datos. Para esto vamos a ir a la pestaña "Insertar" y les va a aparecer 7 campos en los que pueden escribir la información, luego clic en "continuar" y listo, ya tiene la primera fila de datos.
PHP es un lenguaje de POO (Programación Orientada a Objetos) y la lógica de programación no varia mucho respecto a otros lenguajes, entonces antes de continuar con el ejercicio veremos algunos aspectos importantes a tener en cuenta antes de usarlos:
1 - Los script de PHP van embebidos en HTML y para ejecutarlos se usan dos etiquetas para abrir y cerrar:
<?php
// Aquí va el código
?>
2 - A las variables no se les define un tipo cuando se crean ya que según el dato que se les ingrese ellas tomaran ese tipo y se les pone un signo $ antecediendo, ni es obligatorio (pero si buena practica) inicializarlas, entonces tendríamos algo como esto:
<?php
$variable = 20;
?>
3 - Para mostrar una variable en pantalla se utiliza la funcion "echo", y se pueden concatenar con un punto ".", así:
<?php
echo "El valor de mi primera variable es ".$variable;
?>
4 - Los ciclos y condicionales se utilizan como en cualquier otro lenguaje, de la siguiente manera:
FOR:
for($i=0;$i<=10;$i++){
echo $i;
}
WHILE:
$i=0;
while($i<=10){
echo $i;
$i++;
}
DO-WHILE:
$i=0;
do{
echo $i;
$i++;
}while($i<=10)
IF:
$variable = true;
if($variable==true){
echo "La variable es verdadera.";
}
elseif($variable==false){
echo "La variable es falsa.";
}
SWITCH-CASE:
$variable = 1;
switch($variable){
case 0:
echo "opcion 0";
case 1:
echo "opcion 1";
}
Bueno, ya que tenemos claro el concepto, continuamos con el ejercicio.
Vamos a crear las cadenas de conexión a la base de datos, se hace así:
mysql_connect("host","usuario","contraseña" ) or die ("No se pudo conectar el usuario." ) ;
mysql_select_db("base_de_datos" ) or die ("No hay conexión a la base de datos." ) ;
Vamos a usar el usuario "root" y por lo general viene sin contraseña, el host "localhost" y la base de datos que hemos creado "db_prueba, la clausula "or die" sirve para controlar errores de ejecución y detiene todo el script. Entonces quedaría así:
mysql_connect("localhost","root","" ) or die("No se pudo conectar el usuario." ) ;
mysql_select_db("dynamicg_support" ) or die("No hay conexion a la base de datos." ) ;
Después vamos a traer los datos de mysql, para esto usamos las siguientes funciones:
mysql_query --> Ejecuta una consulta.
mysql_num_rows --> Obtiene el número de filas de un conjunto de resultados.
mysql_fetch_row --> Obtiene una fila de resultados.
mysql_num_fields --> Obtiene el numero de campos de un resultado.
mysql_close --> cierra las conexiones.
Según esto, usaremos el siguiente script para traer la información:
$query = mysql_query("SELECT * FROM usuarios; " ) ;
for($i=0;$i<mysql_num_rows($query);$i++){
$row = mysql_fetch_row($query);
for($j=0;$j<mysql_num_fields($query);$j++){
echo $row[$j]."t";
}
echo "n";
}
Por ultimo vamos a cerrar la conexion a la base de datos, usando mysql_close sin nungun parametro, haciendo que cierre todas las que esten abiertas, en este caso no mas usamos una.
<?php
mysql_close();
?>
Al final , el script completo que nos debe quedar es así:
<?php
mysql_connect("localhost","root","" ) or die("<b>No se pudo conectar el usuario.</b>" ) ;
mysql_select_db("db_prueba" ) or die("<b>No hay conexion a la base de datos.</b>" ) ;
$query = mysql_query("SELECT * FROM usuarios; " ) ;
for($i=0;$i<mysql_num_rows($query);$i++){
$row = mysql_fetch_row($query);
for($j=0;$j<mysql_num_fields($query);$j++){
echo $row[$j]."<br>";
}
}
mysql_close();
?>
Ahora guardan el archivo en la carpeta htdocs o www con el nombre "prueba.php" y lo ejecutan en el navegador web. El resultado seria algo como esto:
12345
pepito
perez
11223344
[email protected]
pperez
1234
*cambia según los datos que ingresaron antes.
Adelante iré mostrando funciones y procedimientos muy prácticos!! Saludos!
Primero que todo vamos a instalar un ambiente web, por ahora básicamente necesitamos apache, mysql y php. Estos se incluyen en XAMPP (multiplataforma), y el que actualmente trabajo WAMP ya que es mas estricto con el uso de estándares de desarrollo en PHP y no deja pasar ni una sola ambigüedad en las instrucciones, por eso me gusto mas este ultimo.
Una vez instalado en XAMPP:
Inicio --> XAMPP --> Control Panel, y se inician los servicios de Apache y Mysql.
La carpeta donde se guardan los archivos de nuestra aplicacion web es C:/xampp/htdocs/
en WAMP:
Inicio --> WampServer --> Start WampServer
La carpeta donde se guardan los archivos de nuestra aplicación web es C:/wamp/www
Para ver corriendo la aplicación web entramos a una navegador y escribimos en la barra de direcciones http://localhost o http://127.0.0.1
Para administrar nuestras bases de datos en Mysql vamos al navegador y en la barrar de direcciones se ingresa http://localhost/phpmyadmin y nos aparecerá esta pantalla:
Bueno, una vez instalado y probado el ambiente vamos a crear el primer script sencillo en php y tomando datos de mysql, para esto vamos a necesitar una base de datos y la vamos a crear en phpmyadmin:
En la parte superior vamos a "Bases de Datos", y en Crear bases de datos ingresamos el nombre "db_prueba", sin comillas, y cotejamiento "latin1_swedish_ci".
Una vez creada la base de datos vamos a crear una tabla, para esto vamos a la pestaña superior donde dice "SQL" y van a ingresar el siguiente codigo:
CREATE TABLE IF NOT EXISTS `usuarios` (
`identificacion` bigint(12) NOT NULL,
`nombres` varchar(50) NOT NULL,
`apellidos` varchar(50) NOT NULL,
`telefono` bigint(15) DEFAULT NULL,
`email` varchar(60) DEFAULT NULL,
`usuario` varchar(20) NOT NULL,
`contrasena` varchar(40) NOT NULL,
PRIMARY KEY (`identificacion`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='TABLA DE USUARIOS';
ya tenemos entonces una tabla creada, ahora vamos a ingresar datos. Para esto vamos a ir a la pestaña "Insertar" y les va a aparecer 7 campos en los que pueden escribir la información, luego clic en "continuar" y listo, ya tiene la primera fila de datos.
PHP es un lenguaje de POO (Programación Orientada a Objetos) y la lógica de programación no varia mucho respecto a otros lenguajes, entonces antes de continuar con el ejercicio veremos algunos aspectos importantes a tener en cuenta antes de usarlos:
1 - Los script de PHP van embebidos en HTML y para ejecutarlos se usan dos etiquetas para abrir y cerrar:
<?php
// Aquí va el código
?>
2 - A las variables no se les define un tipo cuando se crean ya que según el dato que se les ingrese ellas tomaran ese tipo y se les pone un signo $ antecediendo, ni es obligatorio (pero si buena practica) inicializarlas, entonces tendríamos algo como esto:
<?php
$variable = 20;
?>
3 - Para mostrar una variable en pantalla se utiliza la funcion "echo", y se pueden concatenar con un punto ".", así:
<?php
echo "El valor de mi primera variable es ".$variable;
?>
4 - Los ciclos y condicionales se utilizan como en cualquier otro lenguaje, de la siguiente manera:
FOR:
for($i=0;$i<=10;$i++){
echo $i;
}
WHILE:
$i=0;
while($i<=10){
echo $i;
$i++;
}
DO-WHILE:
$i=0;
do{
echo $i;
$i++;
}while($i<=10)
IF:
$variable = true;
if($variable==true){
echo "La variable es verdadera.";
}
elseif($variable==false){
echo "La variable es falsa.";
}
SWITCH-CASE:
$variable = 1;
switch($variable){
case 0:
echo "opcion 0";
case 1:
echo "opcion 1";
}
Bueno, ya que tenemos claro el concepto, continuamos con el ejercicio.
Vamos a crear las cadenas de conexión a la base de datos, se hace así:
mysql_connect("host","usuario","contraseña" ) or die ("No se pudo conectar el usuario." ) ;
mysql_select_db("base_de_datos" ) or die ("No hay conexión a la base de datos." ) ;
Vamos a usar el usuario "root" y por lo general viene sin contraseña, el host "localhost" y la base de datos que hemos creado "db_prueba, la clausula "or die" sirve para controlar errores de ejecución y detiene todo el script. Entonces quedaría así:
mysql_connect("localhost","root","" ) or die("No se pudo conectar el usuario." ) ;
mysql_select_db("dynamicg_support" ) or die("No hay conexion a la base de datos." ) ;
Después vamos a traer los datos de mysql, para esto usamos las siguientes funciones:
mysql_query --> Ejecuta una consulta.
mysql_num_rows --> Obtiene el número de filas de un conjunto de resultados.
mysql_fetch_row --> Obtiene una fila de resultados.
mysql_num_fields --> Obtiene el numero de campos de un resultado.
mysql_close --> cierra las conexiones.
Según esto, usaremos el siguiente script para traer la información:
$query = mysql_query("SELECT * FROM usuarios; " ) ;
for($i=0;$i<mysql_num_rows($query);$i++){
$row = mysql_fetch_row($query);
for($j=0;$j<mysql_num_fields($query);$j++){
echo $row[$j]."t";
}
echo "n";
}
Por ultimo vamos a cerrar la conexion a la base de datos, usando mysql_close sin nungun parametro, haciendo que cierre todas las que esten abiertas, en este caso no mas usamos una.
<?php
mysql_close();
?>
Al final , el script completo que nos debe quedar es así:
<?php
mysql_connect("localhost","root","" ) or die("<b>No se pudo conectar el usuario.</b>" ) ;
mysql_select_db("db_prueba" ) or die("<b>No hay conexion a la base de datos.</b>" ) ;
$query = mysql_query("SELECT * FROM usuarios; " ) ;
for($i=0;$i<mysql_num_rows($query);$i++){
$row = mysql_fetch_row($query);
for($j=0;$j<mysql_num_fields($query);$j++){
echo $row[$j]."<br>";
}
}
mysql_close();
?>
Ahora guardan el archivo en la carpeta htdocs o www con el nombre "prueba.php" y lo ejecutan en el navegador web. El resultado seria algo como esto:
12345
pepito
perez
11223344
[email protected]
pperez
1234
*cambia según los datos que ingresaron antes.
Adelante iré mostrando funciones y procedimientos muy prácticos!! Saludos!