Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
1
Libro Digital PHP & MySQL
Presentacin
En el trascurso de estos aos hemos visto como han evolucionado las tecnologas,
Internet es parte de nuestra actividad diaria, para las empresas representa un
medio atractivo y barato de presentar sus servicios o productos.
Muchos piensan que implementar una solucin para Internet requiere altos costos
de inversin, adquisicin de equipos, software, personal altamente capacitado, etc.
Indicadores que desaniman a muchos, para nuestra economa necesitamos
soluciones de bajo costo al alcance de la pequea y mediana industria asi como del
sector educativo el cual representa la mayor proporcin de nuestro mercado.
La alternativa que proponemos tiene que ver con la concepcin del uso de software
libre, eso nos hace pensar inmediatamente en Linux, PHP y MySQL fueron
diseados para dicha plataforma. Conviene aclarar que Linux puede usarse de
muchas formas, como servidor web, o como sistema operativo de escritorio. Por
comodidad muchos prefieren usarlo como servidor y trabajar desde PCs de
escritorio basado en Windows. Mediante el libro procuramos transmitir la idea de
que con PHP no solo puede crear catlogos para el web, sino implementar
soluciones integrales para la empresa, por ejemplo sistemas de atencin al cliente,
inventarios, facturacion, contabilidad, etc. las ventajas son grandes, para empezar
los costos, propiamente no necesita de equipos, puede rentarlos (Hosting), no
necesita invertir en software pues es libre, es universal, es decir el gerente o dueo
de la empresa desde cualquier lugar del mundo tiene la posibilidad de acceder a la
informacin y ver por ejemplo la evolucin de sus ventas, los clientes se ven
beneficiados pues la asistencia puede ser en linea y desde cualquier lugar del
mundo.
Vale aclarar que el libro se ha escrito pensando en usuarios que trabajan sobre
Windows, a parte de PHP y MySQL, hemos evaluado ciertos programas y utilidades
algunos gratuitos que a nuestro criterio destacan. Para el aspecto de Diseo y
Desarrollo definitivamente la Suite de Macromedia MX representa la mejor
herramienta, vale la pena adquirirlo.
Plan de negocios
2
Libro Digital PHP & MySQL
INDICE
CAPITULO 1
INTRODUCCIN
RESEA HISTRICA
INSTALANDO TODOS LOS RECURSOS
APACHE
INSTALACIN DE APACHE
PHP
INSTALACIN DE PHP
MYSQL
INSTALACIN DE MYSQL
SOLUCIN DE CONFLICTOS
OTRA ALTERNATIVA DE INSTALACIN
MI PRIMER EJEMPLO
EDITORES DE PROGRAMAS
EDITPLUS
ELEMENTOS DE FORMULARIO
BOTN SUBMIT
BOTN RESET
ATRIBUTOS COMUNES
CUADRO DE TEXTO
CUADRO DE PASSWORD
CASILLA DE VERIFICACIN
BOTONES DE RADIO
CONTROL OCULTO
LISTA DE SELECCIN SIMPLE
LISTA DE SELECCIN MLTIPLE
AREAS DE TEXTO
EL PAPEL DE JAVASCRIPT EN EL DISEO DE FORMULARIOS
EJERCICIOS
CAPITULO 2
INSERCION DEL CODIGO PHP
IMPRESION EN EL NAVEGADOR
LA ORDEN ECHO
LA ORDEN PRINTF
FIN DE LINEA
COMENTARIOS
VARIABLES
CONCATENACIN
TIPOS
DETERMINANDO EL TIPO DE VARIABLES
CONSTANTES
USO DE LAS CONSTANTES __FILE__ Y __LINE__ERROR COMUN
OPERADORES
OPERADORES MATEMTICOS
OPERADORES AUNTOINCREMENTO Y AUTODECREMENTO
OPERADORES LGICOS
ASIGNACIN, IGUALDAD E IDENTIDAD
OPERADORES DE COMPARACIN
3
Libro Digital PHP & MySQL
ATAJOS EN LA ASIGNACION
INSTRUCCIONES CONDICIONALES
ESTRUCTURA CONDICIONAL SIMPLE
FORMA SIMPLE, COMPLETA, EXTENDIDA
ESTRUCTURA CONDICIONAL MLTIPLE
ESTRUCTURA CONDICIONAL REPETITIVA
INSTRUCCIN WHILE
INSTRUCCION DO
BREAK AND CONTINUE
INSTRUCCIN FOR
ARREGLOS
ARREGLO NORMAL
ARREGLOS ASOCIATIVOS
ORDENANDO LOS ELEMENTOS DE UN ARREGLO
RSORT(ARREGLO)
SORT(ARREGLO)
ARSORT(ARREGLO)
ASOR(GRUPO_NO _ORDENADO)
KSORT(ARREGLO)
OTROS CLCULOS CON ARREGLOS
MAX(ARREGLO) Y MIN (ARREGLO)
ARREGLOS MULTIDIMENSIONALES
FUNCIONES PHP
FUNCIONES FECHA Y HORA
FUNCIONES CADENA
FUNCIONES NUMRICA
FUNCIONES DE USUARIO
CAPITULO 3
FORMULARIOS
ENVIOS DE DATOS DE UNA PGINA A OTRA
ENVO DE DATOS MEDIANTE UN FORMULARIO
MTODO POST
MTODO GET
ENVO DE DATOS MEDIANTE LA URL
VARIABLES PRE-DEFINIDAS
REDIRECCIONANDO A UNA PAGINA
ERROR FRECUENTE
ENVIO DE CORREO
ENVIANDO UN MENSAJE EN FORMATO DE TEXTO
ENVO DE CORREO EN FORMULARIO HTML
MANEJO DE ARCHIVOS
CONTADOR DE VISITAS GRFICO
DESCARGA DE ARCHIVOS
EJERCICIOS
CAPITULO 4
ADMINISTRACIN DE BASES DE DATOS CON MYSQL
CREACIN DE LAS BASES DE DATOS
MEDIANTE EL SHELL
CREANDO LA BASE DE DATOS
BORRANDO UNA BASE DATOS UTILIZANDO MYSQL
REVISANDO LAS BASES DE DATOS EXISTENTES
ABRIENDO UNA BASE DE DATOS
CREACIN DE TABLAS
TIPO DE CAMPO
4
Libro Digital PHP & MySQL
CAMPOS NUMRICOS
TIPOS DE CAMPOS NUMRICOS ENTEROS
TINYINT [(M)] [UNSIGNED] [ZEROFILL]
SMALLINT [(M)] [UNSIGNED] [ZEROFILL]
MEDIUMINT [(M)] [UNSIGNED] [ZEROFILL]
INT [(M)] [UNSIGNED] [ZEROFILL]
BIGINT [(M)] [UNSIGNED] [ZEROFILL]
NMEROS DE COMA FLOTANTE
FLOAT(*) [ZEROFILL]
FLOAT[(M,D)] [ZEROFILL]
DOUBLE[(M,D)] [ZEROFILL]
DECIMAL[(M[,D])] [ZEROFILL]
CAMPOS DE FECHA
DATE
DATETIME
TIME
YEAR YEAR(2) YEAR(4)
TIMESTAMP[(M)]
CAMPOS TIPO CADENA DE CARACTERES
CHAR(M)[BINARY]
VARCHAR(M)[BINARY]
TINYBLOB O TINYTEXT
MEDIUMBLOB O MEDIUMTEXT
LONGBLOB O LONGTEXT
HACIENDO CONSULTAS
CARGANDO DATOS A UNA TABLA
EXTRAYENDO INFORMACIN DE UNA TABLA
FUNCIONES MYSQL
FUNCIONES NUMRICOS
FUNCIONES DE FECHA
CLCULOS DE FECHA
TRABAJANDO CON VALORES NULL
USANDO CARACTERES COMODIN
CONTANDO FILAS
CONSIGUIENDO INFORMACIN SOBRE BASE DE DATOS Y TABLAS
PHPMYADMIN
CREANCIONDE LAS BASE DE DATOS
CREACION DE TABLAS
TRANSPORTANDO LA BASE DE DATOS
CREACION DE LA BASE DE DATOS.TIENDA
EJERCICIOS
CAPITULO 5
ACCESO A BASES DE DATOS MYSQL DESDE PHP
GENERACIN DE CONSULTAS
CONTANDO REGISTROS
USANDO ARREGLOS
REPOSICIONANDO EL PUNTERO
MOSTRANDO IMGENES EN FORMA DINMICA
LISTANDO LAS BASES DE DATOS
NUMRICO DE REGISTROS AFECTADOS
MOSTRANDO LA LONGITUD DE CADA FILA
CAPTURA DE ERRORES
USANDO TABLAS
OPERACIONES DE MANTENIMIENTO
INSERCIN DE NUEVOS ARTCULOS
MODIFICANDO UN ARTICULO
5
Libro Digital PHP & MySQL
BORRANDO UN ARTICULO
PAGINACIN DE RESULTADOS
CAPITULO 6
SESIONES
QU ES UNA SESIN?
VARIABLES DE SESION
FUNCIONES PARA EL MANEJO DE SESIONES
UN SIMPLE CONTADOR
PRIMER MODELO DE CARRITO
SEGUNDO MODELO DE CARRITO
EL CATLOGO DE ARTCULOS
AGREGANDO ARTICULOS A LA CANASTA DE COMPRAS
PAGAR LA CUENTA
MANTENIMIENTO DE PEDIDOS
CAPITULO 7
ACCESO A OTRAS BASES DE DATOS
CONECTANDO A BD EXTERNAS MEDIANTE ODBC
CREANDO EL DSN
CONECCIN A LA BASE DE DATOS ACCESS
DESCONEXIN
EJECUCIONES DE INSTRUCCIONES SQL
EJECUCIONES DE SENTENCIAS SQL
APPLICACIN: CLUB DE ADIESTRAMIENTO DE CANES
REGISTRO DE CANES
GRABANDO EL REGISTRO
OPCIONES DE BUSQUEDA
LISTA DE RESULTADOS
EDITAR DATOS DEL CAN
CONECTANDO A BD ORACLE
CONEXIN
MANIPULACIN DE TABLAS
EJECUCIN DE UNA CONSULTA
EJECUCIN DE INSTRUCCIONES SQL
EJECUCIN DE PROCEDIMIENTOS ALMACENADOS
ACCESO REMOTO A MYSQL MEDIANTE MYODBC
ABRIENDO A MYSQL REMOTAMENTE
ACCESO A LA BASE DE DATOS DESDE VISUAL FOXPRO
ACCESO A LA BASE DE DATOS DESDE VISUAL BASIC
CAPITULO 8
MACROMEDIA DREAMWEAVERMX Y LA EXTENCIJN PHAKT 2MX
DEFINIENDO EL SITE
LA INTERFAZ DEL TRABAJO
LA VENTANA DE CONTROLES
LA VENTANA DE PROPIEDADES
LA VENTANA DATA BINDINGS
LA VENTANA DE COMPORTAMIENTOS SERVER BEHAVIORS
MI PRIMER EJEMPLO
CREACIN DE UNA CONECCIN
CREACIN DE UN RECORDSET
UNA PANTALLA DE CONSULTA
6
Libro Digital PHP & MySQL
CAPITULO 9
COMPORTAMIENTOS
COMPORTAMIENTOS PARA EL DESPLAZAMIENTO DELPUNTERO
COMPORTAMIENTO PARA PAGINAR UNA LISTA
COMPORTAMIENTO PARA VER UNA PGINA DE DETALLE
COMPORTAMIENTO PARA EL MANTENIMIENTO DE REGISTROS
INSERTAR REGISTROS
ACTUALIZAR REGISTRO
BORRAR REGISTRO
CAPITULO 10
CONSULTAS COMPLEJAS (RECORDSET COMPLEJOS)
DESARROLLO DEL PROYECTO DE POSTALES
CREANDO RECORDSET CONDICIONADOS
ASIGNANDO VALORES A OBJETOS EN TIEMPO DE EJECUCIN
LA PRESENTACIN PRELIMINAR
ENVIO DE LA POSTAL
CREANDO RECORDSET COMPLEJOS
CAPITULO 11
QUE S UNA PASARELA DE PAGO?
CMO FUNCIONA?
QUE SIGNIFICA EL PROTOCOLO SSL DE 128 BITS?
PROVEEDORES
IMPLEMENTANDO UNA PASARELA DE PAGO CON 2CHECKOUT.COM
CONFIGURANDO LA CUENTA
CREACIN DEL CATLOGO CON CARRITO DE COMPRAS
CAPITULO 12
SERVIDORES
QU PUEDO HACER CON LINUX?
LINUX COMO SERVIDOR LAN
LINUX COMO SERVIDOR INTERNET
LINUX COMO ESTACIN DE TRABAJO
LINUX PARA USUARIOS FINALES
LINUX PARA DESAROLLADORES
ES LA MEJOR ALTERNATIVA DISPONER DE UN SERVIDOR PROPIO?
PUBLICANDO MI APLICACIN
SERVICIOS DE HOSTING
REGISTRO DE DOMINIO
VENTAJAS QUE OFRECE TENER DOMINIO PROPIO
DNDE REGISTRO MI DOMINIO?
VERIFICACIN DEL NOMBRE DE DOMINIO: WHOIS
COMO REGISTRO MI DOMINIO?
PROTECCIN DE DOMINIOS
RESOLUCIN DE CONFLICTOS
7
Libro Digital PHP & MySQL
Capitulo 1
INTRODUCCIN
Linus Torlvalds, creador de Linux fue el pionero que dio inicio a la filosofia del
Software libre, Linux no es un producto comercial. Est disponible, desde su
lanzamiento y, lo que es mejor, en su versin bruta. Es decir, est disponible el
"cdigo fuente", que es para el programador lo que la partitura para el msico y,
por lo tanto, mucho mejor que un disco, en el que no se puede cambiar nada, por
muy extraordinario que sea el msico.
Esta transparencia total ha permitido hacer de la elaboracin de Linux una obra
colectiva, en la que participan -via Internet- varios miles de personas. Slo por
amor al arte y al trabajo bien hecho. El mismo Torvalds slo ha escrito 50.000
lneas del cdigo de un total de 1 milln.
8
Libro Digital PHP & MySQL
ejemplo0101.php
<head>
<title>Mi primer ejemplo</title>
</head>
<body>
<B>Bienvenido a mi pgina </B>
<P>
<?php echo "Esto est hecho en PHP";
for ($k=1;$k<4;$k++){
echo "<H".$k.">Hola</H".$k.">";
}
?>
</body>
Por lo pronto no nos preocupemos por entender que hace el programa, la intension
es solo sealar la forma como se ha incrustado el script PHP dentro del documento
HTML, el inicio y el final del script PHP estan indicados por los marcadores "<?php"
y "?>" respectivamente.
Al momento que se guarde el archivo, deber tener la extensin ".php", el cual
indica al servidor que deber interpretar y traducir los scripts, una vez ejecutado el
resultado es enviado al navegador del cliente para ser mostrado. Debe visualizarse
algo asi:
9
Libro Digital PHP & MySQL
Si intentamos ver el codigo fuente, que genera la pgina, mediante el men Ver,
opcin Ver Cdigo fuente, obtendremos lo siguiente:
<head>
<title>Mi primer ejemplo</title>
</head>
<body>
<B>Bienvenido a mi pgina </B>
<P>
Esto est hecho en PHP
<H1>Hola</H1><H2>Hola</H2><H3>Hola</H3> </body>
Mediante este ejemplo se ha pretendido ilustrar que el cdigo escrito en PHP jams
podr ser visto en el navegador de un visitante, a l slo le llegar el resultado de
su ejecucin.
INSTALACIN DE APACHE
10
Libro Digital PHP & MySQL
11
Libro Digital PHP & MySQL
12
Libro Digital PHP & MySQL
5. Eso es todo, para iniciar el servidor apache, haga click en el botn Inicio, luego
Apache Web Server y finalmente Start Apache. Como respuesta obtendremos una
ventana MS-DOS, solo debe minimizar sta ventana
13
Libro Digital PHP & MySQL
Asi mismo Apache est configurado para que por defecto abra el archivo
index.html que se encuentre en el directorio que indiquemos. Asi que cuando en el
navegador anote: "http://localhost" el explorador cargar la pgina index.html
del directorio C:\Archivos de programa\Apache Group\Apache\htdocs\
EDITORES DE PROGRAMA
EditPlus
Para el desarrollo de los primeros capitulos usaremos el editor EditPlus para crear
nuestros programas (puedes bajarlo de www.editplus.com), lo interesante de ste
editor es que las etiquetas HTML las tenemos a la mano en una barra de
herramientas, asi que ya no se hace necesario escribirlas, ademas la numeracion de
las lineas ayuda en el proceso de depuracion del programa, ademas tiene una
opcion mediante la cual es posible crear plantillas de comandos usuales de PHP.
14
Libro Digital PHP & MySQL
ejemplo0103.htm
<HEAD>
</HEAD>
<BODY>
<B>Esto est en negrita</B>
<I>esto en italica</I>
<U>aqui el subrayado</U>
<U><I><B>y esto tiene todos los atributos</B></I></U>
mi <FONT SIZE="4" COLOR="#FF00FF">nombre </FONT>
tiene una atributo de color y tamao de fuente, despues del retorno de
carro<BR>comienza otra linea.<P>
Este es un parrafo distinto
</BODY>
se obtiene:
15
Libro Digital PHP & MySQL
La siguiente pagina:
ejemplo0104.htm
<HEAD>
</HEAD>
<BODY>
<H1>Titulo</H1>
<H4>Subtitulo</H4>
Grafico <IMG SRC="librosdigitales.gif" WIDTH="165" HEIGHT="44"
BORDER=0 ALT="Libros de Tecnologia"><BR>
Ir a la pagina de <A
HREF="http://www.librosdigitales.net">LibrosDigitales.NET</A>
</BODY>
se vera as:
16
Libro Digital PHP & MySQL
Puede usar este boton para insertar una linea, genera la etiqueta <HR>
Esta etiqueta se usara para situar vietas
Muy util para dibujar tablas, genera las etiquetas para definir las filas y
columnas de la tabla
Muy util cuando se quiera centrar, genera la etiqueta <CENTER></CENTER>
El ejemplo:
ejemplo0105.htm
<HEAD>
</HEAD>
<BODY>
<CENTER>Ficha de inscripcion</CENTER>
<HR>
<TABLE>
<TR>
<TD>Codigo</TD>
<TD>Nombre</TD>
<TD>Edad</TD>
</TR>
<TR>
<TD>C0001</TD>
<TD>Jose Perez</TD>
<TD>15</TD>
</TR>
</TABLE>
</BODY>
Muestra:
17
Libro Digital PHP & MySQL
Las tablas nos permitiran mostrar los resultados de una forma mas ordenada.
Por ejemplo:
ejemplo0106.htm
<HEAD>
</HEAD>
<BODY>
</BODY>
18
Libro Digital PHP & MySQL
Cuadro de texto
Ejemplo:
ejemplo0108.htm
Como puede observar en este ejemplo, el nmero mximo de caracteres puede ser
mayor que el tamao de la ventana y viceversa.
19
Libro Digital PHP & MySQL
Casilla de verificacin
Se usar cuando se desee indicar un estado de entre dos, por ejemplo Soltero o
Casado, Credito o Contado, etc.
ejemplo0110.htm
20
Libro Digital PHP & MySQL
Botones de radio
ejemplo0111.htm
21
Libro Digital PHP & MySQL
Muy util cuando haya que seleccionar un item de un conjunto grande de opciones,
por ejemplo provenientes de una tabla.
La etiqueta <SELECT> permite generar este tipo de lista. Cada uno de los items se
especifica en una etiqueta OPTION, pudiendo una de ella ser el item por defecto (el
incluya OPTION SELECTED). La presentacin de la lista depende del atributo SIZE;
si su valor es inferior a 2 o est ausente, la lista se interpreta como un menu
desplegable. En caso contrario la lista se visualiza en una ventana con barra de
desplazamiento. En este caso SIZE da el nmero de lneas visibles en la ventana.
Men despegable:
ejemplo0113.htm
22
Libro Digital PHP & MySQL
Areas de texto
Se usar cuando se deba ingresar texto amplio, el control se depliega como una
ventana con barras de desplazamiento horizontales y verticales
El valor dado a los atributos ROWS (lneas) y COLS (columnas) delimita el tamao
de esta ventana.
ejemplo0116.htm
<form>
<textarea name="comment" rows=5 cols=40>
Introduzca aqu sus comentarios
</textarea>
</form>
23
Libro Digital PHP & MySQL
ejemplo0117.htm
24
Libro Digital PHP & MySQL
</td>
</tr>
<tr>
<td>Distrito</td>
<td>
<select name="lstDistrito" size="1">
<OPTION VALUE = L01>Lima</OPTION>
<OPTION VALUE = L11>Jesus Maria</OPTION>
<OPTION SELECTED VALUE = L14>Lince</OPTION>
<OPTION VALUE = L18>Miraflores</OPTION>
<OPTION VALUE = L27>San Isidro</OPTION>
<OPTION VALUE = L41>San Borja</OPTION>
</select>
</td>
</tr>
<tr>
<td>Comentarios</td>
<td>
<textarea name="txtComentario" cols="40" rows="5"></textarea>
</td>
</tr>
</table>
<p>
<input type="submit" name="btnLimpiar" value="Limpiar">
<input type="submit" name="btnEnviar" value="Enviar">
</p>
</form>
25
Libro Digital PHP & MySQL
Capitulo 2
Los scripts basados en PHP estn insertados en el cdigo HTML, para diferenciarse
de stas, deber encerrar el script entre los delimitadores "<?" y "?>"
Ejemplo :
ejemplo0201.php
<head>
<title>Ejemplo </title>
</head>
<body>
<?
echo "Bienvenido al curso";
?>
</body>
ejemplo0202.php
<head>
<title>Ejemplo </title>
</head>
<body>
<?php
echo "Bienvenido al curso";
?>
</body>
ejemplo0203.php
26
Libro Digital PHP & MySQL
<head>
<title>Ejemplo </title>
</head>
<body>
<SCRIPT LANGUAGE="php">
echo "Bienvenido al curso";
</SCRIPT>
</body>
La forma usual de establecer los delimitadores son "<?" y "?>" y es la que se usar
a lo largo del presente texto
IMPRESIN EN EL NAVEGADOR
La orden echo
<?
echo "Hola";
?>
<?
echo "<B>Hola</B>";
?>
<?
echo '<H1>Hola</H1>';
?>
La orden Printf
<?
printf(cadena con formato, variable1, variable2)
?>
%s Cadena de caracteres
%d Numero sin decimales
%f Numero con decimales
%c Caracter ASCII
27
Libro Digital PHP & MySQL
Ejemplo:
ejemplo0204.php
<?
$pi = 3.1416;
printf("el valor de PI con decimales %f",$pi);
printf("el valor de PI sin decimales %d",$pi);
printf("el valor de PI con 2 decimales %.2f",$pi);
?>
Fin de lnea
Ejemplo:
ejemplo0205.php
<?
echo "Hola ";echo "estas aprendiendo? <BR>";echo "PHP es muy fcil! <BR>";
echo "Solo debes tener presente
el punto y coma que va al final
de cada instruccion";
?>
28
Libro Digital PHP & MySQL
En la secuencia anterior hay cuatro instrucciones "echo", los que estn limitados
por el ";".
El punto y coma que va en la ltima instruccin es opcional.
Constantes
Las constantes guardan valores fijos que no cambiarn, por ejemplo el valor de
3.1416, el IGV, etc.
ejemplo0210.php
<?
define("PI",3.1416);
define("SALUDO","Bienvenido a mi pgina");
// Area de un circulo de radio 5
$areacirculo PI*25;
echo SALUDO;
echo "Area del circulo de radio 5 es ".$areacirculo;
?>
29
Libro Digital PHP & MySQL
ejemplo0210b.php
<?
function report_error($file, $line, $message) {
echo "Ha ocurrido un error en el archivo $file en la linea $line:
$message.";
}
report_error(__FILE__,__LINE__, "Algo esta mal!");
?>
30
Libro Digital PHP & MySQL
Operadores
Operadores matemticos
Si $a = 9 y $b = 2
Si $a = 3
Operadores lgicos
Instrucciones condicionales
Forma simple:
31
Libro Digital PHP & MySQL
Sintaxis:
if (condicion){
instrucciones
}
ejemplo0212.htm
<head>
</head>
<body>
<form method = "post" action = "ejemplo0212.php">
<input type="text" name="nombre" size="20">
<input type="submit">
</form>
</body>
ejemplo0212.php
<?
If (!$nombre){
echo "Hola ".$nombre;
}
?>
32
Libro Digital PHP & MySQL
$x = 0;
if ($x){
echo "saludo";
}
No imprime nada
$x = "hola";
if ($x){
echo "saludo";
}
Imprime saludo
$x = "";
if ($x){
echo "saludo";
}
no imprime nada
$x = "0";
if ($x){
echo "saludo";
}
$lista = array();
if ($x){
echo "saludo";
}
no imprime nada
$lista = array(2,5,7,8);
if ($x){
echo "saludo";
33
Libro Digital PHP & MySQL
Imprime saludo
Otra alternativa sencilla para evitar las instrucciones "if" anidadas es mediante la
estructura condicional mltiple, sta instruccin evala un valor y compara el valor
con cada expresin "case", de encontrar un "case" con el valor correcto se
ejecutar el bloque de instrucciones asociados, por lo general se suele incluir al
final del bloque de instrucciones la orden "break", la cual da por termino a sta
instruccion.
switch (variable){
case valor1:
instrucciones1;
break;
case valor2:
instrucciones2;
break;
case valor3:
instrucciones3
break;
default:
instrucciones4
}
ejemplo0215.htm
<head>
</head>
<body>
<form method = "post" action = "ejemplo0215.php">
<select size="1" name="dia">
<option value="-1" selected>Dia</option>
<option value="1">Lunes</option>
<option value="2">Martes</option>
<option value="3">Miercoles</option>
<option value="4">Jueves</option>
<option value="5">Viernes</option>
<option value="6">Sabado</option>
<option value="7">Domingo</option>
</select>
<input type="submit">
</form>
</body>
ejemplo0215.php
<?
switch ($dia){
34
Libro Digital PHP & MySQL
case 1:
echo "Hoy es lunes";
break;
case 2:
echo "Hoy es martes";
break;
case 3:
echo "Hoy es miercoles";
break;
case 4:
echo "Hoy es jueves";
break;
case 5:
echo "Hoy es viernes";
break;
case 6:
echo "Hoy es sabado";
break;
case 7:
echo "Hoy es domingo";
break;
}
?>
Instruccin DO
do {
instrucciones
}while (condicion)
BREAK y CONTINUE
ejemplo0217.php
<?
$k = 0;
do {
$k++;
if ($k == 7) {
continue;
}else{
echo "$k <BR>";
35
Libro Digital PHP & MySQL
}
}while ($k<10)
?>
Funciones PHP
time()
date(formato, timestamp)
Esta funcin retorna la fecha u hora en base a un formato definido. Por defecto
retorna la fecha y hora actual.
Codigo Descripcin
a am o pm
A AM o PM
d Da del mes con ceros
D Abreviatura del da de la semana (ingls)
F Nombre del mes (ingls)
h Hora en formato 1-12
H Hora en formato 0-23
36
Libro Digital PHP & MySQL
i Minutos
j Da del mes sin ceros
l Dia de la semana
m Nmero de mes (1-12)
M Abreviatura del mes (ingls)
s Segundos
y Ao con 2 dgitos
Y Ao con 4 dgitos
z Dia del ao (1-365)
ejemplo0223.php
<?
echo "Desde el 1 de enero de 1970 transcurri ".time()." segundos<BR>";
echo "Fecha actual ".date("d-m-Y")."<BR>";
echo "Hora actual ".date("H:i:s")."<BR>";
echo "Muestra solo la hora ".date("Y")."<BR>";
echo "Muestra fecha y hora mezclado ".date("YmdHis")."<BR>";
echo "Muestra fecha y hora con delimitadores ".date("d/m/y H:i a")."<BR>";
echo "Muestra fecha y hora con delmitadores ".date("d-m-Y H:i", time());
?>
Esta funcin devuelve un valor fechahora valido, a partir de las partes indicadas en
los parametros.
37
Libro Digital PHP & MySQL
<?
$hora = 8;
$min = 20;
$seg = 40;
$mes = 10;
$dia = 23;
$anno = 2002;
$fecha = date("d-m-Y", mktime($hora, $min, $seg, $mes, $dia, $anno));
echo $fecha;
echo "<BR>";
ejemplo0235.php
<FORM METHOD=POST ACTION="ejemplo0235b.php">
<select name="mes" size="1">
<option value="1" selected>Enero
<option value="2">Febrero
<option value="3">Marzo
<option value="4">Abril
<option value="5">Mayo
<option value="6">Junio
<option value="7">Julio
<option value="8">Agosto
38
Libro Digital PHP & MySQL
<option value="9">Setiembre
<option value="10">Octubre
<option value="11">Noviembre
<option value="12">Deciembre
</select>
ejemplo0235b.php
<?
if (!checkdate($mes, $dia, $anno)) {
die ("Fecha no vlida");
}else{
$fecha = date("d-m-Y", mktime(0,0,0, $mes, $dia, $anno));
echo $fecha;
}
?>
39
Libro Digital PHP & MySQL
Include()
ejemplo0250head.php
<?
function fechaactual(){
$hoy = getdate(time());
$dia = $hoy['mday'];
$mes = $hoy['month'];
$anno = $hoy['year'];
$cdia = $hoy['wday'];
$fecha = $dia. " de ".$mes." del ".$anno;
RETURN $fecha;
}
?>
<head>
<title>::GrapPeru.com - <?=$titulo?></title>
</head>
<body>
<center>
<h1>
<? echo $titulo?>
</h1>
40
Libro Digital PHP & MySQL
</center>
<hr>
<br>
ejemplo0250foot.php
<hr>
<CENTER><B>
<? echo fechaactual(); ?> <BR>
<a href=mailto:soporte@grapperu.com">Soporte</a>
</B></CENTER>
</body>
ejemplo0250.php
<?
$titulo='Identificacin del usuario';
include('ejemplo0250head.php');
?>
<?
include("ejemplo0250foot.php");
?>
41
Libro Digital PHP & MySQL
ejemplo0250ver.php
<?
$usuarios = array(array('miguel', '123'), array('janet', 'abc'), array('marco',
'xyz'));
$entrar = 0;
foreach ($usuarios as $datos) {
$user_nombre = $datos [0];
$user_clave=$datos[1];
If ($usuario == $user_nombre) {
if ($clave == $user_clave) {
$entrar = 1;
} else {
break;
}
}
}
if (!$entrar){
$titulo ='Error al ingresar datos';
include('ejemplo0250head.php');
echo '<center><h2>';
if ($usuario != $user_nombre) {
echo "Error, usuario '$usuario' desconocido";
} else {
echo "Error, clave incorrecta";
}
}else{
$titulo ='Usuario autorizado';
include('ejemplo0250head.php');
echo '<center><h2>';
echo "Bienvenido ".$usuario;
}
echo '<BR><a href="ejemplo0250.php">Volver</a>';
echo '</h2></center><br>';
include("ejemplo0250foot.php");
?>
42
Libro Digital PHP & MySQL
1. Mediante el shell
2. Usando el panel phpMyA
1. Mediante el shell
43
Libro Digital PHP & MySQL
por ejemplo:
44
Libro Digital PHP & MySQL
* mysql muestra el nmero de filas que se han dado como resultado, y cunto
tiempo llev la ejecucin de la consulta, lo que te da una idea aproximada del
rendimiento del servidor. Estos valores son imprecisos porque representan tiempo
real (no tiempo de CPU o mquina), y porque estn afectados por factores como la
carga del servidor y la latencia de la red.
por ejemplo:
45
Libro Digital PHP & MySQL
Observa que USE, como QUIT, no requiere un punto y coma. (Puedes terminar este
tipo de sentencias con un punto y coma si quieres, pero no es necesario.) La
sentencia USE es especial en otro sentido, tambin: debe ser tecleada en una sola
lnea.
La base de datos slo necesita ser creada una vez, cada vez que se deba usar se
debe seleccionarla.
46
Libro Digital PHP & MySQL
Creacin de tablas
Para ver las tablas contenidas en la Base de Datos seleccionada, puede usar la
orden SHOW TABLES:
Iremos a crear una tabla de usuarios, la instruccin que permite crear tablas es
CREATE TABLE:
47
Libro Digital PHP & MySQL
Puede usar DESCRIBE en cualquier momento, por ejemplo, si hemos olvidado los
nombres de los campos de una tabla.
48