lunes, 19 de mayo de 2014

MODIFICAR, EDITAR O ACTUALIZAR DATOS

Mostrar y Actualizar datos MYSQL desde PHP

En esta nueva publicación aprenderemos como mostrar los datos de tabla MYSQL y también como actualizarla desde PHP.

Recuerde que las explicaciones de cada parte del código están incluidas en forma de comentarios.

Primer Archivo

Nombre: mostrardatos.php

<?

//Conectamos con el servidor
@$db = mysql_connect("servidor", "usuario", "password") or die ("No es posible conectar con el servidor");

//Seleccionamos la base de datos
mysql_select_db("basededatos");

//Realizamos la consulta, en este caso es general y luego asignamos a la variable número el total de registros encontrados.
$consultar = mysql_query("SELECT * FROM nombretabla");
$numero = mysql_num_rows($consultar);

//Iniciamos una tabla y los títulos de las columnas
echo "<table border=1 width=90% align=center>";
echo "<tr align=center><td>No.</td><td>No.</td><td>Nombre</td><td>Email</td><td>Asunto</td><td>Comentario</td></tr>";

//Iniciamos el formulario, al accionarlo llamará al programa editar.php
echo "<form action=editar.php method=post>";

//Creamos un ciclo for para mostrar todos los registros de la tabla de datos, recuerde que deben ser editables
for($i=1; $i<=$numero; $i++) {
$registro = mysql_fetch_array($consultar);
$id = $registro['idcomentario'];
$nombre = $registro['nombre'];
$email = $registro['email'];
$asunto = $registro['asunto'];
$comentario = $registro['comentario'];
echo "<tr>";
echo "<td align=right>$i</td>";
echo "<input type=hidden name=numero[] value=$id>";
echo "<td><input type=text name=nombre[] value='$nombre' size=30></td>";
echo "<td><input type=text name=email[] value='$email' size=30></td>";
echo "<td><input type=text name=asunto[] value='$asunto' size=30></td>";
echo "<td><input type=text name=comentario[] value='$comentario' size=30></td>";
echo "</tr>";
}

//Incluimos el botón de acción que este caso será Actualizar
echo "<tr><td colspan=5><input type=submit value=Actualizar></td></tr>";

//Terminamos el formulario y la tabla
echo "</form>";
echo "</table>";


?>

Segundo Archivo

Nombre: editar.php

<?

//conectamos con el servidor
@$db = mysql_connect("servidor", "usuario", "password") or die ("No es posible conectar con el servidor");

//Seleccionamos la base de datos
mysql_select_db("basededatos");

//Realizamos una consulta general y el número de registros encontrados
$consultar = mysql_query("SELECT * FROM nombretabla");
$numero = mysql_num_rows($consultar);

//Creamos un ciclo for para la Actualización de datos
for($i=0; $i<=$numero; $i++) {
$id = $_POST['numero'][$i];
$nombre = $_POST['nombre'][$i];
$email = $_POST['email'][$i];
$asunto = $_POST['asunto'][$i];
$comentario = $_POST['comentario'][$i];

//Actualizamos cada campo de la tabla de datos en base al campo idcomentario
mysql_query("UPDATE nombretabla SET nombre = '$nombre' WHERE idcomentario = '$id'");
mysql_query("UPDATE nombretabla SET email = '$email' WHERE idcomentario = '$id'");
mysql_query("UPDATE nombretabla SET asunto = '$asunto' WHERE idcomentario = '$id'");
mysql_query("UPDATE nombretabla SET comentario = '$comentario' WHERE idcomentario = '$id'");
}

//Para finalizar enviamos un mensaje indicando que la actualización se a realizado.
echo "Se han actualizado los datos para comentario";



?>

Espero que les sirva.  Hasta pronto.

viernes, 16 de mayo de 2014

Crear una tabla de datos MYSQL desde PHP

CÓDIGO PARA CREAR TABLAS MYSQL DESDE PHP

Hacer una tabla de datos mysql desde php es un proceso muy sencillo y para explicarlo voy a utilizar un formulario de contactos (voy a hacer el formulario muy sencillo y sin formato) y lo voy a procesar en el mismo archivo.


