Buscar este blog

jueves, 30 de enero de 2014

INSTALACIONES

ANDROID
http://www.itzgeek.com/featured/how-to-install-android-sdk-4-0-3-and-eclipse-adt-on-linux-mint-12-ubuntu-11-10.html#axzz2ru0AbioD


sudo apt-get install openjdk-7-jdk
 
 
XAMPP
XAMPP
1.
apt-get install mysql-server mysql-client
2.
apt-get install apache2
3.
apt-get install php5 libapache2-mod-php5
4.
/etc/init.d/apache2 restart
5.
apt-get install php5-mysql php5-curl
6.
/etc/init.d/apache2 restart
7.
apt-get install phpmyadmin
8. PANTALLITA: http://sourceforge.net/apps/mediawiki/revealweb/nfs/project/r/re/revealweb/5/52/Apache2-config.png
MARCAR APACHE2 CON EL ESPACIO PARA QUE SALGA UN ASTERISCO!!!!!
OPCION NO
9.
/etc/init.d/apache2 restart

http://www.howtoforge.com/installing-apache2-with-php5-and-mysql-support-on-ubuntu-13.04-lamp

martes, 14 de enero de 2014

CUENTA DE PERDIDAS Y GANANCIAS

10.- BAHIS SL presenta a final de año las siguientes cuentas: venta de mercaderías 190.000; intereses por préstamos 18.000; ingresos extraordinarios 10.000; electricidad 18.000; devolución de compras 19.000; pago por servicios de abogados 21.000; gastos extraordinarios 8.000; seguridad social 16.000; compra de mercaderías 58.000; descuentos sobre ventas 15000; alquileres 27000; publicidad 35.000; amortización de inmovilizado 9.000; prestación de servicios a clientes 68.000; otros ingresos financieros 15.000. Elabora la cuenta de pérdidas y ganancias.


CUENTA DE PERDIDAS Y GANANCIAS:
A.- INGRESOS DE EXPLOTACION
709 RAPPEL SOBRE VENTAS  15000
700 VENTAS MERCADERIAS 190.000
705 PRESTACION DE SERVICIOS 68.000
770 INGRESOS EXCEPCION 10.000
253.000
B.- GASTOS DE EXPLOTACION
600 COMPRA DE MERCADERIAS 58.000
628 SUMINISTROS 18.000
608 DEVOLUCION COMPRAS -19.000
621 ARRENDAMIENTOS Y CANONES 27.000
623 SERVICIOS PROFESIONALES INDEPENDIENTES 21.000
627 PUBLICIDAD 35.000
642 SEGURIDAD SOCIAL 16.000
678 GASTOS EXTRAORDINARIOS 8.000
681 AMORTIZACION INMOVILIZADO 9.000
173.000
A-B RESULTADOS EXPLOTACION
 80.000
C.- INGRESOS FINANCIEROS
769 OTROS INGRESOS FINANCIEROS 15.000
15.000
D.- GASTOS FINANCIEROS
662 INTERESES DEUDAS 18.000
18.000
C-D RESULTADO FINANCIERO
-3.000
BAI
80.000-3.000=77.000
IMPUESTO SOCIEDADES0
77.000%25= 19.250
RESULTADO NETO
  77.000-19.250=57.75




8.- Dada la relación adjunta de elementos se pide ordenarlos y clasificarlos en su documento contable correspondiente (impuesto de sociedades 30%).
Realiza el análisis económico y patrimonial:

Venta de mercaderías 51.700
Resultado del ejercicio ?
Bancos 5.100
Otros gastos financieros 3.000
Equipos procesos de información 5.000
Otros ingresos financieros 100
Capital social ?
Sueldos y salarios 4.300
Préstamos a LP 12.400
Compra de mercaderías 22.700
Suministros 700
Aplicaciones informáticas 1.200
Mercaderías 38.500
Maquinaria 11.000
Proveedores 5.100
Terrenos 5.700
Impuesto de Sociedades 5.700
AAIM (4000)
Mobiliario 4.200
Clientes 5.500
Caja 1.000
Reserva legal 46.000
Construcciones 88.000
Dotaciones a la amortización 2.000

ACTIVO
ACTIVO NO CORRIENTE
206 APLICACIONES INFORMATICAS 1200
210 TERRENOS Y BIENES NATURALES 20.000
211 CONSTRUCCIONES 88000
213 MAQUINARIA 11000
216 MOBILIARIO 4200
280 AAIM -4000
120400
ACTIVO CORRIENTE
300 MERCADERIAS 38500
430 CLIENTES 5500
572 BANCO C/C 5100
570 CAJA 1000
SUBTOTAL 50100
TOTAL 170500
PASIVO
NETO
100 CAPITAL 93700
112 RESERVA LEGAL 46000
129 RESULTADO 13300
159900
PASIVO NO CORRIENTE
170 DEUDAS LP CON EC 12400
12400
CORRIENTE
400 PROVEEDORES 5100
SUBTOTAL 5100
TOTAL 170500
________________________________________
A
INGRESOS EXPLOTACION
700 VENTA MERCADERIAS 51700
SUBTOTAL 51700
B
GASTOS EXPLOTACION
600 COMPRAS 22700
628 SUMINISTROS  700
640 SUELDOS Y SALARIOS 4300
680 DOTACIONES A LA AMORTIZACION 2000
SUBTOTAL 29700
A-B RESULTADO EXPLOTACION=21900
C
INGRESOS FINANCIEROS
D
GASTOS FINANCIEROS
669 OTROS GASTOS FINANCIEROS 3000
C-D RESULTADO FINANCIERO = -3000

RESULTADO ACTIVIDAD = 18900
IMPUESTO SOCUEDADES 5700
B. NETO= 13.300

RATIO TESORERIA= EFECTIVO/PASIVO CORRIENTE
5100+1000/5100 = 1.2 CORRECTO
RATIO LIQUIDEZ = ACTIVO CORRIENTE / PASIVO CORRIENTE
50100/5100 = 9.82 DATO MALO PORQUE TIENE DEMASIADA LIQUIDEZ DEBERIA INVERTIR EN ALGUN TIPO DE ACTIVO
RATIO GARANTIA = ACTIVO REAL / EXIGIBLE TOTAL
170500/ 17500 = 9.74 EXCESO DE GARANTIA TIENE RECURSOS OCIOSOS

RENTABILIDAD ECONOMICA= BAII /ACTIVO= 22000/170500 * 100 = 12.9 % BUENA RENTABILIDAD
RENTABILIDAD FINANCIERA = RESULTADO EJERCICIO/ ACTIVO TOTAL *100 = 13300/170500 = 7.8%

9.- Dado el siguiente balance de Mercasa, s.l.
ACTIVO
Maquinaria 37.000
AAIM (6.000)
Materias Primas 23.000
Clientes 5.000
Bancos 6.300
Total: 65.300
PASIVO Y NETO
Capital Social 43.000
Préstamos a LP 10.000
Proveedores 8.300
Acreedores 4.000
Total: 65.300
a) Redacta el balance conforme el modelo de representación de submasas patrimoniales.
ACTIVO
NO CORRIENTE
213. MAQUINARIA 37.000
28. AAIM -6.000
31. MATERIAS PRIMAS 23.000
subtotal: 54.000
CORRIENTE
430. CLIENTES 5.000
572. BANCOS 6.300
subtotal:11.300
total: 65.300
PASIVO
NETO
100. CAPITAL 43.000
subtotal: 43.000
NO CORRIENTE
170. DEUDAS LP 10.000
subtotal: 10.000
CORRIENTE
400. PROVEEDORES 8.300
410. ACREEDORES 4.000
subtotal 12.300
b) Calcula el fondo de maniobra e interpreta la situación patrimonial.
 FM= (PN+PNC)-ANC= 43.000+10.000-54.000= -1000
Concurso, estado de insolvencia: Existe un desquilibrio financiero.
c) Calcula los ratios financieros de tesorería, liquidez y garantía, interpreta los resultados y comenta las posibles soluciones en caso de que los valores se desvíen de sus valores óptimos.
Ratio Tesorería =Efectivo/Pasivo Corriente
6.300/12.300= 0.512
Ratio Liquidez=Activo Corriente / Pasivo Corriente
 11.300/12.300=0.9187
Garantía= Activo Real / Exigible Total
65.300/22.300=2.92
11.- Dos empresas de ocio representan los siguientes datos:
EMPRESA: Pulgarcito
ACTIVO: 325.000
EXIGIBLE TOTAL: 208.000
BAII: 78.000
BAI: 65.000
VENTAS: 650.000

