Lo primero, aunque esto viene ya preparado en los hoting hay que saber 4 datos basicos:
Citar
Host: Normalmente es localhost es el servidor al que nos conectamos.
Usuario: El nombre de usuario para acceder a la bd.
Password: La contraseña de ese usuario.
BD Es la base de dato donde se encuentran los datos adonde queremos acceder. En los hosting normalmente un usuario tiene acceso a una sola bd.
Una vez puestos estos datos vemos si va bien las conexiones:Usuario: El nombre de usuario para acceder a la bd.
Password: La contraseña de ese usuario.
BD Es la base de dato donde se encuentran los datos adonde queremos acceder. En los hosting normalmente un usuario tiene acceso a una sola bd.
La orden mysql_connect, permite conectarse a un servidor de bases de datos y logearse.
La variable $co, marca que con esa variable de conexion vamos a enviar instrucciones y demas.
Luego con la instruccion mysql_select_db seleccionamos la bd a partir de abernos conectado con la variable $co.
Código:
<?php
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
?>
La filosofia de una tabla en la bd es la siguiente.
Tenemos por ejemplo una tabla llamada estadisticas, y con los campos equipo|goles|posicion
Y se podria representar asi:
Citar
Tabla virtual:
Equipo | Goles | Posicion
Real.M 20 1
Barsa 10 3
Atletic 15 2
Equipo | Goles | Posicion
Real.M 20 1
Barsa 10 3
Atletic 15 2
Ahora estan las ordenes en mysql para coger esos datos. Tienen la siguiente sintaxis.
Citar
Seleccioname dato delatabla tabla donde undatodeesatabla = 'datodelusuario'
Esto es como sería asi hablado, para que se entienda pero la sentencia como la escribimos es:Código:
SELECT dato FROM tabla WHERE dato='datodelusuario'
Para enviar estas ordenes se usa:
mysql_query, esta funcion manda una orden a una bd, en base a una conexion. La repuesta se guarda en una variable, que se transforma en un array, un ejemplo de como podemos nosotros coger un dato de la bd, un dato sin tener en cuenta de algo que el usuario haya seleccionado.
Código:
<?php
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$dato = mysql_query("SELECT Posicion FROM estadisticas",$co);
if(mysql_num_rows($dato)){
//Primero se comprueva si el dato existe, de existir le sacamos
$dato = mysql_fetch_array($dato); //Esta funcion nos permite sacar el dato, en forma de array, dato[0] muestra el primero que haya encontrado en la bd, esto es solo util si hay solo un dato
$dato[0] = htmlspecialchars($dato[0]); //Lo vamos a mostrar y por seguridad lo limpiamos, no vaya a ser que haya una vulnerabiliad XSS.
$dato = $dato[0]; //pasamos la variable dato[0] a otra que es un array, yo lo hago para que se mas facil el trabajo, vosotros podeis hacer lo que querais.
echo 'El dato sacado es '.$dato;
}else{
echo 'No se puedo sacar el dato de la bd';
}
?>
Citar
SELECT * FROM tabla
Cuando queremos sacar solo uno, que por ejemplo nos muestre, cual equipo esta en la 3º posicion, usamos esto, con la instruccion WHERE:Código:
<?php
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$dato = mysql_query("SELECT Equipo FROM estadistica WHERE posicion='3'",$co);
if(mysql_num_rows($dato)){
//Primero se comprueva si el dato existe, de existir le sacamos
$dato = mysql_fetch_array($dato); //Esta funcion nos permite sacar el dato, en forma de array, dato[0] muestra el primero que haya encontrado en la bd, esto es solo util si hay solo un dato
$dato[0] = htmlspecialchars($dato[0]); //Lo vamos a mostrar y por seguridad lo limpiamos, no vaya a ser que haya una vulnerabiliad XSS.
$dato = $dato[0]; //pasamos la variable dato[0] a otra que es un array, yo lo hago para que se mas facil el trabajo, vosotros podeis hacer lo que querais.
echo 'El tercer equipo es: '.$dato;
}else{
echo 'No se puedo sacar el dato de la bd, posiblemente no existe';
}
?>
Código:
<?php
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$lista = mysql_query("SELECT * FROM estadisticas",$co); //El * sirve para acceder a todo tipo de datos dentro de esa tabla
while ($listando = mysql_fetch_array($lista)) {
echo 'Equipo: '.$listando["Equipo"].', '.'Goles: '.$listando["Goles"].', '.'Posicion: '.$listando["Posicion"];
}
?>
Código:
<?php
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$lista = mysql_query("SELECT * FROM estadisticas ORDER BY 'Posicion' DESC",$co); //El * sirve para acceder a todo tipo de datos dentro de esa tabla, ahora estan los datos ordenados
while ($listando = mysql_fetch_array($lista)) {
echo 'Equipo: '.$listando["Equipo"].', '.'Goles: '.$listando["Goles"].', '.'Posicion: '.$listando["Posicion"];
}
?>
Ahora, si quieres grabar datos en una base de datos, se puede hacer:
Código:
<?php
//Estos datos son enviamos por un formulario, damos poor hecho que sabe hacer formularios
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$equipo = $_POST["equipo"];
$goles = $_POST["goles"];
$posicion = $_POST["posicion"];
$guardarficha = mysql_query("INSERT INTO N_noticias (Equipo,Goles,Posicion) VALUES ('$equipo','$goles',$posicion')",$co) or die (mysql_error());
Echo 'Datos agregados con exito';
?>
Ahora vamos a crear una tabla, la tabla con la que hemos hecho todos estos ejemplos:
Código:
<?php
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$creartabla = mysql_query("CREATE TABLE estadisticas(
Equipo TEXT NOT NULL,
Goles INT(2) NOT NULL,
Posicion INT(2) NOT NULL
);")or die(mysql_error());
echo 'Tabal creada:';
?>
Código:
<?php
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$goles = $_POST["goles"];
$cambiar = mysql_query("Update estadisticas Set Goles='$goles' Where Equipo='Real.M'",$co) or die (mensaje(mysql_error()));
echo 'Ficha cambiada';
?>
Código:
<?php
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$eliminar = mysql_query("DELETE FROM `estadisticas` WHERE Equipo='atletic'",$co);
echo 'Ficha borrada con exito';
?>
Código:
$co = mysql_connect("localhost", "usuario", "contraseña") or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$eliminartabla0 = mysql_query("DELETE FROM `estadisticas`");
echo 'Tabla vaciada';
?>
Código:
$co = mysql_connect("localhost", "usuario", "contraseña) or die("Error a conectar al host"); //Conectamos a la bd con el host, usuario y contraseña.
mysql_select_db("mybd",$co) or die("Error al abrir bd");
$eliminartabla0 = mysql_query("DROP TABLE `estadisticas`");
echo 'Tabla borrada';
?>
Para que veais un ejemplo de una base de datos, aqui en el smf:
Si nosotros, los usuarios normales (en cualquier foro smf), tenemos el numero 1 (no se cual tenemos). Y imaginaros que el 5 es el admin, pues con modificar un numero podríamos tener un acceso total al sistema. Mientras que con el 1 somo usuarios normales. ¿fascinante el poder que tienen, no??
Bueno, dicho esto me despido de todos vosotros, me he entretenido un rato escribiendo esto..., podeis hacer lo que hos de la gana con este tutorial, pero por favor me gustaría mucho que si le copiais que pusiera mi nombre en el
Y lo mas importante, no he verificado que las sentencias esten bien, las he cogido de varios de mis sistemas que estan construidos o en proceso de contruccion. Aqui que con cualquier fallo ponedlo.., faltas de ortografia (no creo que le haga gracia a Ertai) , criticas, fallos ponedlo.
Y sobre todo admito que me pongais felicitaciones por el tutorial
Sin mas, me despido de quien me este leyendo y hasta otra que este aburrido y me de por escribir
Saludos a todos