Error: La CPU NTVDM ha encontrado una instrucción no permitida

by Zilus on 20/07/2010

Este error es molesto y muy simple de reparar, lo unico que se tiene que hacer es, en “opciones de carpeta” y permitir ver archivos ocultos y archivos de sistema.

Ahora vayan a:

C:\WINDOWS\repair

Copiar los archivos: Autoexec.nt y Config.nt despues los pegan en:

C:\WINDOWS\system32

29 Comments

Obtener numerador y denominador desde una tabla en MySQL con PHP (numero / total)

by Zilus on 8/07/2010

En realidad no sé ni como poner titulo a este tema, pero les explico un poco lo que tenia que hacer para que encuentren este ejemplo útil en lo que necesiten.
Existe una tabla en la que almaceno registros que se enlazan a otra tabla por medio de un campo, ejemplo:

T1
a_id, a_referencia_t2_id, a_contenido

T2
b_id, b_algomas

Con esto, debía listar todas las filas de T1 y en obtener la el numerador del registro, es decir, 2 / 3 (el segundo registro de los tres disponibles con la misma referencia de la T2).

Obtener el denominador es sencillo:

$total_num = ceil(mysql_num_rows(mysql_query(“SELECT a_id FROM t1 WHERE a_referencia_t2_id=”.$row_t1['b_id'].”")));

Ahora, lo complicado, es generar ese “índice” para obtener el numerador, esto lo hice dentro de un while($row_t1=mysql_fetch_assoc($query_t1)), entonces la ejecución del código se hace por cada fila obtenida:

mysql_query(“set @a_id = ””);
mysql_query(“set @num  = 1;”);
$sql_num = ‘
SELECT
a_id as id_num,
a_referencia_t2_id,
@num := if(@a_id = a_referencia_t2_id, @num + 1, 1) as row_number,
@a_id:= a_referencia_t2_id as dummy
FROM `t1`
WHERE a_referencia_t2_id=’.$row_t1['a_referencia_t2_id'];
$query_num=mysql_query($sql_num) or die(mysql_error());
while($row_num=mysql_fetch_assoc($query_num)) {
if($row_num['id_num']==$row_t1['a_id']) {
$num=$row_num['row_number'];
}
}

Con esto, obtenemos el resultado deseado (Ej.: 4 / 8):

echo $num.” / “.$total_num

Espero que les sea útil!
Part ot this code came from: http://www.xaprb.com/blog/2006/12/02/how-to-number-rows-in-mysql/

No Comments

Convertir de cantidad a importe con letra en pesos mediante PHP

by Zilus on 29/06/2010

Necesitaba una función que pudiera traducir una cantidad dada con centavos a el total con letra, es decir escrito, para un sistema de facturación con PHP, encontré una función excelente en BLASTEN.com y me tome la libertad de moverle un poquito para hacer que la salida fuera exactamente como la necesitaba, es decir, incluyendo “X PESOS xx/100 M.N.”

Todo el crédito es para la gente de Blasten, pero le puse un poquito mas de sabor para quienes me leen y lo puedan utilizar con mayor facilidad.

Importante: La función por el momento solo acepta 2 decimales y el formato del numero tiene que ser xxx.xx, así que pueden utilizar number_format() para limpiar la variable antes de pasarla por la función.

Para utilizarlo, solo descarguen el código, péguenlo en su script o hagan un include con la ruta al fichero que pueden descargar aquí, de cualquier forma, lo único necesario es utilizar:

echo num2letras($var);

No queda mas que desearles happy coding!

num2letras en php

13 Comments

xHTML Tipos de Doctype

by Zilus on 23/06/2010

Un tip rápido o una lista que puede ser útil, una pequeña lista con los Doctypes autorizados por la W3C:

HTML 4 Estricto

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01//EN”
“http://www.w3.org/TR/html4/strict.dtd”>

xHTML 1 Estricto

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Strict//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd”>

xHTML Transicional

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN”
“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

xHTML 1.1

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>

HTML 5

<!DOCTYPE html>

1 Comment

OpenOffice.org 3.x para PPC

by Zilus on 23/06/2010

Desafortunadamente, en el sitio principal de descargas de OpenOffice.org no tiene una versión disponible para las Mac que usan procesadores PowerPC, es decir, solo existen versiones oficiales para procesadores Intel.

Existe una alternativa para todos los que necesiten usar la versión “mas reciente” de este estupenda suite de oficina y que sigan teniendo equipos con PPC, esto es descargar las versiones de “prueba” o que están casi listas para su liberación para esta arquitectura. Solo hay que elegir cual deseamos descargar, en mi caso fue la versión en Español, de la siguiente liga:

Paquetes Alternativos OpenOffice

No Comments

Deprecated: Function set_magic_quotes_runtime() is deprecated en EzPdf class

by Zilus on 8/06/2010

Este error me hizo dar una buena búsqueda antes de resolverlo, cuando tenemos php 5.3.x instalado en nuestros servidores y usamos la clase ezclass para PDF de R&Os

El error que nos muestra puede ser muy similar a:

Cabe mencionar, que los números de línea pueden variar y, el la ubicación del script la escribí como “…”

Deprecated: Function set_magic_quotes_runtime() is deprecated in /…/class.pdf.php on line 2856
Deprecated: Function set_magic_quotes_runtime() is deprecated in /…/class.pdf.php on line 2858
Deprecated: Function set_magic_quotes_runtime() is deprecated in /…/class.pdf.php on line 2641
Deprecated: Function set_magic_quotes_runtime() is deprecated in /…/class.pdf.php on line 2653

Además de un:

Deprecated: Assigning the return value of new by reference is deprecated in /…/pdf.php on line X

Esto se arregla muy rápido y hay que saber el porque del problema, se trata tan solo de una función depreciada en PHP 5, que se iba a mantener en funcionamiento hasta ultima versión, solo que no mas en la 6, ósea, llegando a PHP 6 ya no se podrá utilizar esta función.

Lo que debemos hacer es simple, abrimos el fichero de la clase (class.pdf.php) en el editor de nuestra preferencia y eliminamos todas las líneas que contengan esto:

set_magic_quotes_runtime(0);

Por ultimo, solo es necesario editar nuestro script donde ejecutamos la creación del PDF y cambiamos de esto:

$pdf =& new Cezpdf(‘letter’,'portrait’);

Por esto:

$pdf = new Cezpdf(‘letter’,'portrait’);

Lo único que hicimos es quitar ese ampersand (&) antes del new, ya que esto solo se permite en PHP 4.

3 Comments

Instalar HP 1018 Ubuntu Server

by Zilus on 22/05/2010

Hace mucho no escribia… pero ahi les va la forma para instalar una Impresora HP Laserjet 1018 en Ubuntu server sin Interfaz Gráfica.

Primero Instalamos CUPS

Ahora debemos descargar el paquete foo2zjs:

$ wget -O foo2zjs.tar.gz http://foo2zjs.rkkda.com/foo2zjs.tar.gz

Una ves que lo tenemos, descomprimimos:

$ tar zxf foo2zjs.tar.gz

$ cd foo2zjs

Ahora, dentro del directorio, hacemos:

$make
$./getweb 1018
$ sudo make install
$ sudo make install-hotplug
$ sudo make cups

Con esto ya tenemos instalado lo necesario para hacerla funcionar, pero por alguna razon, o en mi caso, no funciono terminanndo esto, al intentar imprimir desde la red local, por lo que tuve que ejecutar en la consola:

$ cat /usr/share/foo2zjs/firmware/sihp1018.dl >  /dev/usb/lp0

Por Último, haremos que este ultimo comando se ejecute cada que arranca el sistema, para esto, editamos /etc/rc.local y agregamos la linea del parrafo anterior antes del exit 0, quedando algo asi:

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will “exit 0″ on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
cat /usr/share/foo2zjs/firmware/sihp1018.dl > /dev/usb/lp0
exit 0

Eso es todo!

No Comments

Copiar la estructura de una tabla MySQL en una tabla nueva

by Zilus on 11/03/2010

Si deseas copiar la esctructura de una tabla dentro de una base de datos MySQL, peor no los datos, solo necesitas ejecutar una linea en un query. La Sintaxis es:

CREATE TABLE tabla_copia LIKE tabla_original;

Eso es todo, obtendremos los mismo campos que en la “tabla original” en la “tabla_copia” en un sencillo paso.

1 Comment

Buscar en un campo separado por comas en MySQL

by Zilus on 2/03/2010

Debido a un desarrollo en el que actualmente trabajo, me tope con esto que resulto ser muy sencillo de hacer, pero no esta tan documentado como se espera. Que pasa si tienes un campo con cadenas de texto o enteros separados por coma, como categorías, nombres etc.

Un ejemplo practico seria,  el campo “cats” tiene un contenido como ’2,11,10,1,16′, si usamos el tradicional LIKE:

SELECT * FROM tabla WHERE cats LIKE '1';

Se podría pensar que esta solución es adecuada pero no es así, ya que nos devolvera:

cats:

  • 11
  • 10
  • 1
  • 16

Para lograr obtener solo el ’1′ y no todos los números que contengan el ’1′ se debe utilizar esta sintaxis:

SELECT * FROM tabla WHERE FIND_IN_SET('1', cats)

En el ejemplo práctico ‘tabla’ es el nombre de la tabla en la que queremos buscar y ‘cats’ el nombre del campo.

5 Comments

Problemas de color en Firefox 3.5.x

by Zilus on 20/02/2010

En estas versiones de Mozilla firefox, se implemento una nuevo manejo de perfiles de color, lo cual si no usas colores  sRGB estrictamente puede llegar a mostrar las imágenes de los sitios en donde navegamos con un color muy extraño, eléctrico y mal rendereado. Afortunadamente la solución es muy sencilla. Lo único que tenemos que hacer, es en un tab o ventana nueva, entramos a la configuración de nuestro zorro de fuego y cambiaremos el valor de un registro.

  • En la barra de direcciones, escribimos about:Config
  • Busca una entrada que dice: gfx.color_management.mode
  • Cambiar el valor del registro a 0
No Comments