lunes, 11 de junio de 2007

Examen Final - 4ta Unidad - Pregunta 5

Para crear la tabla:
mysql -u root -p
CREATE DATABASE prueba;
USE prueba;
CREATE TABLE productos (pro_cod int primary key auto_increment, pro_des varchar(30), pro_pre, float(7,2), pro_stk int);
La página php:
<?php
 $cn=mysql_connect("localhost","root","root");
 mysql_select_db($cn);
 $rs=mysql_query("SELECT * FROM productos 
      WHERE pro_pre>10 and pro_stk<100");
?>
<table>
 <tr><th>Nombre<th><th>Precio<th><th>Stock<th></tr>
 <?php while($f=mysql_fetch_array($rs)) { ?>
  <tr>
   <td><?php echo $f['pro_des'] ?></td>
   <td><?php echo $f['pro_pre'] ?></td>
   <td><?php echo $f['pro_stk'] ?></td>
  </tr>
 <?php } ?>
</table>

Examen Final - 4ta Unidad - Pregunta 4

Cree una página que permita establecer un valor como nombre de usuario, color de fondo de pantalla o color de texto, en una variable de sesión; y otra página que haga efectivo la configuración
<?php
 session_start();
 $_SESSION['nombre'] = $_POST['nombre'];
?>
<form method="post">
 Nombre <input type="text" name="nombre" />
 <input type="submit" value="Enviar" />
</form>
La página que hace uso de la variable de sesión sería:
<?php
 session_start();
 echo "Hola ".$_SESSION['nombre'];
?>

Examen Final - 4ta Unidad - Pregunta 3

Cree una clase que permita escribir y leer de una cookie, pasándole en el constructor el nombre de la cookie.
<?php
 class galleta {
  var $nombre="";

  function galleta($nombre) {
   $this->nombre = $nombre;
  }

  function escribirGalleta($valor) {
   setcookie($this->nombre,$valor,time()+1000000);
  }

  function leerGalleta() {
   return isset($_COOKIE[$this->nombre])?$_COOKIE[$this->nombre]:"";
  }
 }
 
 //-- Usando galleta
 $color = new galleta("color");
 $color->escribirGalleta("#0000FF");
?>
<body bgcolor="<?php echo $color->leerGalleta(); ?>">
</body>

sábado, 9 de junio de 2007

Examen Final - 4ta Unidad - Pregunta 2

Envíe un archivo al servidor, pero de la opción al usuario de poner el nombre con el que se guardará.
El código html es:
<form method="post" enctype="multipart/form-data">
 Archivo: <input type="file" name="archivo" /><br />
 Nombre: <input type="text" name="nombre" /><br />
 <input type="submit" value="Enviar" />
</form>
El código php es:
<?php
if (isset($_FILES['archivo'])) {
 $origen = $_FILES['archivo']['tmp_name'];
 if (is_uploaded_file($origen))
  move_uploaded_file($origen, $_POST['nombre']);
}
?>

Examen Final - 4ta Unidad - Pregunta 1

Imprima el contenido de un archivo de texto, indicando los número de línea.
$lineas = file("terminar.php");
foreach($lineas as $lin) echo ++$i." ".$lin."<br>";
La función file, abre un archivo de texto, lee cada línea y lo pone en cada elemento del array y luego cierra el archivo. Recorremos el array a través de foreach para escribir la línea pero agregándole el valor de un contador ($i) en cada línea.

martes, 5 de junio de 2007

Dando la opción de editar los datos de usuario

Ahora vamos a ver como se puede editar los datos de un usuario con el método secuencial:
  1. Primero vamos a crear la columna 'Editar' de forma análoga al de 'Eliminar'.
  2. Implementamos la función javascript editar, de forma análoga al de 'eliminar', pero le agregamos una línea para establecer la página de edición editar.php.
  3. Creamos la página de edición editar.php, y ponemos el mismo código de conexión.
  4. Consulta al usuario que tiene el código enviado por POST.
  5. Para probar hacemos un echo del campo nombre:
    $rs=mysql_query("SELECT * FROM usuarios WHERE codigo='$_POST[codigo]'",$cn);
    $fila = mysql_fetch_array($rs);
    echo $fila['nombre'];
  6. Ahora implementamos el formulario que es parecido al del primer archivo, sólo que le establecemos el action al form, el value al input text operacion, el value al input text codigo, el value al input text nombre y el value al select tipo por medio de javascript:
    <script>document.getElementById('tipo').value="<?php echo $fila['tipo'] ?>"</script>
  7. Ahora pasamos al primer archivo e implementamos el código necesario para actualizar registro, utilizamos una analogía de eliminar:
    if(isset($_POST['operacion']) && $_POST['operacion']=='D') mysql_query("update usuarios set nombre='$_POST[nombre]', tipo='$_POST[tipo]' where codigo=$_POST[codigo]");

Tabla con Scroll

En algunas ocasiones queremos que la información se limite a un sector, de forma que no mueva los demás controles. Es necesario utilizar un contenedor tal como el div de modo que si su contenido sobrepasa su límite, aparezcan de forma automática un scroll (barras de desplazamiento):
  1. Dividimos la tabla en dos parte: una que sólo contenga la cabecera y la otra que contenga el detalle.
  2. Ponemos un ancho fijo a las columnas de las tablas:
    <tr bgcolor="#FFCCCC"><th width="60px">Código</th><th width="170px">Nombre</th><th width="50px">Tipo</th><th width="60px">Eliminar</th></tr>
  3. Encerramos la tabla de abajo en un div.
  4. Ponemos borde al div por medio de estilos: border:solid;border-width:1px
  5. Establecemos una altura para el div: height
  6. Establecemos el modo de presentación de contenido: overflow, probamos todos sus valores.
  7. Damos un ancho adecuado al div por medio de width.