PRACTICAS DE PHP Y MYSQL PARTE II 1) Actualización de Registro de productos, con validación de datos y uso de una librería para realizar la conexión de datos. Estructura de la base de Datos Act_producto.php <?php include('Milibreria.php'); ?> <html> <head> <?php // esta funcion retorna 0 si hay un error de entrada , sino retorna 1 function validar ( $cod , $nom ) { $error = 1; if ( $cod == "" ) {$error = 0; echo "<br> El Codigo esta en blanco "; } if ( $nom == "" ) { $error = 0; echo "<br> El Nombre esta en blanco "; } return($error); } ?> </head> <body> <?php $con = conectar(); //---- limpiar las variables $cod = ""; $nom=""; //---- Buscar if ( isset($_POST['btbus']) ) // si se pulso el boton de busqueda { $cod = $_POST['codpro']; $sql = "select * from producto where codpro = '$cod' limit 1 "; $resultado = mysql_query($sql,$con); if ( $vector = mysql_fetch_array($resultado) ) { $cod = $vector['codpro']; $nom = $vector['nompro']; } else { echo "NO EXISTE EL CODIGO "; } echo $sql; echo "<br> resultado ( $resultado )"; } //---- insertar if ( isset($_POST['btins']) ) // si se pulso en boton de insercion { $cod = $_POST['codpro']; $nom = $_POST['nompro']; if ( validar( $cod , $nom ) == 1 ) { $sql = "insert into producto (codpro,nompro) values ('$cod','$nom')"; $resultado = mysql_query($sql,$con); echo $sql; echo "<br> resultado ( $resultado )"; } } //-- Modificar if ( isset($_POST['btmod']) ) { $cod = $_POST['codpro']; $nom = $_POST['nompro']; if ( validar( $cod , $nom ) == 1 ) { $sql = "UPDATE producto SET nompro = '$nom' WHERE codpro = '$cod' "; $resultado = mysql_query($sql,$con); echo $sql; echo "<br> resultado ( $resultado )"; } } //-- Eliminar if ( isset($_POST['bteli']) ) { $cod = $_POST['codpro']; $sql = "delete from producto where codpro = '$cod' limit 1 "; $resultado = mysql_query($sql,$con); echo $sql; echo "<br> resultado ( $resultado )"; } ?> <h3>Actualizar Registros</h3> <form action="act_producto.php" method="post"> Codigo : <input type="text" name="codpro" value="<?php echo $cod; ?>"><br> Descripcion : <input type="text" name="nompro" value="<?php echo $nom; ?>" size="60"><br> <input type="submit" name="btbus" value="Buscar"> <input type="submit" name="btins" value="Insertar"> <input type="submit" name="btcon" value="Examinar"> <input type="submit" name="btmod" value="Modificar"> <input type="submit" name="bteli" value="Eliminar"> <input type="submit" name="btlim" value="Limpiar"> </form> <?php if ( isset($_POST['btcon']) ) // si se pulso en boton de consulta { $sql = "select * from producto order by nompro"; $resultado = mysql_query($sql,$con); echo "<table border='1'>"; echo "<tr><td>Codigo</td><td>Nombre</td></tr>"; while ( $vector = mysql_fetch_array($resultado) ) { $cod = $vector['codpro']; $nom = $vector['nompro']; echo "<tr>"; echo "<td> $cod </td>"; echo "<td> $nom </td>"; echo "</tr>"; } mysql_free_result($resultado); // libera de memoria la tabla de resultados } mysql_close($con); ?> </body> </html> Milibreria.php <?php function conectar() { $conex = mysql_connect("localhost","root",""); mysql_select_db("in2b"); return( $conex ); } ?> 2) Programa para examinar una tabla con gran cantidad de registros, incorporando la clausula LIKE , con paginación de registros y librería de conexión mejorada. Estructura de la base de datos: libreria.php <?php function conectar() { $con = mysql_connect("localhost","root",""); if ( ! $con ) { die("Error de Conexion con el Servidor o Usuario[$con] ... "); } else { if ( mysql_select_db("in2b") != 1 ) { die("Error de Conexion con la Base de Datos... "); } } return( $con ); } ?> Exa_enlace.php <html> <body> <?php include('libreria.php'); $con = conectar(); $busca = $_POST['busca']; ?> <h2>Actualizacion de Usuarios</h2> <form action="edi_enlace.php" method="post"> <input type="Submit" value="Nuevo"> </form> <form action="exa_enlace.php" method="post"> Palabra Clave : <input type="text" name="busca" value ="<?php echo $busca; ?>"> <input type="submit" name="btbusca" value = "Busqueda"><br> <input type="submit" name="btini" value = "Inicio"> <input type="submit" name="btsig" value = "Siguiente"> <input type="submit" name="btatr" value = "Atras"> <input type="submit" name="btfin" value = "Fin"> <?php $max= 10; // maximo numero de registros x pagina //---- Calculando rango de la consulta $sql = "SELECT count(*) as totalreg FROM usuarios "; $resultado = mysql_query($sql,$con); $vector = mysql_fetch_array($resultado); $totalreg = $vector['totalreg']; if ( isset($_POST['pag']) ) $pag = $_POST['pag']; else $pag = 0; if ( isset($_POST['btsig']) ) // avanza a la siguienta pagina $pag = $pag + $max; if ( isset($_POST['btatr']) ) // retrocede la pagina $pag = $pag - $max; if ( isset($_POST['btini']) ) // va al inicio $pag = 0; if ( isset($_POST['btfin']) ) // llega al final $pag = $totalreg - $max; if ( $pag < 0 ) $pag = 0; // si retrocede de forma incorrecta inicia en el primer registro // muestra los rangos de pagina de la consulta y los botones de navegacion echo "<br> Desde <input type='text' name='pag' value='$pag' size='6'>"; echo "Hasta <input type='text' name='max' value='$max' size='6'>"; echo "Total <input type='text' name='totalreg' value='$totalreg' size='6' readonly=''>"; // Generando la cadena de busqueda segun el rango de busqueda if ( !isset($_POST['busca']) ) { $sql = "SELECT * FROM usuarios order by nombre limit $pag , $max "; } else { $sql = "SELECT * FROM usuarios where ( nombre like '%$busca%' or codigo like '%$busca%' ) order by nombre limit $pag , $max "; // like %valor% permite filtrar por una palabra clave dentro de un campo } echo "<br>".$sql; $resultado = mysql_query($sql,$con); // Muestra la consulta en formato tipo tabla echo "<table border='1'>"; echo "<tr align='center'><td>Codigo</td><td>Nombre</td><td>Email</td></tr>"; while ( $vector = mysql_fetch_array($resultado) ) { $cod = $vector['codigo']; $nom = $vector['nombre']; $ema = $vector['email']; echo "<tr>"; echo "<td> $cod </td>"; echo "<td> $nom </td>"; echo "<td> $ema </td>"; echo "<td><a href='edi_enlace.php?btbus=1&codigo=$cod'> Modificar </td>"; echo "</tr>"; } mysql_free_result($resultado); // libera de memoria la tabla de resultados mysql_close($con); ?> </form> </body> </html> edi_enlace.php <html> <head> <?php // funcion para cargar los datos de un vector de busqueda o POST a las variables de trabajo function cargar_form( &$cod,&$nom,&$ema,$vector ) { $cod = $vector['codigo']; $nom = $vector['nombre']; $ema = $vector['email']; } // funcion para validar las variables a incluir o modificar en cada tabla 1=Correcto 0=Datos Incorrectos function validar_form( $cod,$nom,$ema ) { $sinerror = 1; // esta variable cambia a 0 cuando hay algun dato incorrecto if ( empty($cod) ) {echo "<br>Error el Codigo esta Vacio "; $sinerror = 0;} if ( empty($nom) ) {echo "<br>Error el Nombre esta Vacio "; $sinerror = 0;} return($sinerror); } ?> </head> <body> <?php include('libreria.php'); $con = conectar(); //--------------------------------------------------------------// limpia las variables $cod = ""; $nom = ""; $ema = ""; if ( isset($_REQUEST['btbus']) ) // si se pulso el boton de busqueda { $cod = $_REQUEST['codigo']; $sql = "select * from usuarios where codigo = '$cod' "; $resultado = mysql_query($sql,$con); if ( $vector = mysql_fetch_array($resultado) ) { cargar_form($cod,$nom,$ema,$vector); } else { echo "NO EXISTE EL CODIGO "; } echo $sql; echo "<br> resultado ( $resultado )"; } //--------------------------------------------------------------// si se pulso en boton de insertar if ( isset($_POST['btins']) ) { cargar_form($cod,$nom,$ema,$_POST); if ( validar_form($cod,$nom,$ema) == 1 ) // si los datos son correctos { $sql = "insert into usuarios (codigo,nombre,email) values ('$cod','$nom','$ema')"; $resultado = mysql_query($sql,$con); echo $sql; echo "<br> resultado ( $resultado )"; } } // si se pulso el boton modificar if ( isset($_POST['btmod']) ) { cargar_form($cod,$tit,$enl,$_POST); if ( validar_form($cod,$nom,$ema) == 1 ) // si los datos son correctos { $sql = "UPDATE usuarios SET nombre = '$tit' , email = '$enl' WHERE codigo = '$cod' "; $resultado = mysql_query($sql,$con); echo $sql; echo "<br> resultado ( $resultado )"; } } // Si se Pulso Eliminar if ( isset($_POST['bteli']) ) { cargar_form($cod,$tit,$ema,$_POST); $sql = "DELETE FROM usuarios WHERE codigo = '$cod' LIMIT 1"; $resultado = mysql_query($sql,$con); echo $sql; echo "<br> resultado ( $resultado )"; } mysql_close($con); ?> <h2>Modificacion de Registros</h2> <form action="exa_enlace.php"> <input type="submit" value="Examinar"> </form> <form action="edi_enlace.php" method="post"> Codigo : <input type="text" name="codigo" value="<? echo $cod; ?>" ><br> Nombre : <input type="text" name="nombre" size="60" value="<? echo $nom; ?>"><br> Email : <input type="text" name="email" size="60" value="<? echo $ema; ?>"><br><br> <input type="submit" name="btbus" value="Buscar"> <input type="submit" name="btins" value="Insertar"> <input type="submit" name="btmod" value="Modificar"> <input type="submit" name="bteli" value="Eliminar"> <input type="submit" name="btlim" value="Limpiar"> </form> </body> </html> 3) Programa que pide el código y clave de usuario para dar acceso a un sistema Estructura de la base de datos: Entrada.php <html> <head> </head> <body> <?php include('libreria.php'); $con = conectar(); ?> <p align='center'> ENTRADA AL SISTEMA </p> <form action="entrada.php" method="post"> <table border="1" align="center"> <tr><td>Codigo :</td> <td><input type="text" name="codigo"></td> </tr> <tr><td>Clave :</td> <td><input type="password" name="clave" ></td></tr> <tr><td><input type="submit" name="btbus" value="Buscar"></td> </tr> </table> </form> <p align='center'> <?php if ( isset($_POST['btbus']) ) // si se pulso el boton de busqueda { $cod = $_POST['codigo']; $clave = $_POST['codigo']; $sql = "select * from usuarios where codigo = '$cod' "; $resultado = mysql_query($sql,$con); // Si existe el usuario le da la bienvenida al sistema con acceso al menu principal if ( $vector = mysql_fetch_array($resultado) ) { echo "<a href='menu.htm'>Bienvenido ".$vector['nombre']." al Sistema , Pulse Click para Entrar</a> "; } else { echo "LA CLAVE DE USUARIO ES INVALIDA "; } echo "<br> resultado ( $resultado )"; } mysql_close($con); ?> </p> </body> </html>