Usar ORDER BY en SQL

Una de las claúsulas que podemos utilizar en SQL es ORDER, el cual usamos para especificar el orden, cuya sintaxis es primero «ORDER BY» y luego una lista de Campos que definirán los campos a ordenar:

La síntaxis es la siguiente:
SELECT campo1, campo2, campo3, campo4 FROM Clientes ORDER BY campo_ordenar_primero, campo_ordenar_segundo

Incluso se puede especificar el orden de los registros:

  • ASC: ascendente (valor que toma por defecto si no se especifica)
  • DESC: descendente

Veamos unos ejemplos:

SELECT * FROM nombre_tabla ORDER BY campo1, campo3, campo8Esta sintaxis nos va a seleccionar todos los registros de la tabla y los traerá ordenados de la manera específica que le solicitamos, es decir primero se ordenarán por el «campo1», luego ante la igualdad de este se decidirá el orden por el segundo campo en la lista de campos especificada luego de la cláusula ORDER BY, es decir el campo de nombre «campo3», para finalizar ordenando por el «campo8» como tercer y último criterio.SELECT * FROM nombre_tabla ORDER BY campo8, campo1, campo2

Esta sintaxis nos va a seleccionar todos los registros de la tabla y pero ahora los traerá ordenados primero por el «campo8», luego ante la igualdad de este se decidirá el orden por el segundo campo en la lista es decir el campo de nombre «campo1», para finalizar ordenando por el «campo2» como último criterio.
En definitiva el orden que aparecen en la lista, otorga la prioridad en el ordenamiento de los registros, desde el primero de mayor prioridad hasta el último.

Estos dos ejemplos anteriores toman por defecto un ordenamiento ascendente de los registros, seria lo mismo que colocar la cláusula ASC en todos los casos:

SELECT * FROM nombre_tabla ORDER BY campo1 ASC, campo3 ASC, campo8 ASC
SELECT * FROM nombre_tabla ORDER BY campo8 ASC, campo1 ASC, campo2 ASC

Si hubiésemos querido lo contrario tendríamos que haber colocado la cláusula DESC para lograr un orden descendente como ya dijimos, y se puede utilizar logicamente una o la otra en un mismo campo, pero cualquiera de las dos puede ser utilizada en otro campo del mismo listado como por ejemplo:

SELECT * FROM nombre_tabla ORDER BY campo1 DESC, campo3 ASC, campo8 DESC

Hay que tener en cuenta que el orden no distingue entre mayúsculas y minúsculas para el caso que se trate de letras, en este caso se realiza un orden simplemente alfabético, mientras que los números tienen menor orden que las letras, quedando por delante de éstas, así mismo los distintos símbolos y signos de puntuación, tienen menor orden que los números.

Por ejemplo ordenando de menor a mayor (de manera ascendente) los siguientes campos quedarían así:

9 de Julio
25 de Mayo
Arrecifes
Bahía Blanca
Córdoba

Fuente: http://www.lenguajesql.com.ar/lenguajesql/default.asp?id=10

Detectar navegador Mozilla Firefox, IE, etc. con PHP

Para poder ofrecer formatos distintos según el navegador podemos hacerlo averiguando que navegador se está utilizando y dando en consecuencia un formato adecuado. Normalmente el navegador que va a dar problemas es IE, así que debemos generar un formato para IE y otro para los demas, lo podemos crear así:

<?php
$navegador = getenv("HTTP_USER_AGENT");
if (preg_match("/MSIE/i", "$navegador"))
{}
else
{}
?>

Funciones IF, ELSE IF y ELSE en PHP

Vamos a ver cómo usar tres funciones básicas de php que permiten verificar condiciones y realizar una serie de comandos en función de dicha condición.

If

La función if tiene la forma siguiente:

if (condición) {comandos}

Es importante que la condición va entre paréntesis y los comandos entre corchetes. Este comando lo que hace es que si se cumple la condición entonces realizará los comandos que haya entre corchetes. Si no se cumple esa condición no se realizarán los comandos. Para la condición se usan una serie de operadores llamados «operadores de comparación», que son los que se muestran en la siguiente tabla:

