Hola a todos, en este post os dejare unas breves explicaciones sobre conexiones mysql en php.
Lo primero que tenemos que saber es la conexion desde php con mysql, para eso podemos hacer con mas de 1 forma :
Podemos definir el host, el usuario, la contraseña y la base de datos asi :
Otra forma de hacerlo es una conexion simple usando el codigo de ejemplo :
Si os fijais en el codigo de mysql_connect podeis ver que puse elhost, elusuario y lacontraseña bueno pues eso es igual ke la conexion de ariba pero no las aviamos definido
si queren hacer una conexion con mas de una base de datos estaria mucho mejor definir el nombre de la base de datos para tenerlo mas ordenado, pero tambien se puede hacer normal usando en cada codigo de edicion, envios y seleccion esto :
me explico un poco xD en el nombredb teneis que poner el nombre de la base de datos y en tabla pues es obio que ai que poner el nombre de una tabla que tenga en su contenido de la db.
Bueno ahora ya que sabenos un poco de como va eso pues vamos ha empezar con insertar datos a una base de datos usando la primera conexion que icimos.
Insertar datos a una tabla :
Bueno para insertar datos a una tabla necesitamos saber primero el codigo, en este caso vamos ha definir la conexion con $sql y le ponemos la conexion con mysql_query :
Aqui os dejare un ejemplo de un sistema de noticias simpre para enviar una nueva noticia :
Aqui lo que es la tabla en codigo sql :
Aqui lo que es el formulario de envio en HTML :
y claro aqui teneis el codigo PHP para enviar los datos, aqui viene tambien con una verificacion, que si los datos fueron enviados exitosamente que envie un script que diga Noticia publicada :
Bueno asi es como mas o menos se envia un nuevo contenido en la tabla. Ahora os enseñare como hacerlo pero ahora digamos que la tabla noticias ya no se encuentra en la base de datos definida arriba como el primer ejemplo y tenemos que poner otra. Bueno para eso aqui teneis un ejemplo :
Seleccionar datos :
mysql_num_rows
¿Ahora tiene todo un poco mas de sentido verdad? Bueno dejemonos de rollos que tenemos cosas que hacer y ahora vamos a seleccionar y ver los rows de la tabla de noticias, osea comprobar cuantas noticias ai publicadas en total. Bueno aqui un ejemplo como siempre :
¿parece facil verdad? bueno no lo parece xD esque lo es, aqui la explicacion de cada cosa :
definimos el $noticiastot como la conexion para seleccionar los mysql_num_rows de la tabla noticias, pero en $noticiastodo todavia no cojemos los rows, colo seleccionamos la tabla.
ahora si, definimos en $noticiastot1 que coja los mysql_num_rows de la definicion anterior $noticiastot.
Bueno ahora ya que tengo seleccionado eso como codria mostrar los rows que seleccione, bueno pues eso es muy facil, usa la definicion en la cual selecciona los mysql_num_rows osea la definicion $noticiastot1 aqui un ejemplo para mostrar los rows :
bueno yo creo que vamos bien xD, pero vamos a meternos mas en el codigo de mysql_num_rows y ahora vamos a cojer los rows pero con un WHERE osea solamente cojiendo un dato especifico de una tabla :
Bueno como podeis ver en el codigo solo le añadi el "WHERE id=1" lo que ace eso es seleccionar un dato que tenga en la id el numero 1 que es el ke yo puse como ejemplo, pero como en el codigo de SQL que os mostrar ariba tiene el id como auto_increment solo podra aver 1 dato con el id 1, pero con eso se puede hacer muchas cosas. El codigo para mostrar seria el mismo que el de mas ariba.
Bueno ahora para entra mas a fondo en el codigo vamos a seleccionar las noticias, a ordenarlas y a mostrarlas con un limite 10.
mysql_fetch_assoc
Primero hacemos la seleccion :
Despues hacemos que muestre los datos con mysql_fetch_assoc claramente aciendo una definicion xD
y ahora para mostrar usaremos el siguente codigo :
bueno ahora explicamos xD, como mostraremos los datos mas veces usaremos un while haciendo la definicion de $noticias1 dentro de ella y la definicion de $noticias1 que seleccione los mysql_fetch_assoc de la definicion que antes icimos para seleccionar y ordenar osea $noticias. Este codigo para mostrar es algo realmente sencillo, y claramente se puede modificar y modificar todo lo que nosotros queramos y sepamos.
Bueno y yo creo que ya me estoi metiendo bien en el codigo y espero que os ayude todo esto xD, ahora vamos a mostrar datos, no a ordenarlos ni nada solo a mostrar contenido de una tabla, sea el k sea.
mysql_fetch_array
Bueno para empezar como siemrpe vamos a definir la seleccion primero, la seleccion cojera de la tabla usuarios la noticia con el id 1 y mostrara su mensaje :
aqui para seleccionar los datos del contenido seleccionado :
bueno el procedimiento es el mismo de todos xD solo que es cambiar la funcion mysql.
Ahora para mostrar el mensaje o lo que queramos usamos este codigo:
Explico un poco el codigo aunque puede que lo sepais xD, bueno aqui lo mismo muestra la definicio $noticias1['columna'], lo de la columna es la columna que nosotros deseamos mostrar, como yo dije mas ariba que mostrare el mensaje de la noticia con el id 1 pues el codigo vendria asi :
tambien podriamos mostrar el autor o el titulo aciendo lo mismo pero cambiando lo de mensaje por la columna que nosotros queramos mostrar.
Bueno por ahora dejare asi el tutorial que yo ahora me tendo que ir, pero en cuanto vuelva me podre ha mejorar el tutorial ya que aun me queda un poco por mostrar xD. Espero que os sirva lo que ai por ahora y que dejeis vuestro agradecimiento almenos
Lo primero que tenemos que saber es la conexion desde php con mysql, para eso podemos hacer con mas de 1 forma :
Podemos definir el host, el usuario, la contraseña y la base de datos asi :
- Código:
<?
$host_db = "Aqui el host";
$usuario_db = "Usuario de la Base de Datos";
$clave_db = "Contra de la Base de Datos";
$dbnombre = "Nombre de la Base de Datos";
//una vez definido el host, el usuario, la contraseña y la base de datos conectamos con el siguente codigo tambien definido con el nombre de $conecta_db
$conecta_db = mysql_connect($host_db, $usuario_db, $clave_db) or die("No se ha podido conectar con el servidor MySQL. Inténtalo mas tarde.");
//y claro como aveis podido ver en el codigo de ariba no hemos seleccionado la base de datos definida y para seleccionarla usamos el codigo de abajo, ese ya no lo definicos porque ya no hace falta
mysql_select_db($dbnombre, $conecta_db);
?>
Otra forma de hacerlo es una conexion simple usando el codigo de ejemplo :
- Código:
mysql_connect(elhost, elusuario, lacontraseña) or die("No se ha podido conectar con el servidor mysql. intentalo mas tarde.");
Si os fijais en el codigo de mysql_connect podeis ver que puse elhost, elusuario y lacontraseña bueno pues eso es igual ke la conexion de ariba pero no las aviamos definido
si queren hacer una conexion con mas de una base de datos estaria mucho mejor definir el nombre de la base de datos para tenerlo mas ordenado, pero tambien se puede hacer normal usando en cada codigo de edicion, envios y seleccion esto :
- Código:
nombredb.tabla
me explico un poco xD en el nombredb teneis que poner el nombre de la base de datos y en tabla pues es obio que ai que poner el nombre de una tabla que tenga en su contenido de la db.
Bueno ahora ya que sabenos un poco de como va eso pues vamos ha empezar con insertar datos a una base de datos usando la primera conexion que icimos.
Insertar datos a una tabla :
Bueno para insertar datos a una tabla necesitamos saber primero el codigo, en este caso vamos ha definir la conexion con $sql y le ponemos la conexion con mysql_query :
- Código:
$sql = mysql_query("INSERT INTO tabla (Aqui define las columnas que contiene la tabla) values (aqui tienes que poner todos los datos que se enviara en cada columna definida anteriormente)");
Aqui os dejare un ejemplo de un sistema de noticias simpre para enviar una nueva noticia :
Aqui lo que es la tabla en codigo sql :
- Código:
CREATE TABLE `noticias` (
`id` INT auto_increment ,
`titulo` VARCHAR( 100 ) NOT NULL DEFAULT 'No Hay Titulo',
`autor` VARCHAR( 50 ) NOT NULL DEFAULT 'Desconocido',
`mensaje` VARCHAR( 1000 ) NOT NULL DEFAULT 'No Hay Mensaje',
PRIMARY KEY ( `id` )
) ENGINE = MYISAM
Aqui lo que es el formulario de envio en HTML :
- Código:
<form action="" method="post">
Titulo : <br>
<input type="text" name="titulo" size="20"><br><br>
Autor : <br>
<input type="text" name="autor" size="20"><br><br>
Mensaje : <br>
<textarea rows="8" name="mensaje" cols="41"></textarea><br><br>
<input type="submit" value="Guardar Noticia" name="guardar">
</form>
y claro aqui teneis el codigo PHP para enviar los datos, aqui viene tambien con una verificacion, que si los datos fueron enviados exitosamente que envie un script que diga Noticia publicada :
- Código:
<?
$sql = mysql_query("INSERT INTO noticias (titulo,autor,mensaje) values ('".$_POST['titulo']."','".$_POST['autor']."','".$_POST['noticia']."')");
//aqui lo que hacemos es enviar los datos del $_POST (formulario) que os enseñe mas arriba.
if($act){echo "<script>alert('¡Noticia Publicada!');</script>";
}
?>
Bueno asi es como mas o menos se envia un nuevo contenido en la tabla. Ahora os enseñare como hacerlo pero ahora digamos que la tabla noticias ya no se encuentra en la base de datos definida arriba como el primer ejemplo y tenemos que poner otra. Bueno para eso aqui teneis un ejemplo :
- Código:
<?
$sql = mysql_query("INSERT INTO nombredb.noticias (titulo,autor,mensaje) values ('".$_POST['titulo']."','".$_POST['autor']."','".$_POST['noticia']."')");
//como podeis ver lo que ha cambiado a sido una pequeña cosa nombredb.noticias, justo como el ejemplo que os deje de nombredb.tabla
if($act){echo "<script>alert('¡Noticia Publicada!');</script>";
}
?>
Seleccionar datos :
mysql_num_rows
¿Ahora tiene todo un poco mas de sentido verdad? Bueno dejemonos de rollos que tenemos cosas que hacer y ahora vamos a seleccionar y ver los rows de la tabla de noticias, osea comprobar cuantas noticias ai publicadas en total. Bueno aqui un ejemplo como siempre :
- Código:
$noticiastot = mysql_query("SELECT * FROM noticias");
$noticiastot1 = mysql_num_rows($noticiastot);
¿parece facil verdad? bueno no lo parece xD esque lo es, aqui la explicacion de cada cosa :
definimos el $noticiastot como la conexion para seleccionar los mysql_num_rows de la tabla noticias, pero en $noticiastodo todavia no cojemos los rows, colo seleccionamos la tabla.
ahora si, definimos en $noticiastot1 que coja los mysql_num_rows de la definicion anterior $noticiastot.
Bueno ahora ya que tengo seleccionado eso como codria mostrar los rows que seleccione, bueno pues eso es muy facil, usa la definicion en la cual selecciona los mysql_num_rows osea la definicion $noticiastot1 aqui un ejemplo para mostrar los rows :
- Código:
<?=$noticiastot1?>
bueno yo creo que vamos bien xD, pero vamos a meternos mas en el codigo de mysql_num_rows y ahora vamos a cojer los rows pero con un WHERE osea solamente cojiendo un dato especifico de una tabla :
- Código:
$noticiastot = mysql_query("SELECT * FROM noticias WHERE id=1");
$noticiastot1 = mysql_num_rows($noticiastot);
Bueno como podeis ver en el codigo solo le añadi el "WHERE id=1" lo que ace eso es seleccionar un dato que tenga en la id el numero 1 que es el ke yo puse como ejemplo, pero como en el codigo de SQL que os mostrar ariba tiene el id como auto_increment solo podra aver 1 dato con el id 1, pero con eso se puede hacer muchas cosas. El codigo para mostrar seria el mismo que el de mas ariba.
Bueno ahora para entra mas a fondo en el codigo vamos a seleccionar las noticias, a ordenarlas y a mostrarlas con un limite 10.
mysql_fetch_assoc
Primero hacemos la seleccion :
- Código:
<?
$noticias = mysql_query("SELECT * FROM noticias ORDER BY `id` DESC limit 10") or die (mysql_error());
?>
Despues hacemos que muestre los datos con mysql_fetch_assoc claramente aciendo una definicion xD
y ahora para mostrar usaremos el siguente codigo :
- Código:
<?php
while($noticias1 = mysql_fetch_assoc($noticias))
{
?>
Titulo : <?=$noticias1['titulo']?> | Autor : <?=$noticias1['autor']?><br><br>
Mensaje : <br>
<?=$noticias1['mensaje']?><hr>
<?
}
?>
bueno ahora explicamos xD, como mostraremos los datos mas veces usaremos un while haciendo la definicion de $noticias1 dentro de ella y la definicion de $noticias1 que seleccione los mysql_fetch_assoc de la definicion que antes icimos para seleccionar y ordenar osea $noticias. Este codigo para mostrar es algo realmente sencillo, y claramente se puede modificar y modificar todo lo que nosotros queramos y sepamos.
Bueno y yo creo que ya me estoi metiendo bien en el codigo y espero que os ayude todo esto xD, ahora vamos a mostrar datos, no a ordenarlos ni nada solo a mostrar contenido de una tabla, sea el k sea.
mysql_fetch_array
Bueno para empezar como siemrpe vamos a definir la seleccion primero, la seleccion cojera de la tabla usuarios la noticia con el id 1 y mostrara su mensaje :
- Código:
<?
$noticias = mysql_query("SELECT * FROM noticias WHERE id=1");
?>
aqui para seleccionar los datos del contenido seleccionado :
- Código:
<?
$noticias1 = mysql_fetch_array($noticias);
?>
bueno el procedimiento es el mismo de todos xD solo que es cambiar la funcion mysql.
Ahora para mostrar el mensaje o lo que queramos usamos este codigo:
- Código:
<?=$noticias1['columna']?>
Explico un poco el codigo aunque puede que lo sepais xD, bueno aqui lo mismo muestra la definicio $noticias1['columna'], lo de la columna es la columna que nosotros deseamos mostrar, como yo dije mas ariba que mostrare el mensaje de la noticia con el id 1 pues el codigo vendria asi :
- Código:
<?=$noticias1['mensaje']?>
tambien podriamos mostrar el autor o el titulo aciendo lo mismo pero cambiando lo de mensaje por la columna que nosotros queramos mostrar.
Bueno por ahora dejare asi el tutorial que yo ahora me tendo que ir, pero en cuanto vuelva me podre ha mejorar el tutorial ya que aun me queda un poco por mostrar xD. Espero que os sirva lo que ai por ahora y que dejeis vuestro agradecimiento almenos