Archive for the ‘PHP’ Category

PHP Snippet Convertir un resultset en un Array

Wednesday, May 7th, 2008 | 155 views

Esta funcion recibe como parametro una consulta SQL recorre todo el resultset,
crea un indice por cada registro y por cada registro crea un indice con el nombre del campo y el valor.

PHP:
  1. function query2array($query){
  2.     $result=mysql_query($query) or die(mysql_error()." qry::$query");
  3.     $tmp_array=array();
  4.     $return_array=array();
  5.     while ($obj = mysql_fetch_object($result)) {
  6.         foreach($obj as $key => $value) {
  7.             $tmp_array[$key]=$value;
  8.         }
  9.         $return_array[]=$tmp_array;
  10.     }
  11.     return $return_array;
  12. }

fuente: blog.deliriumlabs.net

Estandares de Codificacion para PHP

Thursday, April 3rd, 2008 | 171 views

Esta es una guia que estoy utilizando para llegar a un desarrollo mas limpio y entendible en mis proyectos y en los proyectos de la empresa donde trabajo, estoy tomando como base la documentacion de PEAR y alli le meto mis agregados. La dejo aqui por si a alguien mas le sirve, las sugerencias son bienvenidas.

Sangrías y Longitud de línea

Usar una sangría de 4 espacios sin usar la tecla “tab”. Esto ayuda a evitar problemas con diffs, patches, historia del CVS y anotaciones.

Estructuras de Control

Estas incluyen: if, for, while, switch, etc. Aquí esta el ejemplo de la postura de “if”, porque es el mas complicado de todas ellas.

PHP:
  1. <?php
  2. if ((condition1) || (condition2)) {
  3.     action1;
  4. } elseif ((condition3) && (condition4)) {
  5.    action2;
  6. } else {
  7.    defaultaction;
  8. }
  9. ?>

