miércoles, 28 de noviembre de 2007

MySql fecha

DATE_FORMAT()

DATE_FORMAT(fecha,formato)

Formatea el valor de fecha de acuerdo con la cadena de formato. Se pueden usar los siguientes especificadores para la cadena de formato:
Especificador Descripción
%M Nombre del mes (January..December)
%W Nombre de día (Sunday..Saturday)
%D Día del mes con sufijo en inglés (0th, 1st, 2nd, 3rd, etc.)
%Y Año, numérico con 4 dígitos
%y Año, numérico con 2 dígitos
%X Año para la semana donde el domingo es el primer día de la semana, numérico de 4 dígitos; usado junto con %V
%x Año para la semana donde el lunes es el primer día de la semana, numérico de 4 dígitos; usado junto con %v
%a Nombre de día de semana abreviado (Sun..Sat)
%d Día del mes, numérico (00..31)
%e Día del mes, numérico (0..31)
%m Mes, numérico (00..12)
%c Mes, numérico (0..12)
%b Nombre del mes abreviado (Jan..Dec)
%j Día del año (001..366)
%H Hora (00..23)
%k Hora (0..23)
%h Hora (01..12)
%I Hora (01..12)
%l Hora (1..12)
%i Minutos, numérico (00..59)
%r Tiempo, 12-horas (hh:mm:ss seguido por AM o PM)
%T Tiempo, 24-horas (hh:mm:ss)
%S Segundos (00..59)
%s Segundos (00..59)
%f Microsegundos (000000..999999)
%p AM o PM
%w Día de la semana (0=Sunday..6=Saturday)
%U Semana (00..53), donde el domingo es el primer día de la semana
%u Semana (00..53), donde el lunes es el primer día de la semana
%V Semana (01..53), donde el domingo es el primer día de la semana; usado con %X
%v Semana (01..53), donde el lunes es el primer día de la semana; usado con %X
%% Un '%' literal.

El resto de los caracteres se copian tal cual al resultado sin interpretación. El especificador de formato %f está disponible desde MySQL 4.1.1. Desde MySQL 3.23, se requiere el carácter '%' antes de los caracteres de especificación de formato. En versiones de MySQL más antiguas, '%' era opcional. El motivo por el que los rangos de meses y días empiecen en cero es porque MySQL permite almacenar fechas incompletas como '2004-00-00', desde MySQL 3.23.

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
+------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y') |
+------------------------------------------------+
| Saturday October 1997 |
+------------------------------------------------+
1 row in set (0.05 sec)

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
+------------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s') |
+------------------------------------------------+
| 22:23:00 |
+------------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
-> '%D %y %a %d %m %b %j');
+------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', |
'%D %y %a %d %m %b %j') |
+------------------------------------------+
| 4th 97 Sat 04 10 Oct 277 |
+------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('1997-10-04 22:23:00',
-> '%H %k %I %r %T %S %w');
+------------------------------------------+
| DATE_FORMAT('1997-10-04 22:23:00', |
'%H %k %I %r %T %S %w') |
+------------------------------------------+
| 22 22 10 10:23:00 PM 22:23:00 00 6 |
+------------------------------------------+
1 row in set (0.00 sec)

mysql> SELECT DATE_FORMAT('1999-01-01', '%X %V');
+------------------------------------+
| DATE_FORMAT('1999-01-01', '%X %V') |
+------------------------------------+
| 1998 52 |
+------------------------------------+
1 row in set (0.00 sec)

Ver URL

miércoles, 21 de noviembre de 2007

Abrir un pop up y cerrarlo desde la ventana padre

<html>
<head>
<title>Ventana Principal</title>
<script>
//creamos la variable ventana_secundaria que contendrá una referencia al popup que vamos a abrir
//la creamos como variable global para poder acceder a ella desde las distintas funciones
var ventana_secundaria

function abrirVentana(){
//guardo la referencia de la ventana para poder utilizarla luego
ventana_secundaria = window.open("cerrar_window2.html","miventana","width=300,height=200,menubar=no")
}

function cerrarVentana(){
//la referencia de la ventana es el objeto window del popup. Lo utilizo para acceder al método close
ventana_secundaria.close()
}
</script>
</head>

<body>
Esta es la ventana principal
<form>
<input type=button value="Abrir ventana secundaria" onclick="abrirVentana()">
<br>
<br>