EMPRESA: Gato con botas
ACTIVO: 45.500
EXIGIBLE TOTAL: 15.600
BAII: 20.800
BAI: 5.200
VENTAS: 234.000
Calcula la rentabilidad económica y financiera de las dos empresas.
Rentabilidad Económica = BAII/ Activo Total x 100
P =  78.000/325.000=24%
G =  20.800/45.500=45.71%
Rentabilidad Financiera = beneficio neto/ Activo total x 100=
 P= 65.000 / 325.000 = 20%
G=  5.200/ 45.500 = 11.43

4.- La empresa House, s.l. tiene el siguiente patrimonio:
Un local de consultas de 78.000 euros, una ambulancia que se adquirió por 65.520, diversas máquinas médicas valoradas en 29.160 y materiales quirúrgicos en el almacén por un importe de 2.640.
La empresa Lost le debe 7.800 por una compra efectuada.
Tiene un depósito en el Banco Bones de 3.360 euros.
La pérdida de valor de los diferentes integrantes del inmovilizado ha sido estimada en 10.800 euros.
Debe a un proveedor Break 3.840 euros por un préstamo a pagar en 3 meses.
Debe al banco Prisson 57.840 por un préstamo a pagar en 5 años.
Debe al banco Gray 7.200 por un préstamo a pagar en 9 meses.
La aportación de los propietarios de la empresa en el momento de su constitución fue de 82.800 y de los beneficios obtenidos se reinvirtieron 24.000.
Elabora el balance de esta empresa y analiza su estado financiero, a partir de su fondo de maniobra.

5.- Los balances de tres empresas dedicadas a la preparación de reuniones y eventos presentan las siguientes cifras expresadas en miles de euros:

Prepara reuniones:
ACTIVO:
Inmovilizado: 189.72
Existencias:10.20
Deudores comerciales:3.84
Efectivo:1.44
PASIVO:
Patrimonio neto:125.40
Pasivo no corriente:67.44
Pasivo corriente:12.36
Total activo/pasivo:205.20

Todo listo SAL:
ACTIVO:
Inmovilizado: 179.04
Existencias:19.70
Deudores comerciales:3.84
Efectivo:122.86
PASIVO:
Patrimonio neto:12.96
Pasivo no corriente:209.76
Pasivo corriente:155.28
Total activo/pasivo:378

Sin Problemas sl
ACTIVO:
Inmovilizado: 159.20
Existencias:17.28
Deudores comerciales:14.40
Efectivo:104.32
PASIVO:
Patrimonio neto:244.80
Pasivo no corriente:31.68
Pasivo corriente:18.72
Total activo/pasivo:295.20

_____________________________________________________________

BALANCE DE SITUACION
PERDIDAS Y GANANCIAS
ANALISIS FIANCIERO FM=AC-PC RT=E/PC RL=AC/PC RG=AR/ET
ANALISIS ECONOMICO RE=BAII/AT  RF=BN/AT
Capital: ?¿
Beneficio no distribuido: 5.000
Resultado del ejercicio: ?¿
Deuda Bancaria LP: 30.000
Patente: 16.000
Maquinaria: 9.000
Mobiliario: 2.000
Vehículo: 20.000
67 Pérdidas Acumuladas del valor del inmovilizado: 8.000
Material: 500
Deuda con proveedor: 1.000
Deuda Luz: 500
Derecho cobro clientes: 2.000
Derecho cobro clientes letra cambio: 400
Deuda con Hacienda: 600
Inversión Acciones: 1.900
Caja: 200
Caja Madrid: 500
600 Compra Material Diverso: 2.000
608 Devolución de compra: 300
621 Alquiler: 6.000
625 Seguro de coche: 1.500
628 Luz: 2.000
640 Nóminas trabajadores: 25.000
642 Seguridad Social: 5.000
662 Intereses deuda: 2.000
68 Amortización Anual Inmovilizado: 1.000
705 Prestación de servicios: 50.000
766 Ingresos por dividendos: 100
762 Intereses C/C: 50
20% IMPUESTO SOCIEDADES.

BALANCE DE SITUACION
PERDIDAS Y GANANCIAS
ANALISIS FIANCIERO FM=AC-PC RT=E/PC RL=AC/PC RG=AR/ET
ANALISIS ECONOMICO RE=BAII/AT  RF=BN/AT

ACTIVO
NO CORRIENTE
202 Patente: 16.000
213 Maquinaria: 9.000
216 Mobiliario: 2.000
218 Vehículo: 20.000
280 Pérdidas Acumuladas del valor del inmovilizado:( 8.000 )
SUBTOTAL        39.000
CORRIENTE
328 Material: 500
430 Derecho cobro clientes: 2.000
431 Derecho cobro clientes letra cambio: 400
540 Inversión Acciones: 1.900
570 Caja: 200
572 Caja Madrid: 500
SUBTOTAL        5.500
TOTAL ACTIVO 44.500
PASIVO
NETO
100 Capital: ?¿--->   2640
113 Beneficio no distribuido: 5.000
NO CORRIENTE
170 Deuda Bancaria LP: 50.000
SUBTOTAL        50.000
CORRIENTE:
400 Deuda con proveedor: 1.000
410 Deuda Luz: 500
475 Deuda con Hacienda: 600
SUBTOTAL        2100
TOTAL PASIVO 44.500
INGRESOS EXPLOTACION
705 Prestación de servicios: 50.000
SUBTOTAL        50.000
GASTOS EXPLOTACION
600 Compra Material Diverso: 2.000
608 Devolución de compra: (300)
621 Alquiler: 6.000
625 Seguro de coche: 1.500
628 Luz: 2.000
640 Nóminas trabajadores: 25.000
642 Seguridad Social: 5.000
680 Amortización Anual Inmovilizado: 1.000
SUBTOTAL        42200
RESULTADO EXPLOTACION        7800
INGRESOS FINANCIEROS
766 Ingresos por dividendos: 100
762 Intereses C/C: 50
SUBTOTAL        150
GASTOS FINANCIEROS
662 Intereses deuda: 2.000
SUBTOTAL        2000
RESULTADO FINANCIERO        -1850
RDO ACTIVIDAD 5950
IMPUESTO 20% 1190
RESULTADO NETO 4760



ANALISIS FIANCIERO
FM=AC-PC
5500-2100=3400
RT=Ef/PC
700/2100= 0.33
RL=AC/PC
5500/2100=2.62
RG=AR/ET   A/(PC+PNC)
44500/32100=1.39

ANALISIS ECONOMICO
RE=BAII/AT 
7800/44500=17.53%
RF=BN/AT
4760/44500=10.70%

jueves, 12 de diciembre de 2013

EJERCICIO PHP

