Archivado en Enero, 2008

Conexión Base de Datos MySQL con PHP

27 Enero, 2008

Este sencillo ejemplo muestra cómo conectarse, ejecutar una consulta, imprimir las filas resultantes y desconectarse de una base de datos MySQL.

PHP:
  1. <?php
  2. // variables
  3.  
  4. $s_mysql_server="localhost";
  5. $s_mysql_user=""; //usuario de la base de datos
  6. $s_mysql_password=""; //password de la base de datos
  7. $s_db=""; //nombre de la base de datos
  8.  
  9. // Conexion, seleccion de base de datos
  10. $enlace = mysql_connect($s_mysql_server, $s_mysql_user, $s_mysql_password)
  11.     or die('No pudo conectarse : ' . mysql_error());
  12.  
  13. echo 'Conexi&oacute;n exitosa';
  14.  
  15. mysql_select_db($s_db) or die('No pudo seleccionarse la BD.');
  16.  
  17. // Realizar una consulta SQL
  18. $consulta  = 'SELECT * FROM mi_tabla';
  19. $resultado = mysql_query($consulta) or die('La consulta fall&oacute;: ' . mysql_error());
  20.  
  21. // Impresion de resultados en HTML
  22. echo "<table>\n";
  23. while ($linea = mysql_fetch_array($resultado, MYSQL_ASSOC)) {
  24.     echo "\t<tr>\n";
  25.     foreach ($linea as $valor_col) {
  26.         echo "\t\t<td>$valor_col</td>\n";
  27.     }
  28.     echo "\t</tr>\n";
  29. }
  30. echo "</table>\n";
  31.  
  32. // Liberar conjunto de resultados
  33. mysql_free_result($resultado);
  34.  
  35. // Cerrar la conexion
  36. mysql_close($enlace);
  37. ?>

Fechas en php

27 Enero, 2008
PHP:
  1. <?php
  2.   echo "la fecha actual es: ";
  3.   echo "><br />";
  4.   echo date ("H:i, jS F Y");
  5. ?>

Así de Sencillo.
La hora y el día cambian en función del reloj y el calendario. Esto es algo que no se puede hacer solamente con HTML.
La fecha y la hora que muestra es indicada por el servidor en donde alojemos la página.

date() es la función predefinida en PHP.
"H:i" indica la hora en formato de 24 horas.
"jS" indica los minutos en formato de dos cifras.
"F" indica el día del mes en formato de una cifra
"Y" es el año en formato de 4 cifras.

Como siempre podemos apoyarnos en php.net para ver la función date();

Marcas de agua automáticas con PHP y GD

27 Enero, 2008

Primero es necesario crear una marca de agua en formato PNG. La ventaja principal de éste formato (indispensable en este caso) es que permite 255 niveles de transparencias, por lo que se puede lograr una imagen translúcida.

Una vez creada la marca, se puede aplicar sobre la imagen usando PHP.

PHP:
  1. <?php
  2.  
  3. $image = $_GET['i'];
  4. $watermark = "water.png";
  5.  
  6. $im = imagecreatefrompng($watermark);
  7.  
  8. $ext = substr($image, -3);
  9.  
  10.  
  11. if(strtolower($ext) == "gif") {
  12.     if (!$im2 = imagecreatefromgif($image)) {
  13.         echo "Error opening $image!"; exit;
  14.     }
  15. } else if(strtolower($ext) == "jpg") {
  16.     if (!$im2 = imagecreatefromjpeg($image)) {
  17.         echo "Error opening $image!"; exit;
  18.     }
  19. } else if(strtolower($ext) == "png") {
  20.     if (!$im2 = imagecreatefrompng($image)) {
  21.         echo "Error opening $image!"; exit;
  22.     }
  23. } else {
  24.     die;
  25. }
  26.  
  27. imagecopy($im2, $im, (imagesx($im2)/2)-(imagesx($im)/2), (imagesy($im2)/2)-(imagesy($im)/2), 0, 0, imagesx($im), imagesy($im));
  28.  
  29. if($_GET[repeat]) {
  30.     $waterless = imagesx($im2) - imagesx($im);
  31.     $rest = ceil($waterless/imagesx($im)/2);
  32.    
  33.     for($n=1; $n<=$rest; $n++) {
  34.         imagecopy($im2, $im, ((imagesx($im2)/2)-(imagesx($im)/2))-(imagesx($im)*$n), (imagesy($im2)/2)-(imagesy($im)/2), 0, 0, imagesx($im), imagesy($im));
  35.         imagecopy($im2, $im, ((imagesx($im2)/2)-(imagesx($im)/2))+(imagesx($im)*$n), (imagesy($im2)/2)-(imagesy($im)/2), 0, 0, imagesx($im), imagesy($im));
  36.     }
  37. }