Operador Ejemplo ¿Qué hace?
== $a == $b La condición se cumple si la variable $a es exáctamente igual a $b
!= $a != $b Se cumple cuando $a es distinto de $b
< $a < $b Se cumple cuando $a es menor que $b
> $a > $b Se cumple cuando $a es mayor que $b
<= $a <= $b Se cumple cuando $a es menor o igual que $b
>= $a >= $b Se cumple cuando $a es mayor o igual que $b

Es importante que en la comparación de igualdad se ponen dos signos igual, y no uno. Un signo igual se usa para darle un valor a una variable, y dos se usan para compararla. Como información adicional, se dice que los comandos entre corchetes se ejecutan cuando lo que haya entre paréntesis valga 1, es decir, que las comparaciones cuando se cumplen valen 1, y si no valen 0, por lo tanto el siguiente código escribiría 1 si $a es igual a $b y 0 en caso contrario:
echo $a==$b;
Sabiendo esto podemos usar como condición la función isset($a), que devuelve 1 si existe $a y 0 en caso contrario. O también podemos usar la función empty($a), que devuelve 1 si la variable $a está vacía, es decir, lo contrario que isset($a). Aquí teneis un ejemplo de su utilización:
if (empty($a))
{echo «Debe rellenar el valor de ‘a'»;}
Vamos a poner otros ejemplos del uso de if. Si nosotros queremos saber si un número almacenado en una variable $num es positivo (incluyendo el 0) podemos usar una función if de la siguiente forma:
if ($num >= 0)
{echo «Es un número positivo»;}
También podemos hacer el valor absoluto de $num y almacenarlo en la misma variable de la siguiente forma:
if ($num < 0)
{$num = -$num;}
Pero no sólo podemos usar if con variables numéricas, sino también con variables que contengan cadenas de texto. Por ejemplo, si queremos que si la variable $_POST[«nombre»] valga Pepito le diga Hola tenemos que hacer lo siguiente:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
Es importante que en este caso la condición se cumple cuando valga «Pepito», y no cuando valga «pepito».

Else

Ahora nos podría entrar una duda, si queremos que le diga Hola a Pepito, pero además queremos que si no es Pepito le diga que el no es Pepito, ¿tenemos que usar dos if entonces?. Pues no haría falta, para ello tenemos la función else, que se usa de la siguiente forma:

if (condición) {comandos}
else {comandos}

Este código lo que hace es que cuando se cumpla la condición se ejecuten los primeros comandos, y si no se cumple la condición se ejecutan los comandos del else. Entonces el caso de que le diga que no es Pepito se haría así:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
else {echo «Tú no eres Pepito»;}

Elseif

Ahora nos podría entrar otra duda más, ¿y si nosotros además de lo anterior queremos que si entra «Fulanito» además le diga «Buenos días»?. No podemos hacer otro if con otro else, porque entonces en el primer if le diría que no es Pepito y en el segundo le diría Buenos días, y eso no es lo que queremos. Para esto se usan los elseif, que tienen la siguiente forma:
if (condición) {comandos}
elseif (condición) {comandos}
else {comandos}
En este caso el elseif lo que hace es añadir una nueva condición con sus comandos, y el else sólo se ejecuta cuando no se han cumplido ninguna de las condiciones anteriores. En un código if podemos poner tantos elseif como queramos. De esta forma el código que hemos dicho se haría así:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
elseif ($_POST[«nombre»] == «Fulanito»)
{echo «Buenos días»;}
else {echo «Tú no eres Pepito ni Fulanito»;}

Operadores booleanos o de lógica

Ahora nos puede surgir una duda, nosotros queremos que le diga hola tanto a Pepito como a Fulanito, ¿hay una forma más corta que usar el elseif? Pues sí, y es usar operadores booleanos, que son los siguientes:

Operador Ejemplo ¿Qué hace?
&& o and $a==$b && $c>=$d Devuelve 1 si se cumplen las dos condiciones
|| o or $a==$b or $c>=$d Devuelve 1 si se cumple alguna de las condiciones o ambas
xor $a==$b xor $c>=$d Devuelve 1 si se cumple sólo una de las condiciones, y no ambas

De esta forma el problema expuesto se resolvería así:
if ($_POST[«nombre»]==»Pepito» or $_POST[«nombre»]==»Fulanito»)
{echo «Hola»;}
else {echo «Tú no eres Pepito ni Fulanito»;}
Otro ejemplo es si queremos hacer que si $a es mayor que 0 y $b es menor que 10 entonces nos devuelva una variable $c con la suma de ambos, que se haría así:
if ($a>0 and $b<10) {$c=$a+$b;}

Fuente: http://www.tuwebdeinformatica.com/Crearwebs/php_mysql/if_else_elseif_php.html

Vamos a ver cómo usar tres funciones básicas de php que permiten verificar condiciones y realizar una serie de comandos en función de dicha condición.

If

La función if tiene la forma siguiente:

if (condición) {comandos}

Es importante que la condición va entre paréntesis y los comandos entre corchetes. Este comando lo que hace es que si se cumple la condición entonces realizará los comandos que haya entre corchetes. Si no se cumple esa condición no se realizarán los comandos. Para la condición se usan una serie de operadores llamados «operadores de comparación», que son los que se muestran en la siguiente tabla:

Operador Ejemplo ¿Qué hace?
== $a == $b La condición se cumple si la variable $a es exáctamente igual a $b
!= $a != $b Se cumple cuando $a es distinto de $b
< $a < $b Se cumple cuando $a es menor que $b
> $a > $b Se cumple cuando $a es mayor que $b
<= $a <= $b Se cumple cuando $a es menor o igual que $b
>= $a >= $b Se cumple cuando $a es mayor o igual que $b

Es importante que en la comparación de igualdad se ponen dos signos igual, y no uno. Un signo igual se usa para darle un valor a una variable, y dos se usan para compararla. Como información adicional, se dice que los comandos entre corchetes se ejecutan cuando lo que haya entre paréntesis valga 1, es decir, que las comparaciones cuando se cumplen valen 1, y si no valen 0, por lo tanto el siguiente código escribiría 1 si $a es igual a $b y 0 en caso contrario:
echo $a==$b;
Sabiendo esto podemos usar como condición la función isset($a), que devuelve 1 si existe $a y 0 en caso contrario. O también podemos usar la función empty($a), que devuelve 1 si la variable $a está vacía, es decir, lo contrario que isset($a). Aquí teneis un ejemplo de su utilización:
if (empty($a))
{echo «Debe rellenar el valor de ‘a'»;}
Vamos a poner otros ejemplos del uso de if. Si nosotros queremos saber si un número almacenado en una variable $num es positivo (incluyendo el 0) podemos usar una función if de la siguiente forma:
if ($num >= 0)
{echo «Es un número positivo»;}
También podemos hacer el valor absoluto de $num y almacenarlo en la misma variable de la siguiente forma:
if ($num < 0)
{$num = -$num;}
Pero no sólo podemos usar if con variables numéricas, sino también con variables que contengan cadenas de texto. Por ejemplo, si queremos que si la variable $_POST[«nombre»] valga Pepito le diga Hola tenemos que hacer lo siguiente:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
Es importante que en este caso la condición se cumple cuando valga «Pepito», y no cuando valga «pepito».

Else

Ahora nos podría entrar una duda, si queremos que le diga Hola a Pepito, pero además queremos que si no es Pepito le diga que el no es Pepito, ¿tenemos que usar dos if entonces?. Pues no haría falta, para ello tenemos la función else, que se usa de la siguiente forma:

if (condición) {comandos}
else {comandos}

Este código lo que hace es que cuando se cumpla la condición se ejecuten los primeros comandos, y si no se cumple la condición se ejecutan los comandos del else. Entonces el caso de que le diga que no es Pepito se haría así:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
else {echo «Tú no eres Pepito»;}

Elseif

Ahora nos podría entrar otra duda más, ¿y si nosotros además de lo anterior queremos que si entra «Fulanito» además le diga «Buenos días»?. No podemos hacer otro if con otro else, porque entonces en el primer if le diría que no es Pepito y en el segundo le diría Buenos días, y eso no es lo que queremos. Para esto se usan los elseif, que tienen la siguiente forma:
if (condición) {comandos}
elseif (condición) {comandos}
else {comandos}
En este caso el elseif lo que hace es añadir una nueva condición con sus comandos, y el else sólo se ejecuta cuando no se han cumplido ninguna de las condiciones anteriores. En un código if podemos poner tantos elseif como queramos. De esta forma el código que hemos dicho se haría así:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
elseif ($_POST[«nombre»] == «Fulanito»)
{echo «Buenos días»;}
else {echo «Tú no eres Pepito ni Fulanito»;}

Operadores booleanos o de lógica

Ahora nos puede surgir una duda, nosotros queremos que le diga hola tanto a Pepito como a Fulanito, ¿hay una forma más corta que usar el elseif? Pues sí, y es usar operadores booleanos, que son los siguientes:

Operador Ejemplo ¿Qué hace?
&& o and $a==$b && $c>=$d Devuelve 1 si se cumplen las dos condiciones
|| o or $a==$b or $c>=$d Devuelve 1 si se cumple alguna de las condiciones o ambas
xor $a==$b xor $c>=$d Devuelve 1 si se cumple sólo una de las condiciones, y no ambas

De esta forma el problema expuesto se resolvería así:
if ($_POST[«nombre»]==»Pepito» or $_POST[«nombre»]==»Fulanito»)
{echo «Hola»;}
else {echo «Tú no eres Pepito ni Fulanito»;}
Otro ejemplo es si queremos hacer que si $a es mayor que 0 y $b es menor que 10 entonces nos devuelva una variable $c con la suma de ambos, que se haría así:
if ($a>0 and $b<10) {$c=$a+$b;}

Fuente: http://www.tuwebdeinformatica.com/Crearwebs/php_mysVamos a ver cómo usar tres funciones básicas de php que permiten verificar condiciones y realizar una serie de comandos en función de dicha condición.

If

La función if tiene la forma siguiente:

if (condición) {comandos}

Es importante que la condición va entre paréntesis y los comandos entre corchetes. Este comando lo que hace es que si se cumple la condición entonces realizará los comandos que haya entre corchetes. Si no se cumple esa condición no se realizarán los comandos. Para la condición se usan una serie de operadores llamados «operadores de comparación», que son los que se muestran en la siguiente tabla:

Operador Ejemplo ¿Qué hace?
== $a == $b La condición se cumple si la variable $a es exáctamente igual a $b
!= $a != $b Se cumple cuando $a es distinto de $b
< $a < $b Se cumple cuando $a es menor que $b
> $a > $b Se cumple cuando $a es mayor que $b
<= $a <= $b Se cumple cuando $a es menor o igual que $b
>= $a >= $b Se cumple cuando $a es mayor o igual que $b

Es importante que en la comparación de igualdad se ponen dos signos igual, y no uno. Un signo igual se usa para darle un valor a una variable, y dos se usan para compararla. Como información adicional, se dice que los comandos entre corchetes se ejecutan cuando lo que haya entre paréntesis valga 1, es decir, que las comparaciones cuando se cumplen valen 1, y si no valen 0, por lo tanto el siguiente código escribiría 1 si $a es igual a $b y 0 en caso contrario:
echo $a==$b;
Sabiendo esto podemos usar como condición la función isset($a), que devuelve 1 si existe $a y 0 en caso contrario. O también podemos usar la función empty($a), que devuelve 1 si la variable $a está vacía, es decir, lo contrario que isset($a). Aquí teneis un ejemplo de su utilización:
if (empty($a))
{echo «Debe rellenar el valor de ‘a'»;}
Vamos a poner otros ejemplos del uso de if. Si nosotros queremos saber si un número almacenado en una variable $num es positivo (incluyendo el 0) podemos usar una función if de la siguiente forma:
if ($num >= 0)
{echo «Es un número positivo»;}
También podemos hacer el valor absoluto de $num y almacenarlo en la misma variable de la siguiente forma:
if ($num < 0)
{$num = -$num;}
Pero no sólo podemos usar if con variables numéricas, sino también con variables que contengan cadenas de texto. Por ejemplo, si queremos que si la variable $_POST[«nombre»] valga Pepito le diga Hola tenemos que hacer lo siguiente:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
Es importante que en este caso la condición se cumple cuando valga «Pepito», y no cuando valga «pepito».

Else

Ahora nos podría entrar una duda, si queremos que le diga Hola a Pepito, pero además queremos que si no es Pepito le diga que el no es Pepito, ¿tenemos que usar dos if entonces?. Pues no haría falta, para ello tenemos la función else, que se usa de la siguiente forma:

if (condición) {comandos}
else {comandos}

Este código lo que hace es que cuando se cumpla la condición se ejecuten los primeros comandos, y si no se cumple la condición se ejecutan los comandos del else. Entonces el caso de que le diga que no es Pepito se haría así:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
else {echo «Tú no eres Pepito»;}

Elseif

Ahora nos podría entrar otra duda más, ¿y si nosotros además de lo anterior queremos que si entra «Fulanito» además le diga «Buenos días»?. No podemos hacer otro if con otro else, porque entonces en el primer if le diría que no es Pepito y en el segundo le diría Buenos días, y eso no es lo que queremos. Para esto se usan los elseif, que tienen la siguiente forma:
if (condición) {comandos}
elseif (condición) {comandos}
else {comandos}
En este caso el elseif lo que hace es añadir una nueva condición con sus comandos, y el else sólo se ejecuta cuando no se han cumplido ninguna de las condiciones anteriores. En un código if podemos poner tantos elseif como queramos. De esta forma el código que hemos dicho se haría así:
if ($_POST[«nombre»] == «Pepito»)
{echo «Hola»;}
elseif ($_POST[«nombre»] == «Fulanito»)
{echo «Buenos días»;}
else {echo «Tú no eres Pepito ni Fulanito»;}

Operadores booleanos o de lógica

Ahora nos puede surgir una duda, nosotros queremos que le diga hola tanto a Pepito como a Fulanito, ¿hay una forma más corta que usar el elseif? Pues sí, y es usar operadores booleanos, que son los siguientes:

Operador Ejemplo ¿Qué hace?
&& o and $a==$b && $c>=$d Devuelve 1 si se cumplen las dos condiciones
|| o or $a==$b or $c>=$d Devuelve 1 si se cumple alguna de las condiciones o ambas
xor $a==$b xor $c>=$d Devuelve 1 si se cumple sólo una de las condiciones, y no ambas

De esta forma el problema expuesto se resolvería así:
if ($_POST[«nombre»]==»Pepito» or $_POST[«nombre»]==»Fulanito»)
{echo «Hola»;}
else {echo «Tú no eres Pepito ni Fulanito»;}
Otro ejemplo es si queremos hacer que si $a es mayor que 0 y $b es menor que 10 entonces nos devuelva una variable $c con la suma de ambos, que se haría así:
if ($a>0 and $b<10) {$c=$a+$b;}

Fuente: http://www.tuwebdeinformatica.com/Crearwebs/php_mys

 

Posicionar cursor en primer campo del formulario con JQuery

Para posicionar el cursor en el primer campo del formulario utilizando JQuery primero debemos llamar a JQuery:

<script src="/es/ext/js/jquery.js" type="text/javascript"></script>

Después llamar a siguiente función:

<script type="text/javascript">
$(function () {
$(window).load(function () {
$(':input:visible:enabled:first').focus();
});
})
</script>

Borrar archivos que no se puede del servidor

A veces es imposible borrar una carpeta o unos archivos del servidor, sobre todo si hemos borrado una instalación de Drupal o Joomla. Para conseguirlo debemos ejecutar este script de php:

<?php
function rchmod($parent, $dmod, $fmod) {
if (
is_dir($parent)) {
$old = umask(0000);
chmod($parent, $dmod);
umask($old);
if (
$handle = opendir($parent)) {
while ((
$file = readdir($handle)) !== false) {
if (
$file === "." or $file === "..") {
continue;
} elseif (
is_dir($parent . '/' . $file)) {
rchmod($parent . '/' . $file, $dmod, $fmod);
} else {
$old = umask(0000);
chmod($parent . '/' . $file, $fmod);
umask($old);
}
}
closedir($handle);
}
} else {
$old = umask(0000);
chmod($parent, $fmod);
umask($old);
}
}
rchmod('foldername/', 0777, 0666);
?>

Donde pone folder name escribimos la carpeta que queremos borrar. Al ejecutarlo le dará unos permisos 0777, que extrañamente si dejarán ahora borrar la carpeta desde filezilla o filemanager.