<input type=button value="Cerrar ventana secundaria" onclick="cerrarVentana()">
</form>

</body>
</html>

Al cerrar un popup que la ventana padre se refresque

<script>
function cerrarse()
{
opener.location.reload();
window.close()
}
</script>


<body bgcolor="#DDDDDD" onUnload="cerrarse()">

<form>
<input type=button value="Cerrar Ventana" onclick="cerrarse()">
</form>

</body>

martes, 20 de noviembre de 2007

Cerrar Ventana Javascript

<script>
function cerrarse()
{
window.close()
}
</script>

<form>
<input type=button value="Cerrar" onclick="cerrarse()">
</form>

Abrir ventana POP UP Javascript

<script language="JavaScript">

function Abrir_Ventana2(el_url,an,al) {

// centra la ventana en la pantalla con el ancho y el alto
var x=(screen.width/2)-(an/2);
var y=(screen.height/2)-(al);


var especificaciones="top="+y+", left="+x+", toolbar=no,location=no, status=no,menubar=no,scrollbars=no, resizable=no, width="+an+",height="+al
var titulo="Titulo"
window.open(el_url,titulo,especificaciones);
}

</script>





<a href="javascript:Abrir_Ventana2('borraMiembro.php?miembro=&grupo=',350,160)" title='Borrar suscriptor' onMouseOut="window.status=''; return true;" onMouseOver="window.status='Borrar suscriptor'; return true;">
Borrar suscriptor
</a>




//****************************************

<script language="JavaScript">
<!--
function Abrir_Ventana(el_url,an,al) {
var especificaciones="top=200, left=200, toolbar=no,location=no, status=no,menubar=no,scrollbars=no, resizable=no, width="+an+",height="+al
var titulo="Titulo"
window.open(el_url,titulo,especificaciones);
}
//-->
</script>





<a href="javascript:Abrir_Ventana('../zonapublica/presupuestos/recuperarpresu.php?<?echo $row['presuurl'];?>',550,510)" title='Ver Presupuesto' onMouseOut="window.status=''; return true;" onMouseOver="window.status='Ver presupuesto'; return true;"><?echo $row['presunombre'];?></a>

viernes, 9 de noviembre de 2007

Cambiar imagen al pasar el raton onmouseover Javascript

<script language="JavaScript">
<!--

// PRELOADING IMAGES
if (document.images)
{
img_on1 =new Image();
img_off1=new Image();

img_on2 =new Image();
img_off2=new Image();

img_on3 =new Image();
img_off3=new Image();

img_on4 =new Image();
img_off4=new Image();

img_on5 =new Image();
img_off5=new Image();

img_on6 =new Image();
img_off6=new Image();

img_on1.src ="./imagenes/menu_base_transparente_r2_c2_f2.png";
img_off1.src="./imagenes/menu_base_transparente_r2_c2.png";

img_on2.src ="./imagenes/menu_base_transparente_r2_c3_f2.png";
img_off2.src="./imagenes/menu_base_transparente_r2_c3.png";

img_on3.src ="./imagenes/menu_base_transparente_r2_c4_f2.png";
img_off3.src="./imagenes/menu_base_transparente_r2_c4.png";

img_on4.src ="./imagenes/menu_base_transparente_r2_c5_f2.png";
img_off4.src="./imagenes/menu_base_transparente_r2_c5.png";

img_on5.src ="./imagenes/menu_base_transparente_r2_c6_f2.png";
img_off5.src="./imagenes/menu_base_transparente_r2_c6.png";

img_on6.src ="./imagenes/menu_base_transparente_r2_c7_f2.png";
img_off6.src="./imagenes/menu_base_transparente_r2_c7.png";

}

function movr(k) {
if (document.images)
eval('document.img'+k+'.src=img_on'+k+'.src');
}

function mout(k) {
if (document.images)
eval('document.img'+k+'.src=img_off'+k+'.src');
}


//-->
</script>