<?
if(!$_POST) {
?>

<form action="<? $_POST ?>" method=post>
     Nombre: <input type=text name=nombre required ><br>
     E-mail: <input type=email name=email required ><br>
     Asunto: <input type=text name=asunto ><br>
     Comentario: <textarea name=comentario></textarea><br>
     <input type=submit value=Enviar>
</form>

<?
} else {
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$asunto = $_POST['asunto'];
$comentario = $_POST['comentario'];

//conectamos con el servidor
@$db = mysql_connect("servidor", "usuario", "password");

//seleccionamos la base de datos
mysql_select_db("basededatos");

//asignamos a la variable tabla la lista de tablas que contiene nuestra base de datos
$tabla =  mysql_list_tables("basededatos");
$num_tabla = mysql_num_rows($tabla);

//Asignamos a la variable existe el texto NO, asumiendo que la tabla que usaremos no existe
$existe = "NO";

//verificamos que la tabla que usaremos existe, en caso de que exista asignamos el valor SI a la variable existe

for ($i=0; $i<$num_tabla; $i++) {
if (mysql_tablename($tabla, $i) == "nombre_tabla") {
$existe = "SI" ;
}
}

//Si la tabla no existe, creamos la tabla con la siguiente estructura


if ($existe == "NO") {
mysql_query("CREATE TABLE nombre_tabla
 (idcomentario INT(3) NOT NULL 
 AUTO_INCREMENT PRIMARY KEY, 
 nombre VARCHAR(50), 
 email VARCHAR(100), 
 asunto VARCHAR(50), 
 comentario VARCHAR(1000), 
 UNIQUE (idcomentario))");

//luego de crear la tabla insertamos los datos que deseamos

$insertar = mysql_query("INSERT INTO nombre_tabla
(nombre, email, asunto, comentario)
VALUES ('$nombre', '$email',
'$asunto', '$comentario')");

//si la tabla ya existe solamente insertamos los datos que deseamos

} else {
$insertar = mysql_query("INSERT INTO nombre_tabla
(nombre, email, asunto, comentario)
VALUES ('$nombre', '$email',
'$asunto', '$comentario')");
}

//verificamos que se hayan guardado los datos, enviamos mensaje de confirmación

if(!$insertar) {
echo "No se guardaron datos";
} else {
echo "Se agrego un nuevo registro";
}
}
?>

lunes, 25 de febrero de 2013

Consulta: Recuperar datos con un formulario

FORMULARIO Y PROCESO DE DATOS RECUPERADOS CON PHP

Hola como están? espero que muy bien, hoy vamos a trabajar con un formulario que permitirá escribir un dato para luego buscarlo dentro de un campo de nuestra tabla de datos, para ello utilizaremos formulario, sentencia if, ciclo while y luego procesaremos esos datos recuperamos lanzando nueva información, el ejercicio lo haremos en base a el ingreso de datos que hicimos en la tabla salarios y los nuevos datos que lanzaremos serán el descuento de IGSS (en Guatemala 4.83% sobre sueldo) y el salario líquido, es decir sueldo + bonificación - IGSS.

Paso No. 1 - Usamos sentencia if para mostrar el formulario de consulta.

<?
if(!$_POST) {
?>

Paso No. 2 - Creamos el formulario de consulta.

<form action="<? $_POST ?>" method=POST >
   ¿Qué dato buscas? <input type=text required name=dato />
   <input type=submit value=Buscar />
</form>

Paso No. 3 - Asignamos la variable $dato, luego conectamos con el servidor y seleccionamos la base de datos.

<?
} else {

$dato = $_POST['dato'];

$db = mysql_connect("localhost", "root", "123456") or die ("No conectó el servidor");

mysql_select_db("ejemplo") or die ("No se puede seleccionar la base de datos ejemplo");

Paso No. 4 - Hacemos la consulta (para ello bastará con escribir solamente parte del nombre del empleado que buscamos, por ejemplo Juan o car).

$consulta = "SELECT * FROM salarios WHERE nombre LIKE '%".$dato."%'";
$resultado = mysql_query($consulta);


while($row = mysql_fetch_array($resultado)) {
   $id = $row['IdEmpleado'];
   $nombre = $row['Nombre'];
   $cargo = $row['Cargo'];
   $sueldo= $row['Sueldo'];
   $bono = $row['Bonificacion'];

   $igss = $sueldo * 0.0483;
   $liquido = $sueldo + $bonificación - $igss;

   echo "No. $id <br>";
   echo "Nombre $nombre <br>";
   echo "Cargo $cargo <br>";
   echo "Sueldo $sueldo <br>";
   echo "Bonificación $bono <br>";
   echo "IGSS $igss <br>";
   echo "Sueldo Líquido $liquido <br>";
   echo "------------------------<br>";
}

}
?>


Bien, ahora como siempre les dejo el ejemplo para que lo prueben y espero que les sirva mucho.  Hasta la próxima.




Ejemplo: Consultar una tabla de datos

CONSULTAS SQL

Hola como están? espero que muy bien, en esta ocasión voy a trabajar en un programita para que puedan consultar sus tablas de datos desde php y vamos a utilizar instrucciones sql, condiciones if y ciclos for.  La consulta la haremos en base al ejemplo de la entrada anterior (Formulario para guardar datos), recordemos que la base de datos se llama ejemplo y la tabla se llama salarios.

Paso No. 1 - Conectar con el servidor y seleccionar la base de datos.

<?

$db = mysql_connect("localhost", "root", "123456") or die ("No conectó el servidor");

mysql_select_db("ejemplo") or die ("No se puede seleccionar la base de datos ejemplo");

Paso No. 2 - Hacer la consulta

$consulta = "SELECT * FROM salarios";
$resultado = mysql_query($consulta);
$numero_resultados = mysql_num_rows($resultado);

Paso No. 3 - Crear un ciclo con for para recuperar los resultados y mostrarlos.

echo "<h2>Resultados encontrados: </h2>";
for($i=1; $i<=$numero_resultados; $i++) {
   $registros = mysql_fetch_array($resultado);
   $nombre = $registros['Nombre'];
   $cargo = $registros['Cargo'];
   $sueldo = $registros['Sueldo'];
   $bono = $registros['Bonificacion'];

   echo "No. $i <br>";
   echo "Nombre $nombre <br>";
   echo "Nombre $cargo <br>";
   echo "Nombre $sueldo <br>";
   echo "Nombre $bono <br>";
   echo "----------------------------<br><br>";
}

Bueno, ya se que es bastante básico, pero les aseguro que si logran entenderlo les será de mucha utilidad, en la próxima oportunidad veremos como hacer una consulta utilizando formularios, siempre les dejo el ejemplo para que lo vean, solamente hagan clic en el botón Mostrar Datos.  Hasta pronto.


Ejemplo de Formulario: Capturar y guardar datos

FORMULARIO, PHP Y MYSQL

Hola que tal, les deseo un buen día.  Hoy vamos a escribir un programita que nos permitirá capturar datos (Nombre, Cargo, Sueldo y Bonificación) y luego los guardará en una base de datos, debo aclarar que en este programa voy a escribir la instrucción que permitirá crear esta base de datos en caso de que no exista.

Paso No. 1 - Usamos la sentencia if para mostrar el formulario.

<?
if(!$_POST) {
?>

Paso No. 2 - Hacemos el formulario en HTML

<form action="<? $_POST ?>" method=POST>
   Nombre: <input type=text name=nombre required /><br>
   Cargo: <input type=text name=cargo required /><br>
   Sueldo: <input type=text name=sueldo required /><br>
   Bonificación: <input type=text name=bono required /><br>
   <input type=submit value=Procesar />
</form>

Paso No. 3 - Asignación de variables con los datos del formulario.

<?
} else {
$nombre = $_POST['nombre'];
$cargo= $_POST['cargo'];
$sueldo= $_POST['sueldo'];
$bono = $_POST['bono'];

Paso No. 4 - Conectamos con el servidor y seleccionamos la base de datos (en este caso nuestra base de datos se llamará ejemplo y la tabla salarios.)

$db = mysql_connect("localhost", "root", "123456") or die ("No conectó con el servidor");

mysql_select_db("ejemplo") or die ("No se pudo seleccionar la base de datos ejemplo");

Paso No. 5 - Verificamos que la tabla salarios exista en la base y si no la creamos.


$tabla =  mysql_list_tables("ejemplo");
   $num_tabla = mysql_num_rows($tabla);
   $existe = "NO";
   
   for ($i=0; $i<$num_tabla; $i++) {
      if (mysql_tablename($tabla, $i) == "salarios") {
         $existe = "SI" ;
      }
   }
   if ($existe == "NO") {
      $tabla_nueva = "CREATE TABLE salarios (IdEmpleado INT(3) NOT NULL 
      AUTO_INCREMENT PRIMARY KEY, Nombre VARCHAR(35), Cargo VARCHAR(20), 
      Sueldo DOUBLE(6,2), Bonificacion DOUBLE(6,2), UNIQUE (IdEmpleado))";
      mysql_query($tabla_nueva);
   }

Paso No. 6 - Insertamos los datos en la tabla.

$insertar = "INSERT INTO salarios (Nombre, Cargo, Sueldo, Bonificacion) VALUES (
'$nombre', '$cargo', '$sueldo', '$bono')";
$resultado = mysql_query($insertar);

Paso No. 7 - Confirmamos que los datos hayan sido insertados y luego los mostramos.

if(!$resultado) {
   echo "No se guardaron datos, vuelva a intentarlo más tarde";
} else {
   echo "$nombre <br>$cargo <br>$sueldo <br>$bono<br>Los datos fueron guardados con 
   éxito";
}
}
?>

Eso es todo, como siempre les dejo el ejemplo para que lo prueben y deseo que todo salga bien. Hasta la próxima.



Ejemplo de formulario: Fecha de nacimiento

FORMULARIOS Y PHP

Hola que tal, una vez más vamos a adentrarnos en la programación de PHP y en esta ocasión haremos un ejemplo de un formulario que solicite el nombre de una persona, presente las opciones para que el usuario ingrese el día, mes y año en que nació.  Para esto vamos a utilizar las sentencias if, for, switch y los formularios de html.

Paso No. 1 - Usamos el condicional if para mostrar el formulario y luego procesarlo.

<?
if(!$_POST) {
?>

Paso No. 2 - Escribimos el código de formulario y los campos dia, mes y año los procesamos con un ciclo for.

<form action="<? $_POST ?>" method=POST >
   Nombre: <input type=text required name=nombre /><br>
   Fecha de Nacimiento: <br>
   Día: <select name=dia>
      <?
      for($i=1; $i<=31; $i++) {
         echo "<option value=$i>$i</option>";
      }
      ?>
   </select> 
   Mes: <select name=mes>
      <?
      for($i=1; $i<=12; $i++) {
         echo "<option value=$i>$i</option>";
      }
      ?>
   </select>
   Año: <select name=anio>
      <?
      for($i=1960; $i<=2013; $i++) {
         echo "<option value=$i>$i</option>";
      }
      ?>
   </select><br>
   <input type=submit value=Mostrar>
</form>

Paso No. 3 - Asignamos a nuestras variable de php el valor de cada uno de los campos del formulario.

<?
} else {
$nombre = $_POST['nombre'];
$dia= $_POST['dia'];
$mes = $_POST['mes'];
$anio = $_POST['anio'];

Paso No. 4 - Ahora convertiremos los meses de número a texto.

switch($mes) {
   case 1:
      $mestexto = "enero";
      break;
    case 2:
      $mestexto = "febrero";
      break;
    case 3:
      $mestexto = "marzo";
      break;
    case 4:
      $mestexto = "abril";
      break;
    case 5:
      $mestexto = "mayo";
      break;
    case 6:
      $mestexto = "junio";
      break;
    case 7:
      $mestexto = "julio";
      break;
    case 8:
      $mestexto = "agosto";
      break;
    case 9:
      $mestexto = "septiembre";
      break;
    case 10:
      $mestexto = "octubre";
      break;
    case 11:
      $mestexto = "noviembre";
      break;
    case 12:
      $mestexto = "diciembre";
      break;
}

Paso No. 5 - Mostramos los resultados

echo "$nombre usted nació el $dia de $mestexto de $anio";
}
?>

Bien eso es todo espero que al ejecutarlo no les de ningún problema.  Siempre le dejo un ejemplo del funcionamiento aquí.


sábado, 28 de julio de 2012

Función Mail()

Enviar correo con un formulario desde PHP

Respondiendo a la inquietud que presentaron en clase mis estudiantes en clase les dejo un pequeño escript que les permitirá enviar información que capturen en un formulario html hacia un correo electrónico (hotmail o gmail).

Para comenzar el script es un php, pero lo trabajaremos de la siguiente manera:

Escribimos el código dentro las etiquetas <body> y </body>.  En este caso iniciamos con la creación de una tabla (la tabla aportará orden a nuestro formulario).
 
<body>
<table width="100%" height="100%" border="0" align="center" cellspacing="0">
  <tr>
    <td>



Luego iniciamos con la etiqueta <form> y la configuramos de la siguiente manera:

    <form action="<? $HTTP_POST_VARS ?>" method="post">


Ahora iniciamos php, este código evaluará si el formulario contiene o no datos, en caso que no contenga mostrará el formulario.

    <?
            if (!$HTTP_POST_VARS){
        ?>


Escribimos el formulario dentro de otra tabla para que se vea más bonito:

        <h1 align="center" class="titulo1">Envíenos un correo</h1>
      <table width="542" border="0" align="center">
      <tr>
        <th width="480" class="Estilo20" scope="row">
            <div align="right">
              Nombre:
              <input name="nombre" type="text" size="40" />
              <br />
              Email:
              <input name="email" type="text" size="40" />
              <br />
              Asunto:
              <input name="asunto" type="text" size="40" />
              <br />
              Comentarios:
              <textarea name="comentario" cols="40" rows="10"></textarea>
              <br />
              <input name="submit" type="submit" value="Enviar correo" />
            </div>
        </form>
        <div align="center" class="Estilo2"><br />
Los comentarios enviados serán recibidos directamente en mi correo y te responderé en cuanto pueda.</div>



Después del formulario volvemos a abrir php y en este espacio contruimos el cuerpo del correo electrónico usando los datos del formulario:

        <?
            }
            else {
            //Estoy recibiendo el formulario, compongo el cuerpo
            $cuerpo = "
Correo enviado desde mi sitio web\n";
            $cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
            $cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
            $cuerpo .= "Asunto: " . $HTTP_POST_VARS["asunto"] . "\n";
            $cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentario"] . "\n";
        


Por ultimo envío el correo doy las gracias y cierro todas las etiquetas que antes había abierto:

            mail("limacruzjuancarlos@hotmail.com","Formulario recibido desde mi sitio web",$cuerpo);
            echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
        }
        ?>

        </th>
  </tr>
</table>
    </td>
  </tr>
</table>
</body>


Bien eso es todo, solamente debo aclarar que la función mail() funcionará unicamente en un servidor en línea y no en una de prueba.  Como siempre les dejo el código completo para que lo prueben y lo mejoren.

<body>
<table width="100%" height="100%" border="0" align="center" cellspacing="0">
  <tr>
    <td>
    <form action="<? $HTTP_POST_VARS ?>" method="post">
    <?
            if (!$HTTP_POST_VARS){
    ?>
     <h1 align="center" class="titulo1">Envíenos un correo</h1>
     <table width="542" border="0" align="center">
     <tr>
        <th width="480" class="Estilo20" scope="row">

            <form action="libro_vis2.php" method="post">
            <div align="right">
              Nombre:<input name="nombre" type="text" size="40" />
              <br />
              Email: <input name="email" type="text" size="40" />
              <br />
              Asunto:<input name="asunto" type="text" size="40" />
              <br />
              Comentarios:<textarea name="comentario" cols="40" rows="10"></textarea>
              <br />
              <input name="submit" type="submit" value="Enviar correo" />
            </div>
        </form>
        <div align="center" class="Estilo2"><br />
Los comentarios enviados serán recibidos directamente en mi correo y te responderé en cuanto pueda.</div>
        <?
            }
            else {
            //Estoy recibiendo el formulario, compongo el cuerpo
            $cuerpo = "Correo enviado desde mi sitio web\n";
            $cuerpo .= "Nombre: " . $HTTP_POST_VARS["nombre"] . "\n";
            $cuerpo .= "Email: " . $HTTP_POST_VARS["email"] . "\n";
            $cuerpo .= "Asunto: " . $HTTP_POST_VARS["asunto"] . "\n";
            $cuerpo .= "Comentarios: " . $HTTP_POST_VARS["comentario"] . "\n";
       
            //mando el correo...
            mail("limacruzjuancarlos@hotmail.com","Formulario recibido desde mi sitio web",$cuerpo);
       
            //doy las gracias por el envío
            echo "Gracias por rellenar el formulario. Se ha enviado correctamente.";
        }
        ?>

        </th>
  </tr>
</table>
    </td>
  </tr>
</table>
</body>


Aquí un ejemplo del formulario, envíame un comentario.