Paginación
En la siguiente imagen se puede ver un ejemplo de cómo funcionaría la paginación de registros.
Tenemos 10 contactos en la base de datos y quiero mostrarlos de 3 en 3.
La página inicial es paginacion.php
Utilizo la variable $_GET[‘pos’] para obtener el inicio de mi página. Si no está la variable especificada, le asigno 0.
En la primera página Anteriores no debe ser un enlace, simplemente debe ser texto.
En la última página Siguientes no debe ser un enlace, simplemente debe ser texto.
Ejercicio Agenda
Este sitio va a tener varias páginas. Vamos a ir desarrollando una a una.
Hemos creado una BD llamada «agenda» con una tabla llamada «agenda» que tiene la siguiente estructura:
LISTADOAGENDA.PHP
El código fuente de este fichero es:
<html> <head> <link rel="stylesheet" type="text/css" href="agenda.css"> </head> <body> <h1>Todos mis contactos</h1> <table> <tr> <th>NOMBRE</th><th>DIRECCIÓN</th><th>TELÉFONO</th><th>EMAIL</th> </tr> <?php // Conectar con el Servidor $link = mysql_connect("localhost", "root", "acrear2012") or die ("No puedo conectarme con el servidor"); // Usar la BD mysql_select_db("agenda",$link) or die ("No puedo abrir la BD"); // Hacer la consulta $consulta= "SELECT * FROM agenda"; $resultado = mysql_query($consulta, $link) or die ("No puedo ejecutar la consulta"); // Voy leyendo fila a fila $i=0; while ($fila = mysql_fetch_array($resultado)){ if ($i%2==0){ echo "<tr>"; } else{ echo "<tr id='naranja'>"; } $i++; // Celda del Nombre completo = Nombre + Apellido1 + Apellido2 echo "<td>".$fila['nombre']." ".$fila['apellido1']." ".$fila['apellido2']."</td>"; // Celda de la dirección echo "<td>".$fila['direccion']."</td>"; // Celda del teléfono echo "<td>".$fila['telefono']."</td>"; // Celda del email echo "<td>".$fila['email']."</td>"; echo "</tr>\n"; } mysql_close($link); // Cerrar la conexión ?> </table> </body> </html>
FICHERO AGENDA.CSS
h1{ text-align:center; } table{ border-spacing: 0px; border: 1px black solid; margin-left:50px; } td { padding-left:10px; padding-right:10px; } th{ background-color: gray; } #naranja{ background-color: orange; }
Ahora vamos a crear un formulario para insertar un nuevo contacto en la Agenda.
INSERTAAGENDA.HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <link rel="stylesheet" type="text/css" href="agenda.css"> <title>Insertar nuevo contacto</title> </head> <body> <h1>Alta de Contacto:</h1> <form action="insertaagenda.php" method="post"> Nombre: <input type="text" name="nombre"/><br/><br/> Apellidos: <input type="text" name="ap1"/> <input type="text" name="ap2"/><br/><br/> Teléfono: <input type="text" name="telefono"/><br/><br/> e-mail: <input type="text" name="email"/><br/><br/> Dirección: <input type="text" name="direccion"/><br/><br/> Provincia: <input type="text" name="provincia"/><br/><br/> Fecha de Nacimiento: <input type="text" name="fecha"/><br/><br/> <input type="submit" value="Guardar"/> <input type="reset" value="Limpiar"/> </form> </body> </html>
INSERTAAGENDA.PHP
<html> <body> <?php $nombre=$_POST['nombre']; $ap1=$_POST['ap1']; $ap2=$_POST['ap2']; $direccion = $_POST['direccion']; $email=$_POST['email']; $fecha=$_POST['fecha']; $telefono=$_POST['telefono']; $provincia=$_POST['provincia']; //Transformo fecha de DD-MM-YYYY a YYYY-MM-DD $fecha = date_create_from_format('d-m-Y', $fecha); $fechanueva = date_format($fecha, 'Y-m-d'); $link = mysql_connect("localhost", "root", "acrear2012") or die("No he podido conectar con el servidor"); mysql_select_db("agenda",$link) or die("No he podido conectar con la BD"); $sql = "INSERT INTO agenda (nombre, apellido1, apellido2, direccion, telefono, email, fechanacimiento, provincia) ". "VALUES ('$nombre', '$ap1', '$ap2', '$direccion', '$telefono', '$email', '$fechanueva','$provincia')"; $result = mysql_query($sql,$link) or die("No he podido insertar el contacto"); echo "<p>El contacto $nombre $ap1 $ap2 ha sido insertado.</p>\n"; mysql_close($link); ?> </body> </html>
BUSCAAGENDA.PHP
<html> <head><title>Búsqueda de contactos</title></head> <body> <?php if (!isset($_POST['boton'])){ //Primera vez que entra echo " <form action='buscaagenda.php' method='post'> Nombre: <input type='text' name='nombre'/><br/><br/> Apellido: <input type='text' name='apellido'/><br/><br/> <input type='submit' name='boton' value='Buscar'/> <input type='reset' value='Limpiar'/> </form> "; } else{ //Ya había pulsado el botón Buscar // Leo las variables del formulario $nombre=$_POST['nombre']; $apellido1=$_POST['apellido']; // Me conecto con el servidor y la base de datos // y realizo la búsqueda $conexion=mysql_connect("localhost","root","acrear2012") or die("No me puedo conectar con el servidor"); mysql_select_db("agenda",$conexion) or die("No puedo conectar con la BD"); $consulta="SELECT * FROM agenda WHERE nombre='$nombre' and apellido1='$apellido1' "; $resultado=mysql_query($consulta,$conexion); // Muestro los datos resultado de la búsqueda. // Puede ser que encuentre a 0 o más personas, atención a las // distintas posibilidades $numerofilas=mysql_num_rows($resultado); if ($numerofilas==0){ echo "<p>No he encontrado ese contacto: $nombre $apellido1</p>"; } else{ //Hay datos echo " <table> <tr> <th>Nombre</th> <th>Direccion</th> <th>Telefono</th> <th>email</th> <th>Provincia</th> </tr> "; while ($fila=mysql_fetch_array($resultado)){ echo "<tr>"; echo "<td>".$fila['nombre']." ".$fila['apellido1']." ".$fila['apellido2']."</td>"; echo "<td>".$fila['direccion']."</td>"; echo "<td>".$fila['telefono']."</td>"; echo "<td>".$fila['email']."</td>"; echo "<td>".$fila['provincia']."</td>"; echo "</tr>"; } echo "</table>"; } //Cierro la conexión mysql_close($conexion); } ?> </body> </html>
BUSCAAGENDA2.PHP
<html> <head><title>Búsqueda de contactos 2</title> <link rel="stylesheet" type="text/css" href="agenda.css"> </head> <body> <?php if (!isset($_POST['boton'])){ //Primera vez que entra echo " <form action='buscaagenda2.php' method='post'> Nombre: <input type='text' name='nombre'/><br/><br/> Apellido: <input type='text' name='apellido'/><br/><br/> <input type='submit' name='boton' value='Buscar'/> <input type='reset' value='Limpiar'/> </form> "; } else{ //Ya había pulsado el botón Buscar // Leo las variables del formulario $nombre=$_POST['nombre']; $apellido1=$_POST['apellido']; // Me conecto con el servidor y la base de datos // y realizo la búsqueda $conexion=mysql_connect("localhost","root","acrear2012") or die("No me puedo conectar con el servidor"); mysql_select_db("agenda",$conexion) or die("No puedo conectar con la BD"); $consulta="SELECT * FROM agenda WHERE nombre='$nombre' and apellido1='$apellido1' "; $resultado=mysql_query($consulta,$conexion); // Muestro los datos resultado de la búsqueda. // Puede ser que encuentre a 0 o más personas, atención a las // distintas posibilidades $numerofilas=mysql_num_rows($resultado); if ($numerofilas==0){ echo "<p>No he encontrado ese contacto: $nombre $apellido1</p>"; } else{ //Hay datos $fila=mysql_fetch_array($resultado); echo "<h2>Contacto Encontrado</h2>\n"; echo "<p>El nombre es "; echo $fila['nombre']." ".$fila['apellido1']." ".$fila['apellido2']; echo ", vive en ".$fila['direccion'].", nació el ".$fila['fechanacimiento']; echo ", su número de teléfono es <span id='negrita'>".$fila['telefono']; echo "</span> y su dirección de correo es "; echo "<a href='mailto:".$fila['email']."'>".$fila['email']."</a>.</p>"; echo "<p>Vive en la provincia de ".$fila['provincia'].".</p>"; if (mysql_fetch_array($resultado)){ echo "<h5>ATENCIÓN: Hay más contactos que coinciden con el criterio de búsqueda.</h5>"; } } //Cierro la conexión mysql_close($conexion); } ?> </body> </html>
BUSCAAGENDA3.PHP
Igual que el anterior pero presentando los datos en un formulario de controles TEXT de solo lectura.
<html> <head><title>Búsqueda de contactos 2</title> <link rel="stylesheet" type="text/css" href="agenda.css"> </head> <body> <?php if (!isset($_POST['boton'])){ //Primera vez que entra echo " <form action='buscaagenda3.php' method='post'> Nombre: <input type='text' name='nombre'/><br/><br/> Apellido: <input type='text' name='apellido'/><br/><br/> <input type='submit' name='boton' value='Buscar'/> <input type='reset' value='Limpiar'/> </form> "; } else{ //Ya había pulsado el botón Buscar // Leo las variables del formulario $nombre=$_POST['nombre']; $apellido1=$_POST['apellido']; // Me conecto con el servidor y la base de datos // y realizo la búsqueda $conexion=mysql_connect("localhost","root","acrear2012") or die("No me puedo conectar con el servidor"); mysql_select_db("agenda",$conexion) or die("No puedo conectar con la BD"); $consulta="SELECT * FROM agenda WHERE nombre='$nombre' and apellido1='$apellido1' "; $resultado=mysql_query($consulta,$conexion); // Muestro los datos resultado de la búsqueda. // Puede ser que encuentre a 0 o más personas, atención a las // distintas posibilidades $numerofilas=mysql_num_rows($resultado); if ($numerofilas==0){ echo "<p>No he encontrado ese contacto: $nombre $apellido1</p>"; } else{ //Hay datos $fila=mysql_fetch_array($resultado); echo ' <form> Nombre: <input type="text" value="'.$fila['nombre'].'" readonly/><br/><br/> Apellidos: <input type="text" value="'.$fila['apellido1'].'" readonly/> <input type="text" value="'.$fila['apellido2'].'" readonly/><br/><br/>'; echo "Dirección: <input type='text' value='".$fila['direccion']."' readonly/><br/><br/>"; echo "email: <input type='text' value='".$fila['email']."' readonly/><br/><br/>"; echo "Provincia: <input type='text' value='".$fila['provincia']."' readonly/><br/><br/>"; $fecha=strftime("%d/%m/%Y",strtotime($fila['fechanacimiento'])); echo "Fecha de nacimiento: <input type='text' value='$fecha' readonly/><br/><br/>"; echo "</form>\n"; } //Cierro la conexión mysql_close($conexion); } ?> </body> </html>
BORRAAGENDA.PHP
Debe aparecer un formulario de búsqueda con los campos Nombre y Apellido.
Cuando el usuario rellene el formulario y pulse el botón de borrar, busca en la BD, si encuentra el contacto, lo muestra en un formulario y le pide al usuario confirmación.
Si el usuario pulsa el botón Confirma, aparecerá un mensaje confirmando el borrado.
<html> <head> </head> <body> <?php // La primera vez que entro if (!isset($_POST['botonborra']) and !isset($_POST['botonconfirma'])){ echo " <form action='borraagenda.php' method='post'> Nombre: <input type='text' name='nombre'/><br/><br/> Apellido: <input type='text' name='apellido'/><br/><br/> <input type='submit' name='botonborra' value='Borrar contacto'/> <input type='reset' value='Limpiar'/> </form> "; } else{ // Había pulsado ya el botón de Borrar del primer formulario if (!isset($_POST['botonconfirma'])){ //Estoy en la fase 2. Debo Mostrar el formulario para confirmar el borrado $nombre=$_POST['nombre']; $apellido1=$_POST['apellido']; $link=mysql_connect("localhost","root","acrear2012") or die("No puedo conectar con el servidor"); mysql_select_db("agenda",$link) or die("No puedo conectar con la BD"); $consulta="SELECT * FROM agenda WHERE nombre='$nombre' and apellido1='$apellido1'"; $result=mysql_query($consulta,$link); if (mysql_num_rows($result)==0){ //Contacto no encontrado echo "<h2>No he encontrado el contacto para borrar</h2>"; } else{ $fila=mysql_fetch_array($result); echo "<form action='borraagenda.php' method='post'> Nombre: <input type='text' name='nombre' value='".$fila['nombre']."' readonly/><br/><br/>"; echo "Apellidos: <input type='text' name='apellido1' value='" .$fila['apellido1']."' readonly/><br/><br/>"; echo "<input type='text' name='apellido2' value='".$fila['apellido2']."' readonly/><br/><br/>"; echo "Direccion: <input type='text' name='direccion' value='".$fila['direccion']."' readonly/><br/><br/>"; echo "<input type='hidden' name='idcontacto' value=".$fila['id']." />"; echo " <input type='submit' name='botonconfirma' value='Confirma borrado'/> "; echo "</form>"; } mysql_close($link); } else{ // Si estoy en la fase 3. He pulsado el botón de Confirmar $identificador=$_POST['idcontacto']; $link=mysql_connect("localhost","root","acrear2012") or die("No puedo conectar con el servidor"); mysql_select_db("agenda",$link) or die("No puedo conectar con la BD"); $consulta="DELETE FROM agenda WHERE id=".$identificador; $result=mysql_query($consulta,$link) or die("No he podido borrar el contacto"); echo "<h2>Contacto Borrado</h2>"; mysql_close($link); } } ?> </body> </html>
PAGINACIÓN DE REGISTROS
<?php if (isset($_GET['pos'])) $inicio=$_GET['pos']; else $inicio=0; ?> <html> <head> <link rel="stylesheet" type="text/css" href="agenda.css"> </head> <body> <h1>Todos mis contactos</h1> <table> <tr> <th>NOMBRE</th><th>DIRECCIÓN</th><th>TELÉFONO</th><th>EMAIL</th> </tr> <?php $num_elem=6; // Conectar con el Servidor $link = mysql_connect("localhost", "root", "acrear2012") or die ("No puedo conectarme con el servidor"); // Usar la BD mysql_select_db("agenda",$link) or die ("No puedo abrir la BD"); // Hacer la consulta $consulta= "SELECT * FROM agenda limit $inicio,$num_elem"; $resultado = mysql_query($consulta, $link) or die ("No puedo ejecutar la consulta"); // Voy leyendo fila a fila $i=0; $impresos=0; while ($fila = mysql_fetch_array($resultado)){ $impresos++; if ($i%2==0){ echo "<tr>"; } else{ echo "<tr id='naranja'>"; } $i++; // Celda del Nombre completo = Nombre + Apellido1 + Apellido2 echo "<td>".$fila['nombre']." ".$fila['apellido1']." ".$fila['apellido2']."</td>"; // Celda de la dirección echo "<td>".$fila['direccion']."</td>"; // Celda del teléfono echo "<td>".$fila['telefono']."</td>"; // Celda del email echo "<td>".$fila['email']."</td>"; echo "</tr>\n"; } $consultatam="SELECT count(*) as tam from agenda"; $resultadotam = mysql_query($consultatam, $link) or die ("No puedo ejecutar la consulta"); $filatam = mysql_fetch_array($resultadotam); $tam=$filatam['tam']; // $tam tiene el número de registros de AGENDA mysql_close($link); // Cerrar la conexión echo "</table>"; if ($inicio==0){ echo "Inicio "; }else{ echo "<a href='paginacion.php?pos=0'>Inicio</a> "; } if ($inicio==0) echo "Anteriores "; else{ $anterior=$inicio-$num_elem; echo "<a href='paginacion.php?pos=$anterior'>Anteriores</a> "; } if ($impresos<$num_elem){ // No he llenado la página, estoy al final echo "Siguientes "; } else{ $siguiente=$inicio+$num_elem; echo "<a href='paginacion.php?pos=$siguiente'>Siguientes</a> "; } if ($impresos<$num_elem){ echo "Fin"; } else{ $fin=$tam-($tam%$num_elem); echo "<a href='paginacion.php?pos=$fin'>Fin</a>"; } ?> </body> </html>
ORDENANDO LISTADOAGENDA: LISTADOAGENDA2.PHP
Imágenes para utilizar:
Código para ordenar por nombre:
<html> <head> <link rel="stylesheet" type="text/css" href="agenda.css"> </head> <body> <h1>Todos mis contactos</h1> <table> <tr> <th> <a href="listadoagenda2.php?nombre=asc"> <img src="imagenes/flecha.gif" alt="abajo"/> </a> NOMBRE <a href="listadoagenda2.php?nombre=desc"> <img src="imagenes/flechaarriba.gif" alt="arriba"/> </a> </th><th>DIRECCIÓN</th><th>TELÉFONO</th><th>EMAIL</th> </tr> <?php // Conectar con el Servidor $link = mysql_connect("localhost", "root", "acrear2012") or die ("No puedo conectarme con el servidor"); // Usar la BD mysql_select_db("agenda",$link) or die ("No puedo abrir la BD"); // Hacer la consulta $consulta= "SELECT * FROM agenda"; // Consulta por defecto if (isset($_GET['nombre'])){ // Compruebo si estoy pasando nombre=xxx if ($_GET['nombre']=="desc"){ $consulta= "SELECT * FROM agenda ORDER BY nombre DESC"; } else{ $consulta= "SELECT * FROM agenda ORDER BY nombre ASC"; } } $resultado = mysql_query($consulta, $link) or die ("No puedo ejecutar la consulta"); // Voy leyendo fila a fila $i=0; while ($fila = mysql_fetch_array($resultado)){ if ($i%2==0){ echo "<tr>"; } else{ echo "<tr id='naranja'>"; } $i++; // Celda del Nombre completo = Nombre + Apellido1 + Apellido2 echo "<td>".$fila['nombre']." ".$fila['apellido1']." ".$fila['apellido2']."</td>"; // Celda de la dirección echo "<td>".$fila['direccion']."</td>"; // Celda del teléfono echo "<td>".$fila['telefono']."</td>"; // Celda del email echo "<td>".$fila['email']."</td>"; echo "</tr>\n"; } mysql_close($link); // Cerrar la conexión ?> </table> </body> </html>
LISTADOPORPROVINCIA.PHP
<html> <head> <link rel="stylesheet" type="text/css" href="agenda.css"> <SCRIPT LANGUAGE='JavaScript'> <!-- function actualizaPagina () { i = document.forms.formulario.prov.selectedIndex; categoria = document.forms.formulario.prov.options[i].value; window.location = 'listadoporprovincia.php?prov=' + categoria; } // --> </SCRIPT> </head> <body> <h1>Todos mis contactos</h1> <form name="formulario" action="listadoporprovincia.php" method="get"> Mostrar contactos por provincia: <select name="prov" onchange='actualizaPagina()'> <?php if (!isset($_GET['prov'])){ // Si yo he escrito listadoporprovincia.php sin parámetros echo "<option value='Todas' selected>Todas</option>"; } elseif ($_GET['prov']=="Todas"){ echo "<option value='Todas' selected>Todas</option>"; } else{ echo "<option value='Todas'>Todas</option>"; } // Conectar con el Servidor $link = mysql_connect("localhost", "root", "acrear2012") or die ("No puedo conectarme con el servidor"); // Usar la BD mysql_select_db("agenda",$link) or die ("No puedo abrir la BD"); // Hacer la consulta $consulta= "SELECT provincia FROM agenda GROUP BY provincia"; $resultado = mysql_query($consulta, $link) or die ("No puedo ejecutar la consulta"); // Voy leyendo fila a fila while ($fila = mysql_fetch_array($resultado)){ echo "<option value='".$fila['provincia']."'"; if (isset($_GET['prov'])) if ($_GET['prov']==$fila['provincia']) echo " selected"; echo ">".$fila['provincia']."</option>\n"; } mysql_close($link); ?> </select> </form> <table> <tr> <th>NOMBRE</th><th>DIRECCIÓN</th><th>TELÉFONO</th><th>EMAIL</th><th>PROVINCIA</th> </tr> <?php // Conectar con el Servidor $link = mysql_connect("localhost", "root", "acrear2012") or die ("No puedo conectarme con el servidor"); // Usar la BD mysql_select_db("agenda",$link) or die ("No puedo abrir la BD"); // Hacer la consulta if (!isset($_GET['prov'])) $consulta= "SELECT * FROM agenda"; elseif ($_GET['prov']=="Todas") $consulta= "SELECT * FROM agenda"; else $consulta="SELECT * FROM agenda WHERE provincia='".$_GET['prov']."'"; $resultado = mysql_query($consulta, $link) or die ("No puedo ejecutar la consulta"); // Voy leyendo fila a fila $i=0; while ($fila = mysql_fetch_array($resultado)){ if ($i%2==0){ echo "<tr>"; } else{ echo "<tr id='naranja'>"; } $i++; // Celda del Nombre completo = Nombre + Apellido1 + Apellido2 echo "<td>".$fila['nombre']." ".$fila['apellido1']." ".$fila['apellido2']."</td>"; // Celda de la dirección echo "<td>".$fila['direccion']."</td>"; // Celda del teléfono echo "<td>".$fila['telefono']."</td>"; // Celda del email echo "<td>".$fila['email']."</td>"; echo "<td>".$fila['provincia']."</td>"; echo "</tr>\n"; } mysql_close($link); // Cerrar la conexión ?> </table> </body> </html>
…
Ejercicio PHP Encuesta
Ejercicio Formulario y Resultado en un único fichero
Escriba un programa que solicite y reciba (sin validar) un nombre, un número de teléfono y una dirección de correo y que conste de una única página.
El siguiente diagrama muestra las comprobaciones que es preciso realizar:
- Para que el atributo action del formulario o el enlace a la página apunte a sí mismo, independientemente de la ubicación del archivo o de su nombre, se puede utilizar la variable predefinida $_SERVER[PHP_SELF].
- Para comprobar que se han recibido datos, se puede dar un valor al atributo name del botón Enviar (submit) y comprobar que se ha recibido ese dato (con la función isset, por ejemplo).
..
Ejercicio para calcular la letra del DNI
Utilizando la siguiente cadena:
'TRWAGMYFPDXBNJZSQVHLCKE'
Haz el módulo al número del DNI y 23 y lo que te dé, es el índice de la cadena para devolver la letra.
Es decir, si el resto de dividir el número del DNI entre 23 da 6, la letra será Y.
DNI.PHP
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head> <body> <?php if (isset($_POST['boton'])){ // Se ha pulsado el botón??? $letras='TRWAGMYFPDXBNJZSQVHLCKE'; $dni=$_POST['dni']; $indice=intval($_POST['dni'])%23; $letra=$letras[$indice]; echo "<p>La letra del dni $dni es $letra"; } else{ // Primera carga include ("dni.inc"); } ?> </body> </html>
DNI.INC
<h1></h1> <form action="dni.php" method="post"> Introduce tu DNI: <input type="text" name="dni"/><br/> <input type="submit" name="boton" value="Encuentra letra"/> <input type="reset"/> </form>
Ejercicio en PHP: Convertidor de bytes
Crea un formulario que tenga una caja de texto en la que el usuario pueda escribir el número de bytes.
En el formulario también debe haber un grupo de radiobuttons que permita elegir entre KB, MB, GB y TB.
Según lo que el usuario haya elegido en estos radiobuttons, convertiremos los bytes a KB, MB, GB o TB.
Ejercicio 6: Tablas de multiplicar
Haz un formulario que te pregunte el número para el que quieres que te calcule la tabla de multiplicar.
Si ha introducido un número entero mayor que 0, genera la tabla de multiplicar. Las características deben ser las siguientes:
– Primero una h1 entre la que pones «Tabla del 7» (por ejemplo)
– Luego, en formato de lista desordenada (<ul>) debe presentar la tabla de multiplicar desde el 7×1=7 hasta el 7×10=70 (si es que el valor introducido fuera 7). El resultado de cada una de estas operaciones debe aparecer en rojo.
Si el valor que introduce no es correcto, que informe al usuario del error y que muestre un enlace al formulario html
CODIGO HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" /> <title>New Web Project</title> </head> <body> <h1>Tabla de multiplicar</h1> <form action="tabla.php" method="post"> Introduce un número: <input type="text" name="numero"/><br/><br/> <input type="submit" value="Multiplicar"/> </form> </body> </html>
CODIGO PHP
<html> <body> <h1>Tabla del <?php $numero=intval($_POST['numero']); echo $numero; ?> </h1> <ul> <?php for($i=1;$i<=10;$i++){ if ($i%2==0){ // Es par $i echo "<li><span style='color:red'>$numero x $i = "; echo $numero*$i; echo "</span></li>"; } //Fin del if else{ echo "<li>$numero x $i = "; echo $numero*$i; echo "</li>"; } //Fin del else } //Fin del for ?> </ul> </body> </html>
CODIGO PHP DEFINITIVO:
<html> <head> <title>Tabla del 7</title> </head> <body> <?php $numero=intval($_POST['numero']); if ($numero>0){ echo "<h1>Tabla del"; echo $numero; echo " </h1> <ul>"; for($i=1;$i<=10;$i++){ if ($i%2==0){ // Es par $i echo "<li><span style='color:red'>$numero x $i = "; echo $numero*$i; echo "</span></li>"; } //Fin del if else{ echo "<li>$numero x $i = "; echo $numero*$i; echo "</li>"; } //Fin del else } //Fin del for echo "</ul>"; } else{ echo "<p>El valor introducido "; echo $_POST['numero']; echo " no es correcto, debería haber sido un número entero positivo.</p>"; echo "<p>Variable numero= $numero</p>"; echo "<p><a href='tabla.html'>Pruebe de nuevo</a></p>"; } ?> </body> </html>
Ejercicio 5 de PHP: Comparar 3 datos
Haz un formulario como el siguiente:
La página resultado debe informarnos de cuál de los 3 es el mayor de los 3.
Si alguno de los datos no son enteros, que nos informe de que no son enteros y que aparezca un enlace que nos permita volver al formulario inicial.
Si los 3 datos no son distintos, también que nos informe de que no es correcto.
CODIGO HTML
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Ejercicio 5 de PHP</title> </head> <body> <h1>Comparando Datos</h1> <form action="ejercicio5.php" method="post"> Dato1: <input type="text" name="dato1"/><br/> Dato2: <input type="text" name="dato2"/><br/> Dato3: <input type="text" name="dato3"/><br/> <br/> <input type="submit" name="Enviar" title="Enviar" value="Enviar"/> </form> </body> </html>
CODIGO PHP:
<html> <head> <title>Comparando</title> </head> <body> <?php $dato1 = intval($_POST['dato1']); $dato2 = intval($_POST['dato2']); $dato3 = intval($_POST['dato3']); if ( ($dato1 > $dato2) and ($dato1>$dato3)){ echo "<p>El mayor es el primero: $dato1</p>"; }elseif ($dato2>$dato3) { echo "<p>El mayor es el segundo: $dato2</p>"; }else{ echo "<p>El mayor es el tercero: $dato3</p>"; } ?> </body> </html>
..