<a href="http://www.ua.es" onMouseOver="movr(1);return true;" onMouseOut="mout(1);return true;"><img src="./imagenes/menu_base_transparente_r2_c2.png" name="img1" border="0"></a>
<a href="http://www.ua.es" onMouseOver="movr(2);return true;" onMouseOut="mout(2);return true;"><img src="./imagenes/menu_base_transparente_r2_c3.png" name="img2" border="0"></a>
<a href="http://www.ua.es" onMouseOver="movr(3);return true;" onMouseOut="mout(3);return true;"><img src="./imagenes/menu_base_transparente_r2_c4.png" name="img3" border="0"></a>
<a href="http://www.ua.es" onMouseOver="movr(4);return true;" onMouseOut="mout(4);return true;"><img src="./imagenes/menu_base_transparente_r2_c5.png" name="img4" border="0"></a>
<a href="http://www.ua.es" onMouseOver="movr(5);return true;" onMouseOut="mout(5);return true;"><img src="./imagenes/menu_base_transparente_r2_c6.png" name="img5" border="0"></a>

manejo de Strings cadena de caracteres

Alteración del contenido

En ocasiones es necesario emplear dichas funciones para alterar el formato de salida de las cadenas. Las funciones empleadas para modificar dicho formato son:

- chop(cadena); Devuelve la cadena de caracteres con los caracteres de blanco y nueva línea eliminados
- ltrim(cadena); Elimina los blancos que aparecen a la izquierda de una cadena de caracteres
- rtrim(cadena) ; Elimina los blancos que aparecen por la derecha en una cadena de caracteres
- trim(cadena); Elimina los blancos que aparecen a izquierda y derecha de la cadena de caracteres
- str_pad(cadena,longitud,relleno,lugar); Comprueba si la longitud es menor que el valor indicado, si es así añade los caracteres necesarios.El lugar de añadir puede ser:
str_pad_left añade por la derecha(opción por defecto), str_pad_right añade por la izquierda y str_pad_both añade por ambos extremos.
- str_repeat(caracter,numero_veces); Repite un caracter el numero de veces indicado
- strtolower(cadena); Pasa toda la cadena a letras minúsculas
- strtoupper(cadena); Pasa toda la cadena a letras mayúsculas
- ucfirst(cadena); Pasa a mayúscula el primer caracter de una cadena
- ucwords(cadena); Pone en mayúsculas el primer caracter de cada palabra de la cadena
- str_replace(subcadena1,subcadena2,cadena); Sustituye una palabra por otra dentro de una cadena
- strtr(cadena,originales,traducidos); Traduce ciertos caracteres .Ejemplo: $persona=strt($persona,"áéíóú","a,e,i,o,u"); de esta forma cambiaría todas las vocales con acento por vocales sin acento.
- substr_replace(cadena,nueva,comienzo,longitud); Sustituye una porción del contenido de una cadena

Acceso al contenido

- strlen(cadena); Indica el nº de caracteres de una cadena
- count_chars(cadena,modo); Numero de repeticiones de un caracter en una cadena. Los modos posibles son:

0->Matriz indexada con frecuencia de aparición de todos los caracteres del código ASCII
1->Matriz con caracteres ASCII con frecuencia mayor que 0
2->Matriz con caracteres que no aparecen en la cadena
3->Cadena con caracteres usados en el código ASCII
4->Cadena con caracteres no usados en el código ASCII

- substr_count(cadena,subcadena); Frecuencia de aparición de una cadena
-strchr(cadena,caracter); Devuelve la subcadena que comienza en la primera aparición del caracter indicado
- strstr(cadena,subcadena); Localiza subcadena dentro de la cadena original
- stristr(cadena,subcadena); Igual que la función anterior pero sin distinción entre mayúsculas y minúsculas
- strpos(cadena,subcadena); Primera ocurrencia de una cadena en otra
- strrpos(cadena,subcadena); Ultima ocurrencia de una cadena en otra
- ord(cadena); Devuelve el valor ASCII de un caracter
- substr(cadena,comienzo,longitud); Porción de texto que empieza en una posición y tiene una longitud
- strcmp(cadena1,cadena2); Compara dos cadenas siendo sensible a mayúsculas y minúsculas
- strcasecmp(cadena1,cadena2); Compara dos cadenas sin ser sensible a mayúsculas y minúsculas
- strncmp(cadena1,cadena2,tamaño); Compara los N primeros caracteres de una cadena
- strnatcmp(cadena1,cadena2); Sensible a mayúsculas y minúsculas. Compara dos cadenas.
- strnatcasecmp(cadena1,cadena2); No sensible a mayúsculas y minúsculas. Compara dos cadenas.
- chunk_split(cadena,longitud,separador); Coge una cadena de caracteres e introduce separadores a una distancia determinada. No modifica el original sino que es una función nueva.
- explode(separador,cadena,limite); Permite obtener una matriz de cadenas de caracteres extraídas del original.
- implode(separador,elementos); Junta en una cadena los elementos de una matriz usando como concatenación el separador pasado como parámetro.
- parse_str(cadena); Permite extraer y crear variables que forman parte de una cadena que se corresponde con un "query string" recibido de una URL.