Los estatutos de control deben de tener un espacio entre la palabra clave de control y el inicio de paréntesis “(“, para distinguirlos de las llamadas de función.

Deben de utilizarse las llaves en cualquier caso “{ }”, incluso en situaciones donde son técnicamente opcionales. Su uso incrementa su capacidad de lectura y reduce la probabilidad de errores lógicos que son introducidos cuando líneas nuevas se agregan.

Para estructuras switch:

PHP:
  1. <?php
  2. switch (condition) {
  3.     case 1:
  4.         action1;
  5.         break;
  6.     case 2:
  7.         action2;
  8.         break;
  9.     default:
  10.         defaultaction;
  11.         break;
  12. }
  13. ?>

Llamadas de Función

Las funciones deberá de ser llamadas sin espacios entre el nombre de la función, el abrir paréntesis y el primer parámetro; espacios entre comas y cada parámetro, y sin espacios entre el ultimo parámetro, el cierra paréntesis y punto y coma.
Ejemplo:

PHP:
  1. <?php
  2. $var = foo($bar, $baz, $quux);
  3. ?>

Como se muestra aquí arriba, deberá de haber un espacio en ambos lados del signo de igual que se usa para asignar el valor de regreso de una función a una variable. En el caso de un bloque de asignaturas relacionadas, mas espacio puede ser agregado para así, promover su facilidad de lectura.

PHP:
  1. <?php
  2. $short           = foo($bar);
  3. $long_variable = foo($baz);
  4. ?>

Definiciones de Función

En las declaraciones de función, el bracket de apertura empieza al final de la linea de definición despues de un espacio.

PHP:
  1. <?php
  2. function foo_function($arg1, $arg2 = 'x') {
  3.     if (condition) {
  4.         statement;
  5.     }
  6.     return $val;
  7. }
  8. ?>

Los argumentos con valores por default van al final de la lista de argumentos. Siempre tratando de regresar un valor significativo de una función, si una es la apropiada. Un ejemplo más largo:

PHP:
  1. <?php
  2. function connect(&$dsn, $persistent = false) {
  3.     if (is_array($dsn)) {
  4.         $dsninfo = &$dsn;
  5.     } else {
  6.         $dsninfo = DB::parseDSN($dsn);
  7.     }
  8.     if (!$dsninfo || !$dsninfo['phptype']) {
  9.         return $this->raiseError();
  10.     }
  11.     return true;
  12. }
  13. ?>

Inclusión de Código

En cualquier parte que estés incondicionalmente incluyendo una archivo de una clase, usa required_once. En cualquier parte donde estés condicionalmente incluyendo una archivo de clase (por ejemplo, métodos de fabrica) usa include_once. Cualquiera de esas se asegurará que la class file sea incluida únicamente una vez. Ellas comparten la misma lista de archivo (file list) así que no hay necesidad de preocuparse por mezclarlas, un archivo incluido con required_once no será nuevamente incluido por include_once.

Convención de Nombres de Variables, Funciones, Clases

Variables:

Estas deberán nombrarse con un prefijo de tres letras el cual define el tipo de dato de la misma, seguido de un guión bajo y el nombre descriptivo de la variable. Ejemplo:

PHP:
  1. $txt_descripcion:  Campo tipo text
  2. $chr_nombres:  Campo tipo char o varchar
  3. $int_cantidad:  Campo tipo integer
  4. $flt_total:  Campo tipo float
  5. $dbl_precio :  Campo tipo double
  6. $dtm_fecha:  Campo tipo fecha
  7. $bol_activo:  Campo tipo boolean

Funciones:

Estas deberán nombrarse con palabras minúsculas seguido de un guión bajo, para separar palabras en el nombre de la misma. Ejemplo:

PHP:
  1. <?php
  2. function conectar_db($arg1, $arg2 = 'x') {
  3.     if (condition) {
  4.         statement;
  5.     }
  6.     return $val;
  7. }
  8. ?>

Clases:

Estas deberán nombrarse con la primer palabra iniciando con minúscula y separando las demás palabras con letra mayúscula. Ejemplo:

PHP:
  1. <?php
  2. class  CodigosPostales  {
  3.     function foo($arg1) {
  4.         statement;
  5.     }
  6. }
  7. ?>

Snippet para obtener el ultimo ID insertado en una tabla MySQL desde PHP

Monday, March 31st, 2008 | 464 views

Bueno, esta es una simple linea la cual nunca la recuerdo cuando la necesito, y tengo que estar consultando para recordarlo, asi esque por esa razon la guardo en un post para asi tenerla a la mano.

Esta funcion me regresa el ultimo ID insertado en una tabla determinada, despues de ejecutar un insert.

PHP:
  1. mysql_query("INSERT INTO mitabla (producto) values ('kossu')");
  2. printf("El ultimo registro insertado tiene el id %d\n", mysql_insert_id());

Y con esto obtenemos el ultimo ID.

Bytes...

Web Hosting de Calidad

Wednesday, March 26th, 2008 | 151 views

Hola, por medio de este espacio estoy ofreciendo a la comunidad hospedaje web a precio accesible y con excelentes caracteristicas, entre las cuales estan:

Web Hosting de Calidad

Cpanel 11, plataforma de configuracion
500 mb Espacio
5000 mb Transferencia Mensual
Php 5
MySQL 5
PostgreSQL 8
Python, Tcl, C, C++
Perl 5
Ruby / Ruby on Rails
Cuentas de Mail ilimitadas
Webmail (Horde y Squirrelmail)

Applicaciones:
Wordpress
Mambo
Jumla
Drupal
OScommerce
PHP Nuke
PHPbb
Typo3
Entre muchas otras mas...

Costo: $5 USD Mensuales pagaderos via Paypal, AlertPay, Y/O Tarjeta de Credito con Paypal.

Si alguno esta interesado, pueden contactarme directamente al blog y de alli ya nos ponemos en contacto por otro medio.

Por otro lado, si a alguno le interesa saber como generar dinero en paypal, alertpay y programas parecidos, para este tipo de compras, no dejen de echarle un vistazo al post: COMO HACER DINERO EN INTERNET

Gracias y Saludos,

Titux...

Funcion Weekday en PHP, para Obtener el Numero de Dia de la Semana

Thursday, March 13th, 2008 | 119 views

Esta es una funcion en php para obtener el numero de dia de la semana de una fecha especifica, ya que php no cuenta con esta funcion, y es nos es muy util a la hora de hacer calculos para calendarios, alarmas, y demas modulos.

La funcion regresa el numero correspondiente a la lista siguiente:

0 Lunes
1 Martes
2 Miercoles
3 Jueves
4 Viernes
5 Sabado
6 Domingo

PHP:
  1. // Esta funcion acepta como parametro la fecha en formato DD/MM/YYYY
  2. function weekday($fecha){
  3.     $fecha=str_replace("/","-",$fecha);
  4.     list($dia,$mes,$anio)=explode("-",$fecha);
  5.     return (((mktime ( 0, 0, 0, $mes, $dia, $anio) - mktime ( 0, 0, 0, 7, 17, 2006))/(60*60*24))+700000) % 7;
  6. }
  7.  
  8. //Asi mandamos llamar dicha funcion con la fecha actual
  9. print weekday(date("d/m/Y"));

Este snippet lo saque del blog del buen Wama: blog.deliriumlabs.net

Bytes...

Emezeta Card PHP Cheat Sheet

Thursday, February 7th, 2008 | 97 views

Esta tabla de referencia la comparte un programador llamado José Román A.K.A. "Manz" y radica en la ciudad de Santa Cruz de Tenerife, España. Esta es una guia intuitiva y completa de todas o casi todas las sentencias, comandos, funciones, etc para PHP hasta la version 5.

Cheat Sheet

Muy buen trabajo, y mis respetos ya que me imagino que fue un buen de jale. Saludos desde Monterrey, NL, México al buen Manz.

Visitar el Enlace

Bytes

Snippet para Obtener la Diferencia de Dias entre Dos Fechas en PHP

Wednesday, February 6th, 2008 | 586 views

Continuando con manejo de fechas este snippet permite obtener la diferencia de dias entre dos fechas dadas, muy util en desarrollos con calculo de tiempos.

PHP:
  1. $int_nodias = floor(abs(strtotime("02/12/2008") - strtotime("02/06/2008"))/86400);
  2.  
  3. print $int_nodias;

Obtiene la diferencia de fechas en formato ingles, convirtiendolas a timestamp de unix y dividiendo el resultado entre el numero de segundos en el dia, despues obtiene el absoluto de ese resultado y lo redondea hacia abajo con floor.

bytes...

Funcion PHP para Sumar Tiempo a Fechas

Tuesday, February 5th, 2008 | 1,901 views

Con esta funcion es posible sumar o agregar tiempo (años, meses, dias, horas, munitos, segundos) a una fecha especifica.

PHP:
  1. function dateadd($date, $dd=0, $mm=0, $yy=0, $hh=0, $mn=0, $ss=0){
  2.     $date_r = getdate(strtotime($date));
  3.     $date_result = date("m/d/Y h:i:s", mktime(($date_r["hours"]+$hh),($date_r["minutes"]+$mn),($date_r["seconds"]+$ss),($date_r["mon"]+$mm),($date_r["mday"]+$dd),($date_r["year"]+$yy)));
  4.     return $date_result;
  5. }
  6.  
  7. $fecha = "02/04/2008"; //mes/dia/año
  8. $fecha_actualizada = dateadd($fecha,1,0,0,0,0,0); // suma 1 dia a la fecha

Lo que hace esta funcion es basicamente desarmar la fecha dada con mktime a modo de arreglo, una vez hecho esto, le suma a cada parte de la fecha los valores que le enviamos.

Espero sea de utilidad.

Bytes...

Conversion de un Array en QueryString

Wednesday, January 16th, 2008 | 181 views

Aveces se me ha presentado el problema de quere convertir o armar QueryStrings desde variables, arreglos o valores desde una base de datos, la mejor forma de hacer esto es meter los valores en un arreglo y convertir el mismo en QueryString con la funcion http_build_query(). ejemplo:

PHP:
  1. <?php
  2. $data = array('foo'=>'bar',
  3.               'baz'=>'boom',
  4.               'cow'=>'milk',
  5.               'php'=>'hypertext processor');
  6.  
  7. echo http_build_query($data); // foo=bar&baz=boom&cow=milk&php=hypertext+processor
  8. echo http_build_query($data, '', '&amp;'); // foo=bar&amp;baz=boom&amp;cow=milk&amp;php=hypertext+processor
  9.  
  10. ?>

bytes...

Manejo Directiva Register Globals en PHP (register_globals)

Wednesday, December 5th, 2007 | 496 views

Hola, antes de continuar con este post hago una pausa para declarar el objetivo primordial de este Blog, el cual es contribuir con la comunidad programadora sacando temas de esta indole y que sirvan de ayuda, ademas de servirme a mi mismo teniendo un repositorio que ayude a recordar las broncas en las que me he metido y he resuelto como programador, espero que a alguien mas le sirva.

Hoy escribire acerca de una directiva que a muchos programadores nos ah dado problemas, esta es register_globals, en PHP por supuesto.

Esta directiva se encuentra en el archivo de configuracion de php y puede tener 2 estados, On u Off, en versiones anteriores a la 4.2.0 esta aparecia por default en On y no asi en las versiones mas nuevas, por cuestiones de seguridad.

(more...)

Acerca De

Alterbrain - Tecnologia, Programacion Web, MySQL, Diseño, Tips, Noticias y Mas.

Buscar Post :