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
[source:sql]
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;
[/source]
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:
[source: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);
[/source]
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
[source: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'].’
‘;
}
//Por ultimo cerramos la conexion a nuestra base de datos
mysql_close($DB);
?>
[/source]
Listo ya esta, si tienen dudas pueden dejarlas en los comentarios.
De todas formas aqui les pongo el codigo del script PHP, en limpio
[source:php]
< ?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'].’
‘;
}
mysql_close($DB);
?>
[/source]
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.














Está excelente friend!
Muy bien dirigido a personas que saben poco o nada de php y mysql, como yo!
EstarĂ© a la espera de los demás capĂtulos
excelente a mi me ayudo muchisimo
@diego, que bueno que te haya servido, ya son dos partes faltan 3 mas que subiere en breve, saludos
muy sencillo, mil gracias… Aunque todavia no he podido hacer ningun programita, por el problema que te comente del ultimo paso de la instalacion de MySQL, ojala y lo solucione pronto, estoy con muchas ganas de empezar a hacer programas. Tu crees que sera posible un breve ejemplo de como disenar una forma para la captura de los datos? y otra pregunta, cuando tenga una aplicacion que requiera de varios programas, como hago el llamado de programas para que se ejecuten? Osea si tengo una forma con 3 opciones y cada opcion es un programa como hago el llamado a cada programa?. Espero me haya explicado bien y puedas entenderme lo que te quiero decir.
Gracias mil ……..
Te puedo seguir preguntado si me salen mas dudas? o que tal un buen manual de MySQL, sabes cual?
@Luis, gracias por seguir leyendo el blog, estoy algo apurado con el trabajo pero tratare de resolver las dudas lo mas pronto posible.
un saludo y por supuesto que pueder serguieme preguntando, a ver si asi llegamos a los 1000 comentarios, y un buen manual de mysql, mira este.
que tal este
http://dev.mysql.com/doc/refman/5.0/es/index.html
No se si me puedas ayudar tengo un problema mas complejo:
tengo una base de datos llamada alumnos, en la cual tengo 3 tablas, datos(id, nombre, grupo), la segunda tabla es de calificaciones(id_alumno,nombre_alumno, clave_m, primer_p, segundo_p, promedio, segunda_calif(en caso de que este en extra)), y la tercer tabla llamada materias(id_materia, nombre_materia, semestre_materia).
El problema que tengo es de diseño, porque a la hora de introducir las calificaciones, primero hago un select *from datos, para que me me muestre todos los grupos disponibles de los alumnos (ya me lo hace), despues mando a una segunda consulta seleccionando el grupo al cual quiero dar de alta de calificaciones y me despleja su clave del alumno y su nombre(de todos los alumnos que esten en ese grupo). Vaya a lo que voy es que no se como desplegar todas las materias que por ejemplo esten en primer semestre y todos las calificaciones las guardo en la tabla calificaciones.
Ya me confundi con el diseño, si alguien me puede ayudar se lo agradeseria bastante .