*Apoyo a HTML

- addcslashes(cadena,lista); Devuelve una cadena que tiene escapados todos los caracteres como parámetro.
- addslashes(cadena); Devuelve una cadena que tiene escapados todos los caracteres lógicos
- stripcslashes(); y stripslashes(); Reciben cadenas que pueden contener caracteres de de escapes y los desescapan
- quotemeta(cadena); Esacapa los caracteres especiales
- htmlspecialchars(cadena); Lleva a cabo conversiones como &->&amp,"->&quot
- htmlentities(); Convierte todos los caracteres a entidades html. á pasa a ser &aacute;
- get_html_translation_table(htmlentities o html_specialchars); Obtiene la relación de traducción de cada caracter especial.
- array_flip(); Intercambia las claves por los valores en array asociativo.
- get_meta_tags(nombre_fichero,include_path); Devuelve todos los meta tags que contiene un HTML.
- strip_tags(cadena,mostrar_tags); Omite etiquetas PHP y HTML , lo de mostrar_tags son las cadenas HTML y PHP no deben ser omitidas en la lectura.
- n12br(cadena); Permite sustituir saltos de línea por <br>
- parse_url(cadena_url); Devuelve una matriz asociativa con los siguientes campos:
Campo Significado
scheme Http
host Ip o DNS
port puerto
user nombre usuario
password contraseña
path path completo al recurso
query query string con datos al recurso
urldecode decodifica la información
urlencode Codifica la informació


Ver URL

Mostrar la URL del navegador

echo $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

Mandar un email con ficheros adjuntos

<?php

function mandarmail($de,$para,$asunto,$texto,$ficheros)
{

$email_from = $de; // Who the email is from
$email_subject = $asunto; // The Subject of the email
$email_message = $texto; // Message that the email has in it

$email_to = $para; // Who the email is too

$headers = "From: ".$email_from;



$semi_rand = md5(time());
$mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

$headers .= "\nMIME-Version: 1.0\n" .
"Content-Type: multipart/mixed;\n" .
" boundary=\"{$mime_boundary}\"";

$email_message .= "This is a multi-part message in MIME format.\n\n" .
"--{$mime_boundary}\n" .
"Content-Type:text/html; charset=\"iso-8859-1\"\n" .
"Content-Transfer-Encoding: 7bit\n\n" .
$email_message . "\n\n";



/*
Aqui va adjuntando por ficheros que se le pasan
*/

for ($i=0;$i<sizeof($ficheros);$i++)
{


// aqui hay q cambiar la direccion donde se encuentran los ficheros en el servidor
$fileatt = "../presupuestos/condiciones/".$ficheros[$i]; // Path to the file
$fileatt_type = "application/octet-stream"; // File Type
$fileatt_name =$ficheros[$i]; // Filename that will be used for the file as the attachment


$file = fopen($fileatt,'rb');
$data = fread($file,filesize($fileatt));
fclose($file);


$data = chunk_split(base64_encode($data));

$email_message .= "--{$mime_boundary}\n" .
"Content-Type: {$fileatt_type};\n" .
" name=\"{$fileatt_name}\"\n" .
"Content-Transfer-Encoding: base64\n\n" .
$data . "\n\n" .
"--{$mime_boundary}\n";
unset($data);
unset($file);
unset($fileatt);
unset($fileatt_type);
unset($fileatt_name);

}



$ok = @mail($email_to, $email_subject, $email_message, $headers);


return $ok;


}





$ficheros[]="foto1.jpg";
$ficheros[]="foto2.jpg";
$ficheros[]="foto3.jpg";

mandarmail("pgarcia@cpo.es","pgarcia@cpo.es","quieres pipas","no tengo",$ficheros);


?>