1.-LoginOk.php
-Recoger variables nombre y password. $perro=$_post('canido');
-Hacer consulta: "select * from casa where canido = '".$perro"' ...
-Hacer resultado: mysql_query($consulta);
-Hacer fila: mysql_fetch_array($consulta);
-Comprobar si existe el nombre en la base de datos:
if ($fila==0) // no existe
header{redirigir a login.php para que salga el mensaje:"El usuario y/o contraseña no existe."
else
if($password<>$fila['password'])
header{redirigir a login.php para que salga el mensaje:"El usuario y/o contraseña no existe."
Recoger variables de sesión:
$_SESSION['id']=$fila['id']
$_SESSION['nombre']=$fila['nombre']
2.-Login.php
-Recoger el header (con GET) y mostrar mensaje de "El usuario y / o contraseña no existe".session_start();if(isset($_SESSION['noexiste']))
{echo "El usuario no existe";unset($_SESSION['noexiste']);}
3.-Menu.php
Dar la bienvenida al usuario si está conectado.
if (isset($_SESSION ['id']$perro = $_SESSION['canido'];echo "Hola ".$canido;
echo Bienvenido $_SESSION['nombre'];
4.-CerrarSesion.php
Unset id de $_SESSION <?php// Cerrar sesiónsession_start();unset($_SESSION['usuario']);header("location:login.php"
Unset nombre de $_SESSION
5.-ListadoCliente.php
poner en las celdas $row['perro'] Incluir paginacion:
6.-Editar.php // EditarOk.php --> redirigir a listadocliente.php
$consulta="UPDATE perro SET campo ='".$campo."'WHERE id='".$id."'";
$resultado = mysql_query($consulta);
7.-Eliminar.php --> redirigir a listadocliente.php
$consulta = "DELETE from loquesea WHERE id='".$id."'";
8.-DetalleCliente.php
$consulta = "SELECT * from loquesea as l inner join casas as c on c.combo = p.id WHERE c.id='".$id."'";
rellenar <?php echo $fila['loquesea']?>
9.-CrearCliente.php // CrearCliente.php--> redirigir a listadocliente.php
rellenar desplegable $consulta = "SELECT * FROM casetas";$resultado = mysql_query($consulta);
{?><option value="<?php echo $fila['id']?>"> <?php echo $fila['name']?> </option><?php}?>
crearclienteOK.php
enlazar campos $perro = $_POST['perro'];
¡$consulta = "INSERT INTO caseta(perro)values('".$perro."')";
$resultado = mysql_query($consulta);
header("location:dondesea.php");?>
10.-CrearPDF.php -->Crear el pdf de detallecliente.php
<?php require_once("../include/dompdf/dompdf_config.inc.php");
// Crear pdf del detalle de un cliente
ob_start(); require_once('dondesea.php');$dompdf = new DOMPDF();
$dompdf->load_html(ob_get_clean());$dompdf->render();$dompdf->stream("archivo.pdf");
?>
NOTA: En cada php poner arriba
<?php
session_start();

?> 

APUNTES PHP

Funciones de PHP para MySQL

mysql_connect: Abre una conexión  a MySQL Server.
int mysql_connect(string[hostname [:port][:/path/to/socket]], string[username],string [password])
Esta función establece una conexión a un servidor mysql. Todos los argumentos son opcionales y los valores por defecto son localhost, el usuario dueño del proceso, sin password.
Si realizas dos veces una llamada a esta función con los mismos parámetros, devuelve el mismo identificador que para la llamada anterior.
Todas las conexiones terminan al terminar la ejecución del script, a no ser que se elimine la conexión llamando a la función mysql_close().

mysql_select_db: Selecciona una base de datos MySql.
int mysql_select_db(string database_name, int [identificador del link] )
Esta función asigna la base de datos activa en el servidor asociado al identificador del link.

mysql_query: Envía una consulta SQL a MySQL.
int mysql_query(string query, int [identificador del link] )
Envía una consulta a una base de datos activa en el servidor asociado al link que se especifica. En el caso de que no se especifique ninguna conexión abierta, la función intenta reestablecer una conexión con la función mysql_connect().
La función devuelve TRUE o FALSE si la consulta tiene éxito. Si el valor devuelto es TRUE, significa que la consulta puede ser realizada, no que existan datos que respondan a esa consulta.
Para consultar cuantas líneas responden a esa consulta, se puede utilizar la función mysql_affected_rows() y nos dirá cuantas líneas se han visto afectadas por la última operación INSERT, DELETE, REPLACE o UPDATE. En el caso de tratarse de una operación SELECT la función mysql_query() devuelve un identificador de resultado que se puede utilizar con la función mysql_result().

mysql_fetch_array: Introduce el resultado en un array asociativo.
array mysql_fetch_array(resource resultado, int [result type])
Esta función es una versión extendida de mysql_fetch_row(). Lo que hace es almacenar el resultado en un array indexado, almacenando así los datos en un índice asociativo utilizando los nombres de los campos como claves.
Si existen más de una columna con el mismo nombre, tendrá precedencia la última columna. Para acceder a las otras columnas con el mismo nombre, se debe indexar la columna o hacer un alias para ella.
Ejemplo:
select tabla1.precio as precio 1, tabla2.precio as precio2 from tabla1, tabla2
El segundo argumento, es una constante que puede tomar los siguientes valores.
MYSQL_ASSOC
MYSQL_NUM
MYSQL_BOTH

mysql_num_rows: Obtiene el número de líneas del resultado.
int mysql_num_rows(resource resultado)
Devuelve el número de líneas que contiene el parámetro resultado.

mysql_affected_rows: Obtiene el número de tuplas modificadas en la última operación MySql.
int mysql_affected_rows(resource resultado)
Devuelve el número de líneas afectadas por la última operación, INSERT, UPDATE o DELETE, asociadas con el identificador que se especifica.
Si no se especifica el link, se asume que se refiere al último.
Excepción: Si la última operación ha borrado todos los registros de una tabla, esta función devuelve 0.
Esta función no tiene efecto con ninguna operación SELECT, puesto que no modifican ninguna línea.

mysql_field_name: Devuelve el nombre de un campo especificado en un resultado.
string mysql_field_name(resource resultado, int field_index)
Devuelve el nombre del campo que se especifica, mediante el orden que ocupe dentro del resultado.

mysql_tablename: Obtiene el nombre de la tabla de un campo.
string mysql_tablename(resource resultado, int i)
Esta función devuelve el nombre de una tabla de un puntero de resultados que ha devuelto previamente la función mysql_num_rows.

mysql_close: Cierra la conexión MySql.
int mysql_close(resource resultado)
Esta función cierra la conexión permanente que mantiene el link. El parámetro es opcional. Si no se especifica, se cerrará la última conexión abierta.
Si una conexión no se cierra, el script la cierra automáticamente al terminar su ejecución.
Esta función no opera correctamente con las conexiones abiertas con la función mysql_pconnect().
-----------------------------------------------------------------------
$GLOBALS
Es un array asociativo que contiene las referencias a todas la variables que están definidas en el ámbito global del script. Los nombres de las variables son las claves del array.
Ejemplo
<?php
function test() {
    $foo = "variable local";
    echo '$foo en el ámbito global: ' . $GLOBALS["foo"] . "\n";
    echo '$foo en el ámbito simple: ' . $foo . "\n";
}
$foo = "Contenido de ejemplo";
test();
?>
El resultado del ejemplo sería algo similar a:
$foo en el ámbito global: Contenido de ejemplo
$foo en el ámbito simple: variable local

$_GET

Un array asociativo de variables pasado al script actual vía parámetros URL.

Ejemplo

<?php
echo 'Hola ' . $_GET["nombre"] . '!';
?>
Asumiendo que el usuario introduzco http://example.com/?nombre=Hannes
El resultado del ejemplo sería algo similar a:
Hola Hannes!
$_POST

Un array asociativo de variables pasadas al script actual a través del método HTTP POST.
Ejemplo

<?php
echo 'Hola ' . $_POST["nombre"] . '!';
?>
Asumiendo que el usuario envió por el método POST a través de un formulario nombre=Juan
El resultado del ejemplo sería algo similar a:
Hola Juan!

$_REQUEST
Un array asociativo que por defecto contiene el contenido de $_GET, $_POST.

$_FILES
En PHP, la capacidad de carga de archivos es posible usando la siguiente función: move_uploaded_file(filename, destination) - mueve un archivo a un destino especificado en el servidor. Cuando un archivo se carga utilizando la función move_uploaded_file(),este es rápidamente almacenado en una ubicación temporal en el servidor web.
Para mover el archivo a su destino final y manipular sus diferentes propiedades, se utiliza la súper matriz global PHP $ _FILES.
La matriz $ _FILES utiliza el valor de nombre proporcionado por <input type="file" name="uploadFile"/> (en este caso 'uploadFile') para identificar el archivo que se cargó.
Las entradas asociadas con la matriz $ _FILES se describen a continuación.
       * $_FILES['UploadFile']['tmp_name']: El directorio en el servidor web donde está temporalmente almacenado el archivo. Por defecto es el directorio uploadtemp ubicado en la carpeta de PHP.
       * $_FILES['uploadFile']['name'] : nombre del archivo en el sistema del usuario.
       * $_FILES['uploadFile']['size'] : tamaño del fichero en bytes.
       * $_FILES['uploadFile']['type']  : el tipo MIME del archivo.
       * $_FILES['uploadFile']['error']  : el código de error asociado a la carga de archivos (0 carga exitosa,1 - el archivo excede el máximo tamaño de carga,  2 - el archivo excede el tamaño máximo de archivo, 3 - fichero parcialmente cargado, 4 - No existe el fichero cargado)

$_SESSION

Es un array asociativo que contiene variables de sesión disponibles para el script actual

Funciones asociadas:

session_start() crea una sesión o reanuda la actual basada en un identificador de sesión pasado mediante una petición GET o POST

session_destroy() destruye toda la información asociada con la sesión actual. No destruye ninguna de las variables globales asociadas con la sesión, ni destruye la cookie de sesión. Para volver a utilizar las variables de sesión se debe llamar a session_start().

La función session_unset() libera todas las variables de sesión actualmente registradas.
-----------------------------------------------------------------------
Funciones básicas y ejemplos conexión con MySql:
mysql_connect
Se utiliza para conectarse con un servidor de bases de datos, se usa normalmente con 3 parámetros, el dominio del servidor, nombre de usuario y password.
Ejemplo:
$conexion = mysql_connect("localhost", "user","password");
mysql_select_db
Se utiliza para elegir la base de datos que queremos gestionar una vez que se ha realizado la conexión con mysql_connect..
Ejemplo:
$conexion = mysql_connect("localhost", "user","password");
mysql_select_db ("test");
mysql_query
Se utiliza para hacer “querys” o peticiones a la base de datos.
Ejemplo:
$conexion = mysql_connect("localhost", "user","password");
mysql_select_db ("test");
$consulta = "SELECT * FROM Departamentos";
$resultado = mysql_query($consulta);
mysql_fetch_array
Recupera una fila de resultados como un array asociativo, un array numérico o como ambos
Para leer las demás filas necesitamos un while y así leer todas las filas.

La sentencia mysql_fetch_array de php sirve para volcar datos, provenientes de una consulta mysql, dentro de un array php.
Ocurre que cuando hacemos una consulta a la base de datos, Mysql nos retorna el conjunto de datos que responde a nuestra consulta; pero éste conjunto de datos no es legible por php. Para poder manipular estos datos (leerlos y utilizarlos) necesitamos volcarlo en algún elemento manipulable por php, por ejemplo un array.
Entonces, por ejemplo, si hacemos una consulta que nos devuelve 10 filas de una tabla Mysql (conjunto de datos) y luego le aplicamos mysql_fetch_array; obtendremos cómo resultado un array multidimensional de 10 filas y tantas columnas haya en nuestro select.

Ejemplo:
  while ($fila = mysql_fetch_array($resultado))
<tr>  <td> <?php  echo $fila['CodDpto']; ?> </td>
 <td> <?php  echo $fila['Descripcion']; ?> </td></tr>
  mysql_close();
Cierra la conexión con la BD
----------------------------------------------------------
<?php
$dbhost = "localhost";
$dbusuario = "root";    
$dbpassword = "";
$db = "rtb_bd";
$conexion = 0;
//$GLOBALS Significa simplemente que es una variable que está disponible en cualquier parte del script. Cuando quiero utilizar una variable declarada fuera de una función
function conectarBD()
{ $GLOBALS['conexion'] = mysql_connect($GLOBALS['dbhost'], $GLOBALS['dbusuario'], $GLOBALS['dbpassword']);
    mysql_select_db($GLOBALS['db'], $GLOBALS['conexion']);}
function cerrarBD()
{ mysql_close($GLOBALS['conexion']);     }?>
----------------------------------------------------------------
Modificar PHP, MySQL
Para modificar un registro en una base de datos MySQL necesitamos establecer una conexión con el servidor.
$conexion = mysql_connect("servidor" , "usuario" , "password");
seleccionamos la base de datos en la cual se insertaran los datos.
mysql_select_db("bd",$conexion);
Creamos la consulta de modificación.
$sql = "UPDATE agenda SET nombre='$nombre',direccion='$direccion',"telefono='$telefono', email='$email'";
Para ejecutar la consulta necesitamos escribir el siguiente código.
mysql_query($sql);
Ejemplo Procesar un formulario mediante PHP e modificar un registro en MySQL
Para modificar un registro en concreto será necesario conocer el id del registro que vayamos a modificar. Este id puede ser pasado por URL por ejemplo de un listado de 10 empleados pasar por href  (URL) el id del empleado que queramos modificar
<a href='modificar.php?id=<?php echo $fila['CodEmp']?>'><img src="images/icono_modificar.gif"> </a>
Una vez tengamos el id ya podremos generar la pantalla para modificar.
<?php
//Establecimiento de la conexión
$conex = mysql_connect("localhost", "root", "bbdd")
or die("NO se pudo realizar la conexión");
// Selección de la base de datos
mysql_select_db("test")
or die("ERROR con la base de datos");
$id= $_GET['id'];
//Preparación y ejecución de la consulta
$consulta = "SELECT * FROM Empleados";
$consulta .= " WHERE CodEmp=$id";
$resultado = mysql_query($consulta);
$fila = mysql_fetch_array($resultado);?>
<form id="inserciones" action="modificarOk.php" method="POST">
<input type=hidden name="eCodEmp" value="<?php echo $fila['CodEmp']; ?>">
//hidden es para pasar un dato oculto al otro php
<table>
<tr>
<td>Nombre:</td>
<td><input type=text name="eNombre" value="<?php echo $fila['Nombre']; ?>"></td>
</tr>
<tr>
<td>Sueldo:</td>
<td><input type=text name="eSueldo" value="<?php echo $fila['Sueldo']; ?>"></td>
</tr>
<?php
$consulta2 = "SELECT * FROM Departamentos";
$resultado2 = mysql_query($consulta2);
?>
<tr>
<td>Departamento:</td> //Es un desplegable
<td>
<select id="CodDpto" name="eCodDpto">

<?php
                while($fila2 = mysql_fetch_array($resultado2))
                {
                ?>
<option value="<?php echo $fila2['CodDpto']; ?>"
<?php  if ($fila['CodDpto'] == $fila2['CodDpto']) echo "selected"; ?> ><?php echo $fila2['Descripcion']; ?> </option>
 
//Queremos que en el desplegable nos salga el departamento que tiene ese determinado empleado que queremos modificar. Por eso hacemos la comparación entre los códigos de dpto. que obtenemos del Select primero que contiene los datos del empleado con id=X  y otro select de donde ya sacaremos la descripción del departamento, en el momento que coincidan los códigos será ese el se pinte por defecto, eso se controla con el selected                                                                            
                <?
                }
                ?>            
</select>
</td>
 </tr>
</table>
<input type="submit" value="Modificar">
</form>
Una vez tenemos la pantalla de modificar con los datos del empleado a modificar ya podremos recoger todos esos datos y las modificaciones q el usuario haga del empleado y hacer un update de todos los datos.
<?php
  //Establecimiento de la conexión
  $conex = mysql_connect("localhost", "root", "bbdd")
        or die("NO se pudo realizar la conexi�n");
  // Selección de la base de datos
  mysql_select_db("test")
       or die("ERROR con la base de datos");
  //Preparación y ejecución de la consulta
  $codEmp = $_POST['eCodEmp'];
  $nombre = $_ POST ['eNombre'];
  $sueldo = $_ POST ['eSueldo'];
  $codDpto = $_ POST ['eCodDpto'];
  $consulta = "UPDATE Empleados SET Nombre='$nombre', Categoria='$categoria',      Sueldo='$sueldo', CodDpto='$codDpto'
 WHERE CodEmp=$codEmp";
 $resultado = mysql_query($consulta);
  if ($resultado)
      echo "<b>Empleado modificado!</b><br /><br />\n";
-------------------------------------------------------------------
Eliminar PHP, MySQL
Para eliminar un registro en una base de datos MySQL necesitamos establecer una conexión con el servidor.
$conexion = mysql_connect("servidor" , "usuario" , "password");
seleccionamos la base de datos en la cual se insertaran los datos.
mysql_select_db("bd",$conexion);
Creamos la consulta de eliminación.
$sql = "DELETE FROM tabla “;
Para ejecutar la consulta necesitamos escribir el siguiente código.
mysql_query($sql);
Ejemplo Procesar un formulario mediante PHP y eliminar el registro en MySQL
Previamente pasamos el id por URL del empleado a eliminar
<a href='eliminar.php?id=<?php echo $fila['CodEmp']?>'><img src="images/icono_modificar.gif"> </a>
Eliminar.php
<?php
  //Establecimiento de la conexión
  $conex = mysql_connect("localhost", "root", "bbdd")
        or die("NO se pudo realizar la conexi�n");
  // Selección de la base de datos
  mysql_select_db("test")
       or die("ERROR con la base de datos");
  //Preparación y ejecución de la consulta
  $codEmp = $_GET['id'];
  $consulta = "DELETE FROM Empleados WHERE CodEmp=$codEmp";
  $resultado = mysql_query($consulta);
  if ($resultado)
      header("Location: listado.php");
--------------------------------------------------------------------
BÚSQUEDAS PHP, MySQL
Para buscar un registro en una base de datos MySQL necesitamos establecer una conexión con el servidor.
$conexion = mysql_connect("servidor" , "usuario" , "password");
seleccionamos la base de datos en la cual se buscaran los datos.
mysql_select_db("bd",$conexion);
Creamos la consulta general
$sql="select * from tabla where condición '";
Y concatenamos con nuevas subconsultas para realizar la búsqueda dependiendo del valor a buscar
$sql  =  $sql  .  " WHERE campo LIKE '%$valor%'";
// concatena la consulta principal con la subconsulta
Las 2 búsquedas más convencionales son:
1. Buscar filas que contengan cierta palabra clave.
Para esto utilizamos el Operador Mysql LIKE
if ($campoBusqueda == 'categoria')   //campoBusqueda es un desplegable con las                    opciones por las que puede buscar
$sql  =  $sql  .  " WHERE Categoria LIKE '%$valor%'";  
 //valor es el input donde escribe el usuario
2. Buscar filas que coincidan exactamente con cierta palabra clave.
Para esto utilizamos el Operador Mysql de igualdad
if ($campoBusqueda == 'sueldo')
 $sql  =  $sql  .  " WHERE Sueldo = '$valor'";
Por último, para ejecutar la consulta necesitamos escribir el siguiente código.
mysql_query($sql);
----------------------------------------------------------
SESIONES
Las sesiones son una forma sencilla de almacenar datos para usuarios de manera individual usando un ID de sesión único. Esto se puede usar para hacer persistente la información de estado entre peticiones de páginas.
Lo primero que debemos hacer cuando el usuario introduzca su nombre y contraseña será comprobar que existen en la BD y todo es correcto almacenar el id_usuario y el nombre en variables de Sesión para poder usar esas variables en todas las páginas php de la aplicación.
Hay que tener en cuenta que cada vez que queramos usar esas variables habrá que iniciar sesión.
A continuación se detallan las funciones necesarias para trabajar con sesiones.
Para registrar una variable de sesión y establecer un valor usaremos $_SESSION["nombre_variable"].
En todas las páginas de nuestro sitio web donde necesitemos usar algún dato del usuario que ha iniciado sesión o mostrar alguna opción especial para el usuario deberemos añadir el siguiente código, siempre al principio del fichero (antes de cualquier etiqueta HTML de la página):
<?
  session_start();
?>
Con el procedimiento "session_start()" iniciaremos la sesión, si ya está iniciada no hará nada.
Añadir un enlace para que el usuario pueda cerrar la sesión en cualquier momento
if (isset ($_SESSION["id_usuario"])){

echo "<b>Bienvenid@ " . $_SESSION['nombre_usuario'] . "  <a href='logout.php'>[Cerrar Sesion]</a></b>";
}
Uso de la función session_destroy para cerrar la sesión en PHP
Crearemos un fichero de texto plano sin formato con el siguiente contenido, guardándolo con el nombre "cerrarsesion.php" y lo subiremos a nuestro sitio FTP:
<?
  session_start();
  unset($_SESSION["id_usuario"]);
  unset($_SESSION["nombre_usuario"]);
  session_destroy();
  header("Location: index.php");
  exit;
?>
-------------------------------------------------------
Generar PDF con Dompdf
Vamos a ver cómo generar PDF's desde PHP empleando una librería llamada DomPDF.
Esta librería nos permite convertir un documento HTML a PDF, con lo cual es muy sencillo el generar cualquier documento PDF, simplemente generando la página HTML e indicándole a la librería que genere el documento PDF.
Lo primero que tendremos que hacer es cargar la librería, y a partir de ahí podremos generar el documento HTML que luego imprimiremos.
Véase el siguiente ejemplo de utilización de dicha librería:
<?php
# Cargamos la librería dompdf.
require_once 'lib/pdf/dompdf_config.inc.php';
# Contenido HTML del documento que queremos generar en PDF.
$html='
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Ejemplo de Documento en PDF.</title>
</head>
<body>
<h2>Ingredientes para la realización de Postres.</h2>
<p>Ingredientes:</p>
<dl>
<dt>Chocolate</dt>
<dd>Cacao</dd>
<dd>Azucar</dd>
<dd>Leche</dd>
<dt>Caramelo</dt>
<dd>Azucar</dd>
<dd>Colorantes</dd>
</dl>
</body>
</html>';
# Instanciamos un objeto de la clase DOMPDF.
$mipdf = new DOMPDF();
# Definimos el tamaño y orientación del papel que queremos.
# O por defecto cogerá el que está en el fichero de configuración.
$mipdf ->set_paper("A4", "portrait");
# Cargamos el contenido HTML.
$mipdf ->load_html(utf8_decode($html));
# Renderizamos el documento PDF.
$mipdf ->render();
# Enviamos el fichero PDF al navegador.
$mipdf ->stream('FicheroEjemplo.pdf');
?>
-----------------------------------------------------------------
Convertir Fechas PHP y MySQL
El formato usado en las tablas de MySQL para representar las fechas, es distinto al usado en muchos países, como por ejemplo España. Mientras que MySQL usa el formato AAAA/MM/DD (ejemplo 2013/08/08); aquí, como en muchos lugares se usa el formato DD/MM/AAAA (ejemplo 08/08/2013).
Bien, para poder introducir fechas en MySQL, recogidas en formularios a los usuarios por ejemplo, debemos convertirlas a formato MySQL; y lo mismo si queremos mostrar una fecha obtenida de una tabla MySQL en nuestra web.
La mejor forma de realizar una conversión entre la fecha que nos devuelve MySQL a nuestro formato es utilizando DATE_FORMAT de MySQL . La siguiente consulta nos devolvería la fecha con el formato DD/MM/AAAA, aunque podríamos indicarle que nos la devolviera como a nosotros nos interese.
mysql_query("SELECT DATE_FORMAT(campo_fecha,'%d/%m/%Y') FROM tabla", $conexión);
// El resultado será devuelto con el formato DD/MM/AAAA
Con este método obtendríamos una fecha del formato MySQL al nuestro. Pero no es la única.
Tenemos otra opción que nos valdría para convertir desde MySQL al nuestro, y desde el nuestro a MySQL:
//Cambiar fecha a MySQL(almacenar en BD). Formato fecha en MySQL
function obtenerFechaMySql($fecha)
{   list($day, $month, $year) = explode('/', $fecha);
    return "$year-$month-$day";}
En este caso, recogemos una variable $fecha con la fecha que ha introducido el usuario, o simplemente la que deseamos cambiar. Nos lista en las variables $dia $mes y $ano los valores resultantes de separar con la función ”explode” la variable $fecha. Una vez listadas las variables solo debemos montar la última variable $fecha a nuestro gusto.
OJO!! Como muchos sabréis  la función “explode” lee una cadena de texto y separa en un array (o en este caso nos lista por variable) los valores de esa cadena de texto usando un separador común, como puede ser un espacio ” “, o en este caso una barra “/”. Dicho esto, si la fecha introducida tiene el formato 08-08-2013 no funcionaria, con lo cual debemos avisar al usuario a introducir la fecha como nosotros queramos.
Para pasar de MySQL a nuestro formato, sabiendo de nuevo la separación en la fecha (que normalmente es /) usamos la misma función que antes, pero recogiendo en la variable $fecha el dato obtenido de la tabla.
//Leer de BD. Formato fecha española
function obtenerFecha($fechaMySql)
{  list($year, $month, $day) = explode('-', $fechaMySql);
    return "$day/$month/$year";}




sábado, 7 de diciembre de 2013

EJERCICIOS PHP.


  • 1 Crear en la base de datos "base1" otra tabla llamada "cursos".
    La estructura de esta segunda tabla debe ser:
    • codigo int auto_increment primery_key
    • nombrecurso varchar(40)
    • Utilizar el PHPMyAdmin para la creación de esta tabla.
      Implementar las dos páginas necesarias para efectuar el alta de cursos. Un formulario para ingresar el nombre del curso y otra página donde se efectuará el insert.
HTML:
<html>
<head>
<title>Ejercicio 1 B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>INSERTAR CURSOS<h1>
<form action="dardealta.php" method="post">
<input type="text" name="curso"></input>
<input type="submit" value="ACEPTAR"/>
</form>
</body>
</html>
PHP:
<?php
include('conexion.php');
conectarBD();
$curso = $_POST['curso'];
$consulta = "INSERT INTO cursos(nombrecurso) values('".$curso."')";
$insercion = mysql_query($consulta);
cerrarBD();
header("location:altacurso.php");
?>
  • 2 Confeccionar un programa que recupere los datos de la tabla cursos de la base de datos base1. Mostrar el código de curso y su nombre.

    <html>
    <head>
    <title>Ejercicio 2 B.</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <h1> LISTADO DE CURSOS</h1>
    <table border="2px">
    <tr>
    <td>Id</td>
    <td>Curso</td>
    </tr>
    <?php
    include('conexionTablaCurso.php');
    conectarBD();
    $consulta = "SELECT * FROM cursos";
    $resultado = mysql_query($consulta);
    while($fila = mysql_fetch_array($resultado))
    {
    ?>
    <tr>
    <td>
    <?php echo $fila['codigo']?>
    </td>
    <td>
    <?php echo $fila['nombrecurso']?>
    </td>
    </tr>
    <?php
    }
    cerrarBD();
    ?>
    </table>
    </body>
    </html>
  • 3 Confeccionar un programa que permita ingresar el nombre de un alumno en un formulario, luego mostrar los datos del mismo (tener en cuenta que puede haber más de un alumno con el mismo nombre)
HTML:
<html>
<head>
<title>EJERCICIO 3B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<form method="post" action="visualalumnos.php">
<input type="text" name="nombre" />
<input type="submit" />
</form>
</body>
</html>
PHP:
<html>
<head>
<title>Alumnos visualizados</title>
</head>
<body>
<table border="2px">
<tr>
<td>Codigo</td>
<td>Nombre</td>
<td>E-mail</td>
</tr>
<?php
include('conexionTablaCurso.php');
conectarBD();
$nombre = $_POST['nombre'];
$consulta = "SELECT * FROM alumnos where nombre='".$nombre."'";
$resultado = mysql_query($consulta);
while($fila = mysql_fetch_array($resultado))
{
?>
<tr>
<td>
<?php echo $fila['codigo'] ?>
</td>
<td>
<?php echo $fila['nombre'] ?>
</td>
<td>
<?php echo $fila['email']?>
</td>
</tr>
<?php
}
cerrarBD();
?>
</table>
</body>
</html>
  • 4 Confeccionar un programa que permita ingresar el nombre de un curso por teclado y posteriormente efectúe el borrado de dicho registro en la tabla cursos. Mostrar un mensaje si no existe el curso.
HTML:
<html>
<head>
<title>Ejercicio 2 B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>BORRADO DE CURSOS</h1>
<form action="borrarcurso.php" method="post">
<span>Curso:</span><input type="text" name="CURSO" /><br>
<input type="submit" />
</form>
</body>
</html>
PHP:
<?php
include('conexionTablaCurso.php');
conectarBD();
$curso = $_POST['curso'];
$consulta = "SELECT * from cursos WHERE nombrecurso='".$curso."'";
$resultado = mysql_query($consulta);
$fila = mysql_fetch_array($resultado);
if($fila == 0)
{
echo "El curso introducido no existe";
}
else
{
$consulta = "DELETE from cursos WHERE nombrecurso='".$curso."'";
$resultado = mysql_query($consulta);
header("location:eliminacurso.php");
}
cerrarBD();
?>


  • 5 Efectuar el borrado de todos los registros de la tabla cursos.
HTML:
<html>
<head>
<title>EJERCICIO 5B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Borrar cursos</h1>
<form action="borrarcurso.php" method="post">
<span>Curso:</span>
<input type="text" name="curso" />
<br>
<input type="submit" />
</form>
</body>
</html>
PHP:
<?php
include('conexionTablaCurso.php');
conectarBD();
$curso = $_POST['curso'];
$consulta = "SELECT * from cursos WHERE nombrecurso='".$curso."'";
$resultado = mysql_query($consulta);
$fila = mysql_fetch_array($resultado);
if($fila == 0)
{
echo "El curso no existe";
}
else
{
$consulta = "DELETE from cursos WHERE nombrecurso='".$curso."'";
$resultado = mysql_query($consulta);
header("location:eliminacurso.php");
}
cerrarBD();
?>
  • Efectuar la modificación del nombre del curso de la tabla "cursos". Para la búsqueda ingresar el código de curso.


  • 6 Confeccionar el alta de la tabla alumnos empleando controles de tipo "radio" para la selección del curso.
HTML:
<html>
<head>
<title>EJERCICIO 6B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Alta alumnos</h1>
<form action="alta.php" method="post">
<span>Nombre:</span>
<input type="text" name="nombre" />
<br>
<span>Email:</span>
<input type="text" name="email" />
<br>
<span>Cursos:</span>
<br>
<?php
include('conexionTablaCurso.php');
conectarBD();
$consulta = "SELECT * FROM cursos";
$resultado = mysql_query($consulta);
while($fila = mysql_fetch_array($resultado))
{
?>
<input type="radio" name="curso" value="<?php echo $fila['nombrecurso'] ?>"><?php echo $fila['nombrecurso'] ?></input>
<br>
<?php
}
cerrarBD();
?>
input type="submit" value="Enviar" />
</form>
</body>
</html>
PHP:
<?php
include('conexionTablaCurso.php');
conectarBD();
$nombre = $_POST['nombre'];
$email = $_POST['email'];
$curso = $_POST['curso'];
$consulta = "INSERT INTO alumnos(nombre, email, curso) values('".$nombre."','".$email."','".$curso."')";
$insercion = mysql_query($consulta);
cerrarBD();
header("location:alta.php");
?>


  • 7 Confeccionar un programa que permita ingresar el código de un alumno y nos muestre su nombre, mail y nombre del curso en el cual está inscripto. Hacer un formulario donde se ingrese el código de alumno y otra página donde se muestren los datos respectivos. Mostrar un mensaje si no existe el código de alumno ingresado.
HTML:<html>
<head>
<title>EJERCICIO 7B</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Buscar alumno.</h1>
<form method="post" action="elalumno.php">
<input type="text" name="codigo" />
<input type="submit" />
</form>
</body>
</html>

PHP:<html>
<head>
<title>Alumno buscado</title>
</head>
<body>
<table border="2px">
<tr>
<td>Nombre</td>
<td>E-mail</td>
<td>Curso</td>
</tr>
<?php
include('conexionTablaCurso.php');
conectarBD();
$codigo = $_POST['codigo'];
$consulta = "SELECT * FROM alumnos where codigo='".$codigo."'";
$resultado = mysql_query($consulta);
while($fila = mysql_fetch_array($resultado))
{
?>
<tr>
<td>
<?php echo $fila['nombre'] ?>
</td>
<td>
<?php echo $fila['email'] ?>
</td>
<td>
<?php echo $fila['curso']?>
</td>
</tr>
<?php
}
cerrarBD();
?>
</table>
</body>
</html>






  • 8 Confeccionar un programa que muestre por pantalla los nombres de todos los cursos y al final la cantidad total de cursos.
<?phpinclude(“conexion.php"); //incluir archivo conexión base de datos
conectarBD();
$consulta = "select * from cursos";
$resultado = mysql_query($consulta);
while($fila = mysql_fetch_array($resultado)){
echo $fila['nombrecurso']."<br/>";
}
echo "<br/>";
echo ”<h1>LISTADO DE CURSOS CON TOTAL CURSOS<h1>”
$numero_filas = mysql_num_rows($resultado);
echo "Total cursos: ".$numero_filas;
?>



  • 9 Confeccionar la modificación del mail, nombre y curso de la tabla "alumnos". Ingresar por teclado el código de alumno para su búsqueda.
HTML
<html>
<head>
<title>EJERCICIO 9B</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<h1>Modificar Alumnos.</h1>

<form action="ejerciciosparteb.php" method="get">
<input type="text" name="buscar">
<input type="submit" value="BUSCAR">
</form>
</body>
</html>
PHP
<?php
include(“conexion.php");
conectarBD();
if(isset($_GET['buscar'])){
$id = $_GET['buscar'];
$consulta = "select * from alumnos where codigo=$id";
$resultado = mysql_query($consulta);
echo "<form action='ejerciciosparteb.php' method='get'>";
while($fila = mysql_fetch_array($resultado)){
echo "Mail: <input type='text' name='mail' value='".$fila['email']."'</input><br/>";
echo "Nombre: <input type='text' name='nombre' value='".$fila['nombre']."'</input><br/>";
echo "Curso: <input type='text' name='curso' value='".$fila['curso']."'</input><br/>";
echo "<input type='hidden' name='id' value='".$fila['codigo']."'</input>";
}
echo "<input type='submit' value='MODIFICAR'/></form>";
}
if(isset($_GET['mail']) && isset($_GET['nombre']) && isset($_GET['curso'])){
$mail = $_GET['mail'];
$nombre = $_GET['nombre'];
$curso = $_GET['curso'];
$id = $_GET['id'];
$consulta2 = "update alumnos set nombre='$nombre',email='$mail',curso='$curso' where codigo=$id";
$resultado2 = mysql_query($consulta2);
echo "MODIFICADO!";}
?>


10 Confeccionar un programa que muestre el nombre del curso, la cantidad de inscriptos y todos los inscriptos a dicho curso. Repetir esto con todos los cursos.
Es decir, en la página debe aparecer algo parecido a:

Nombre del curso:PHP
Cantidad de inscriptos:3
Nombres: Martinez Luis - Rodriguez Pablo - Gonzalez Ana

Nombre del curso:JSP
Cantidad de inscriptos:2
Nombres: Hernandez Hector - Roca Marta
<?php
include("conexion.php");
conectarBD();
$total_DWEC=0;
$total_DIW=0;
$total_DWES=0;
$total_WEB=0;
$nombres_DWEC = "";
$nombres_DIW = "";
$nombres_DWES= "";
$nombres_WEB = "";
$consulta = "select * from cursos";
$resultado = mysql_query($consulta);
$consulta2 = "select * from alumnos";
$resultado2 = mysql_query($consulta2);
while($fila=mysql_fetch_array($resultado)){
echo "Nombre del curso: ".$fila['nombrecurso']."<br/>";
while($fila2=mysql_fetch_array($resultado2)){
switch ($fila2['curso']){
case 'DWEC':
$total_DWEC++;
$nombres_DWEC .= $fila2['nombre']." - ";
break;
case 'DIW':
$total_DIW++;
$nombres_DIW .= $fila2['nombre']." - ";
break;
case 'DWES':
$total_DWES++;
$nombres_DWES.= $fila2['nombre']." - ";
break;
case 'WEB':
$total_WEB++;
$nombres_WEB .= $fila2['nombre']." - ";
break;
}
}
echo "Total de alumnos: ";
switch ($fila['nombrecurso']){
case 'DWEC':
echo $total_DWEC."<br/>";
echo "Nombres: ".$nombres_javascript."<br/><br/>";
break;
case 'DIW':
echo $total_DIW."<br/>";
echo "Nombres: ".$nombres_android."<br/><br/>";
break;
case 'DWES':
echo $total_DWES."<br/>";
echo "Nombres: ".$nombres_DWES."<br/><br/>";
break;
case 'WEB':
echo $total_WEB."<br/>";
echo "Nombres: ".$nombres_WEB."<br/><br/>";
break;
}
}
?>

  • 11 Confeccionar un programa que muestre una página con todos los nombres de la tabla "cursos". Los nombres deben aparecer como hipervínculos a otra página que deberá mostrar todos los alumnos inscriptos a dicho curso. Como parámetro en el hipervínculo, pasar el código de curso.
<?php
include("conexion.php");
conectarBD();
$consulta = "select * from cursos";
$resultado = mysql_query($consulta);
while($fila=mysql_fetch_array($resultado)){
echo "<a href='otrapagina.php?curso=".$fila['nombrecurso']."'>".$fila['nombrecurso']."</a><br/>";
}
?>
<?php
include("conexion.php");
conectarBD();
$curso = $_GET['curso'];
$total_DWEC=0;
$total_DIW=0;
$total_DWES=0;
$total_WEB=0;
$consulta2 = "select * from alumnos";
$resultado2 = mysql_query($consulta2);
while($fila2=mysql_fetch_array($resultado2)){
switch ($fila2['curso']){
case 'DWEC':
$total_DWEC++;
break;
case 'DIW':
$total_DIW++;
break;
case 'DWES':
$total_DWES++;
break;
case 'WEB':
$total_WEB++;
break;
}
}
switch ($curso){
case 'DWEC':
echo "TOTAL DWEC: ".$total_DWEC;
break;
case 'DIW':
echo "TOTAL DIW: ".$total_DIW;
break;
case 'DWES':
echo "TOTAL DWES: ".$total_DWES;
break;
case 'WEB':
echo "TOTAL WEB: ".$total_WEB;
break;
}
?>
  • 12 Confeccionar un programa que muestre los registros de la tabla "cursos" con páginas de 3 registros.HTML
    <html>
    <head>
    <title>EJERCICIO 12B</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    </head>
    <body>
    <h1> TABLA CURSOS PAGINAS 3 REGISTROS.</h1>

    <?php
    $conexion=mysql_connect("localhost","root","bbdd");
    mysql_select_db("base1",$conexion) ;
    $consulta=mysql_query("select codigo,nombrecurso from cursos
    limit $inicio,3", while ($reg=mysql_fetch_array($consulta))
    {
    echo "Codigo:".$reg['codigo']."<br>";
    echo "Nombre:".$reg['nombrecurso']."<br>";
    echo "<hr>";
    }
    mysql_close($conexion);
    </body>
    </html>



PHP
<?php
if (isset($_REQUEST['pos']))
  $inicio=$_REQUEST['pos'];
else
  $inicio=0;
?>
 
 
 
 


  • 13 Confeccionar un programa que permita hacer multiples upload con una página (por ejemplo que permita seleccionar hasta 3 archivos)
HTML
<html> 
 <head> 
<title>EJERCICIO 13B</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head> 
<body> 
<h1> SUBIDAS MULTIPLES UPLOAD.</h1>
<form action="upload.php" method="post" accept-charset="utf-8" enctype="multipart/form-data">
<label>Archivo 1:</label><input type="file" name="userfile[]" /><br /><br />
<label>Archivo 2:</label><input type="file" name="userfile[]" /><br /><br />
 <label>Archivo 3:</label><input type="file" name="userfile[]" /><br /><br />
 <label>Archivo 4:</label><input type="file" name="userfile[]" /><br /><br />
 <input type="submit" value="Subir" />
 </form>
</body>
</html>
PHP 1: 
<?php
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{require_once("multiupload.php");
    $files = $_FILES['userfile']['name'];
    $upload = new Multiupload();
    $isUpload = $upload->upFiles($files);
}else{
    throw new Exception("Error Processing Request", 1);
}

PHP 2: 

<?php
class Multiupload
{
 public function upFiles($files = array())
{
$i = 0;
 if(!is_dir("files/")) 
mkdir("files/", 0777);
foreach($files as $file) 
 {
if($_FILES['userfile']['tmp_name'][$i])
 {
 $trozos[$i] = explode(".", $_FILES["userfile"]["name"][$i]);
  $extension[$i] = end($trozos[$i]);
 if($this->checkExtension($extension[$i]) === TRUE)
 {
 $_FILES['userfile']['name'][$i] = $this->checkExists($trozos[$i]);            
   if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i],"files/".$_FILES['userfile']['name'][$i]))
 {
echo "subida correctamente";
} 
}else{
echo "la extension no esta permitida";
}
 }else{
  echo "sin imagen";
}
  echo "<br />";
$i++;  
 }  
}
  private function checkExtension($extension)
    {
$extensiones = array("jpg","png","gif","pdf");
 if(in_array(strtolower($extension), $extensiones))
 {
return TRUE;
}else{
 return FALSE;
}
    }
private function checkExists($file)
    {
$archivo = $file[0] . '.' . end($file);
 $i = 0;
while(file_exists('files/'.$archivo))
{ $i++;
 $archivo = $file[0]."(".$i.")".".".end($file);      
}
  return $archivo;
}
    14 Crear un formulario que solicite la carga del nombre de usuario. Cuando se presione un botón crear una cookie para dicho usuario. Luego cada vez que ingrese al formulario mostrar el último nombre de usuario ingresa
HTML
<html> 
 <head> 
<title>EJERCICIO 14B</title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head> 
<body> 
<h1> FORMULARIO CON COOKIE..</h1>
session_start();
</head>
<body>
 <form action=".php" method="post" enctype="multipart/form-data"> 
Ingrese nombre de usuario:
<input type="text" name="usuario" 
value=<?php 
if(isset($_COOKIE['value'])){
   echo("value='value:$_COOKIE['value']'");
  }?>>
<input type="submit" name="Enviar">
</form>
</body>
</html>


PHP
<?php
 session_start();
 $usuario = $_POST['usuario']
 if($_POST['usuario'] == $usuario)
{
 setcookie("value", $usuario, time()+60,"/");
};
 header("location:formx.php");
?>
  • Principio del formulario
  • 15 Confeccionar una página que simule ser la de un periódico. La misma debe permitir configurar qué tipo de titular deseamos que aparezca al visitarla, pudiendo ser: Noticia política, Noticia económica o Noticia deportiva. Mediante tres objetos de tipo radio, permitir seleccionar qué titular debe mostrar el periódico. Almacenar en una cookie el tipo de titular que desea ver el cliente. La primera vez que visita el sitio deben aparecer los tres titulares. Disponer un hipervínculo a una tercer página que borre la cookie creada.
HTML
<html> 
 <head> 
<title>EJERCICIO 15B</title> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head> 
<body> 
<h1> PERIODICO CON COOKIE..</h1>
<?php
if (isset($_COOKIE['titular']))
echo ("<h1> '$_COOKIE[titular]'</h1>");
?>
<form method="post" action="cookiesperiodico.php">
</br>
</br>
<input type="radio" name="noticias" value="Noticias Politica">Noticias Política:
</br>
<input type="radio" name="noticias" value="Noticias Deportivas">Noticias Deportivas
</br>
<input type="radio" name="noticias" value="Noticias Economicas">Noticias Económicas
 </br>
</br>
</br>
<input type="submit" value="Galleta">
</form>
</body>
</html>
PHP 
<?php
 if($_POST['noticias'] == "Noticias Políticas")
  {
setcookie("titular", "Noticias Políticas", time()+60,"/");
 }
 else if($_POST['noticias'] == "Noticias Deportivas")
 {
setcookie("titular", "Noticias Deportivas", time()+60,"/");
}
 else if($_POST['noticias'] == "Noticias Economicas")
{
 setcookie("titular", "Noticias Economicas", time()+60,"/");
 }
 header("location:periodico.php");
?>

PHP
<?php
        setcookie("titular","", time()-60,"/");
        header("location:periodico.php");
  ?>
  • Principio del formulario
  • 16 Confeccionar un formulario que solicite ingresar el mail de un alumno. Si el mail existe en la tabla alumnos, rescatar su nombre y almacenarlo en una variable de sesión. Además disponer un hipervínculo a una tercera página que verifique si existe la variable de sesión y de la bienvenida al alumno, en caso contrario mostrar un mensaje indicando que no puede visitar esta página (para saber si una variable de sesión está definida llamamos a la función isset) if (isset($_SESSION['nombre'])) ....
    <html>
  • <head>
  • <title>EJERCICIO16B.</title>
  • <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  • </head>
  • <body>
  • <p>
  • Confeccionar un formulario que solicite ingresar el mail de un alumno. Si el mail existe en la tabla alumnos, rescatar su nombre y almacenarlo en una variable de sesión. Además disponer un hipervínculo a una tercera página que verifique si existe la variable de sesión y de la bienvenida al alumno, en caso contrario mostrar un mensaje indicando que no puede visitar esta página (para saber si una variable de sesión está definida llamamos a la función isset)
  • if (isset($_SESSION['nombre'])
  • </p>
  • <form action="z12.php" method="post">
  • Inserte el correo del alumno a consultar:
  • <input type="text" name="mail">
  • <br>
  • <input type="submit" value="buscar">
  • </form>
  • </body>
  • </html>
  • <?php
  • session_start();
  • $conexion=mysql_connect("localhost","root","bbdd") or
  • die("Problemas en la conexion");
    mysql_select_db("basezeta",$conexion) or die("Problemas en la selección de la base de datos"); $registros=mysql_query("select codigo, nombre, codigocurso from alumnos where email='$_REQUEST[mail]'",$conexion) or die("Problemas en el select:".mysql_error()); if ($reg=mysql_fetch_array($registros)) { $_SESSION['usuario']=$reg['nombre']; } ?> <html> <head> <title>EJERCICIO16 B.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div align="center" class="principal" style="border-style: dotted; font-family: fantasy; text-align: center; background-color: #FFFF00; " name="central"> <a href="z13.php">Entrar a la página principal</a>; </div> </body> </html> <?php session_start(); $conexion=mysql_connect("localhost","root","bbdd") or die("Problemas en la conexion"); mysql_select_db("basezeta",$conexion) or die("Problemas en la selección de la base de datos"); $registros=mysql_query("select codigo, nombre, codigocurso from alumnos where email='$_REQUEST[mail]'",$conexion) or die("Problemas en el select:".mysql_error()); if ($reg=mysql_fetch_array($registros)) { $_SESSION['usuario']=$reg['nombre']; } ?> <html> <head> <title>EJERCICIO16b.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div align="center" class="principal" style="border-style: dotted; font-family: fantasy; text-align: center; background-color: #FFFF00; " name="central">
<a href="z13.php">Entrar a la página principal</a>; </div> </body> </html>
  • Principio del formulario
    17 Confeccionar una librería que contenga una función llamada retornarConexion, la misma debe llamar a las funciones mysql_connect y mysql_select_db y retornar la variable que generó la función mysql_connect. Tener en cuenta que a esta función la deben implementar en el archivo "pagina2.php". En el archivo "pagina1.php" incluir la librería que contiene la función retornarConexion. Luego imprimir todos los registros de la tabla alumnos.
<html> <head> <title>EJERCICIO 17B.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body>
<p> Confeccionar una librería que contenga una función llamada retornarConexion, la misma debe llamar a las funciones mysql_connect y mysql_select_db y retornar la variable que generó la función mysql_connect. Tener en cuenta que a esta función la deben implementar en el archivo "pagina2.php". En el archivo "pagina1.php" incluir la librería que contiene la función retornarConexion. Luego imprimir todos los registros de la tabla alumnos. </p> <?php require_once("z22.php"); $conexion=retornarConexion(); $registros=mysql_query("select alu.codigo as codigo,nombre,email,codigocurso, nombrec from alumnos as alu inner join cursos as cur on cur.codigo=alu.codigocurso", $conexion) or die("Problemas en el select:".mysql_error()); while ($reg=mysql_fetch_array($registros)) { echo "Codigo:".$reg['codigo']."<br>"; echo "Nombre:".$reg['nombre']."<br>"; echo "Mail:".$reg['email']."<br>"; echo "Curso:".$reg['nombrec']."<br>"; echo "<hr>"; } mysql_close($conexion); ?> </body> </html> <?php
function retornarConexion()
{ $conexion=mysql_connect("localhost","root","bbdd") or die("Problemas en la conexion"); mysql_select_db("basezeta",$conexion) or die("Problemas en la selección de la base de datos"); return $conexion; } ?>
  • Principio del formulario
  • 18 Confeccionar un programa que solicite el ingreso de una clave en un formulario. La segunda página debe verificar si ingresó el string "z80" y mostrar un mensaje de bienvenida, en caso contrario, esta página debe redireccionar a la primera página nuevamente. Cuando tenemos que redireccionar a una página que está en el mismo sitio, sólo es necesario disponer su nombre:
    • <?php
    • if ($_REQUEST['direccion']<>"z80")
    • header("Location: pagina1.php");
    • ?>
    • Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error:
    • <?php
    • if ($_REQUEST['direccion']<>"z80")
    • header("Location: pagina1.php?error=1");
    • ?>
    • Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
    • <?php
    • if (isset($_REQUEST['error']))
    • echo "Ingreso clave incorrecta";
    • ?>
<html> <head> <title>EJERCICIO 18B.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <pre> Confeccionar un programa que solicite el ingreso de una clave en un formulario. La segunda página debe verificar si ingresó el string "z80" y mostrar un mensaje de bienvenida, en caso contrario, esta página debe redireccionar a la primera página nuevamente.
Cuando tenemos que redireccionar a una página que está en el mismo sitio, sólo es necesario disponer su nombre: < ?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php"); ?>
Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error: < ?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php?error=1"); ?> Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
< ?php if (isset($_REQUEST['error'])) echo "Ingreso clave incorrecta"; ?> </pre> <?php { if (isset($_REQUEST['error'])) echo "Ingresó clave incorrecta<br>"; } ?> <form method="post" action="z32.php"> Ingrese la clave: <input type="password" name="clave"> <br> <input type="submit" value="confirmar"> </form> </body> </html>
<?php if ($_REQUEST['clave']!="z80") { header("Location: z3.php?error=1"); echo } ?> <html> <head> <title>EJERCICIO 18B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div align="center" class="principal" style="border-style: dotted; font-family: fantasy; text-align: center; background-color: #FFFF00; " name="central"> <h2>Bienvenido</h2> </div> </body> </html>
    • Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error:
    • <?php
    • if ($_REQUEST['direccion']<>"z80")
    • header("Location: pagina1.php?error=1");
    • ?>
    • Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
    • <?php
    • if (isset($_REQUEST['error']))
    • echo "Ingreso clave incorrecta";
    • ?>
<html> <head> <title>EJERCICIO 18B.</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <pre> Confeccionar un programa que solicite el ingreso de una clave en un formulario. La segunda página debe verificar si ingresó el string "z80" y mostrar un mensaje de bienvenida, en caso contrario, esta página debe redireccionar a la primera página nuevamente.
Cuando tenemos que redireccionar a una página que está en el mismo sitio, sólo es necesario disponer su nombre: < ?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php"); ?>
Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error: < ?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php?error=1"); ?> Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
< ?php if (isset($_REQUEST['error'])) echo "Ingreso clave incorrecta"; ?> </pre> <?php { if (isset($_REQUEST['error'])) echo "Ingresó clave incorrecta<br>"; } ?> <form method="post" action="z32.php"> Ingrese la clave: <input type="password" name="clave"> <br> <input type="submit" value="confirmar"> </form> </body> </html>
<?php if ($_REQUEST['clave']!="z80") { header("Location: z3.php?error=1"); echo } ?> <html> <head> <title>EJERCICIO 18B.</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <div align="center" class="principal" style="border-style: dotted; font-family: fantasy; text-align: center; background-color: #FFFF00; " name="central"> <h2>Bienvenido</h2> </div> </body> </html>