[Manual] Usando PHP y MySQL,para manejar una base de datos parte 1

Varios lectores me han pedido que si no hacia un manual de php, sin embargo como ha veces no tengo mucho tiempo, pues prefiero no poner mas manuales por que de por si, con los de Javascript, y Xul, ando algo atrasado.

Sin embargo como me gusta compartir, pues aqui les pongo un manual con lo necesario para poder conectarnos con php, a una base da datos MySQL y formatear los resultados a nuestro gusto, bueno empecemos.

Primero que nada, necesitamos haber instalado y configurado Apache, Php y MySQL, si no saben como hacerlo, pueden checarlo en este post.

Manual de instalacion y configuracion de apache con windows

Ahora veamos el problema

Necesitamos llevar un control de 20 alumnos de la escuela “Ajax-SQL”, este control sera llevado a cabo por el maestro el cual nos ha pedido, que elaboremos un sistema que nos permita dar de alta a los alumnos asi como sus calificaciones mediante una intranet o una pagina web donde los administradores, en este caso los maestros, puedan dar sus datos y accesar a una zona privada donde podran hacer los cambios que deseen.

Para empezar primero necesitamos saber lo mas basico, he ir armando parte por parte, asi que empezaremos por la creacion de la base de datos y el volcado de los mismos.

Como ya tenemos instalado todo lo que vamos a ocupar, vamos a empezar por crear la base de datos, a la cual llamaremos “Alumnos”, esto lo podemos hacer mediante un SQL, ya se por linea de comandos o mediante una interfaz grafica, por facilidad y disponibilidad de herramientas les recomiendo usar una GUI.

En mi caso en el trabajo cuando uso Windows uso, MySQL Front, software el cual esta descontinuado, sin embargo todavia pueden conseguir este software en la web, y se lo recomiendo por que simplemente era y es el mejor para manipular bases de datos desde Windows si usan linux pues el Mysql Administrator el cual lo pueden obtener gratuitamente desde el sitio de MySQL AB.

Entonces creamos la base de datos y le agregamos una tabla llamada “Calificaciones”, con 6 campos, que son

  • ID_Alumno
  • Nombre
  • Parcial1
  • Parcial2
  • Parcial3
  • Promedio

Sin embargo se que muchos tendran dudas, ¿Como creo la base de datos, como agrego la tabla, si no tengo GUI, etc?

Bueno las mismas instrucciones pero ahora con codigo SQL

Creamos la base de datos

create database “Alumnos”;

Seleccionamos la base de datos
use Alumnos;

Creamos la tabla

CREATE TABLE `calificaciones` (
`ID_Alumno` int(11) NOT NULL auto_increment,
`Nombre` varchar(40) default NULL,
`Parcial1` int(11) default NULL,
`Parcial2` int(11) default NULL,
`Parcial3` int(11) default NULL,
`Promedio` int(11) default NULL,
PRIMARY KEY (`ID_Alumno`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=latin1;

Con lo anterior hemos creado una tabla con 5 campos, el primero es la clave primaria, osea que no se repetira nunca en la tabla, ademas es auto-incrementable, ademas no puede ser nulo; el siguiente camo llamado nombre, es de tipo varchar lo que significa que contendra unicamente texto y tendra la capacidad que le indiquemos en este caso 40 caracteres, los otros son campos enteros.

Ahora procederemos a llenar la base datos usando sql:

INSERT INTO `calificaciones` VALUES (1,’Tux’,10,8,8,9);
INSERT INTO `calificaciones` VALUES (2,’Ajaxman’,7,5,9,7);
INSERT INTO `calificaciones` VALUES (3,’Javier’,8,9,10,9);
INSERT INTO `calificaciones` VALUES (4,’Debian’,10,10,10,30);

Nota como tenia sueño solo agregue 5 pero haganlo con mas datos (20) para ver mas a detalle como funciona
Una vez, hecho este tenemos los datos suficientes para empezar a trabajar

Creamos nuestro archivo php, haciendo una conexion a la base de datos

Archivo Consulta.php

< ?php

/*
* conexion a la base de datos
*
*/

//$DB=mysql_connect(“tu_host”,”usaurio”,”contraseña”);

$DB=mysql_connect(“localhost”,”root”,”localhost”);

//seleccionamos la ase de datos alumnos
mysql_select_db(“Alumnos”);

//CON SQL HACEMOS NUESTRA CONSULTA , la cual no trae nada, ya que no hasta que se ejecute
$sql=’select * from calificaciones’;

//Ejecutamos la consulta

$Q=mysql_query($sql,$DB);

/*
* Como ya tenemos el resultado ahora, simplemente hay que vaciarlo, ya que el resultado es
* una matriz de datos,
* como una tabla.
* Esto lo hacemos usando la funcion mysql_fetch_assoc de php
* Quedaria de la siguiente forma
* $fila=mysql_fetch_assoc($Q);
* Sin embargo solo nos entregaria el resultado del primer registro, para que nos
* devuelva todos necesitamos hacerlo con un while, el cual mientras haya datos de ejecute,
* de la siguiente forma
* y accederemos a cada elemento como si fuera un array,
* pero en vez de pasar el numero de elemento,
* pasamos el campo que necesitamos
*/
while($fila=mysq_fetch_assoc($Q))
{
echo ‘Tu nombre es ‘.$fila[‘Nombre’].’ y tu promedio es :’.$fila[‘Promedio’].'<br />’;
}
//Por ultimo cerramos la conexion a nuestra base de datos

mysql_close($DB);

?>

Listo ya esta, si tienen dudas pueden dejarlas en los comentarios.

De todas formas aqui les pongo el codigo del script PHP, en limpio

< ?php

$DB=mysql_connect(“localhost”,”root”,”localhost”);

mysql_select_db(“Alumnos”);
$sql=’select * from calificaciones’;
$Q=mysql_query($sql,$DB);

while($fila=mysq_fetch_assoc($Q))
{
echo ‘Tu nombre es ‘.$fila[‘Nombre’].’ y tu promedio es :’.$fila[‘Promedio’].'<br />’;
}
mysql_close($DB);

?>

Nota: lo que va a dentro del echo de php, le pueden poner codigo HTML a su gusto.
Si me fui un poco rapido me avisan jaja, saludos a todos.

Leave a Comment

Your email address will not be published. Required fields are marked *