Mysql – SQL Seleccionar datos que existen en tabla1 y no en tabla2.

Seleccionar los datos que esten en una tabla pero que no existan en otra tabla.

SELECT tabla1.campo FROM tabla1 WHERE tabla1.campo NOT IN (SELECT tabla2.campo FROM tabla2);

Fuente: http://www.php-hispano.net

Anuncios

Exportar de PHP a XLS (Excel)…

Bueno aquí les voy a dejar el código que hice para poder exportar de php a xls (excel), la problemática surgió ya que los usuarios deseaban tener en algún momento los datos en excel para poder manipularlos, entonces tenia que crear ligar para que las consultas se ejecutaran y mostrarles la información en un archivo de excel.

Puedes hacer tu archivo de conexión ó hacer la conexión en el mismo archivo, en este caso haré la conexión en el mismo archivo php.

También agregue un estilo para que las principales celdas en excel osea la de  los títulos aparezcan en negro y letras blancas.

<?php
header(“Content-Type: application/vnd.ms-excel”);
header(“Expires: 0”);
header(“Cache-Control: must-revalidate, post-check=0, pre-check=0”);
header(“content-disposition: attachment;filename=Reportes.xls”);
?>
<HTML LANG=”es”>
<title>Bases de Datos.</title>
<TITLE>Titulo de la Página.</TITLE>
</head>
<body>
<?php
$NombreBD = “NOMBRE_DE_BD”;
$Servidor = “localhost”;
$Usuario = “root”;
$Password =””;

$IdConexion = mysql_connect($Servidor, $Usuario, $Password);
mysql_select_db($NombreBD, $IdConexion);

$sql = “SELECT ID,INCIDENCIA,DEPENDENCIA,SECTOR,TURNO,HORA FROM reportes”;
$result=mysql_query($sql,$IdConexion);

?>

<TABLE BORDER=1 align=”center” CELLPADDING=1 CELLSPACING=1>
<TR>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;ID</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;INCIDENCIA&nbsp;</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;DEPENDENCIA&nbsp;</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;SECTOR&nbsp;</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;TURNO&nbsp;</span></TD>
<TD  bgcolor=”#000000″><span style=”color:#FFFFFF; font-weight:bold;”>&nbsp;HORA&nbsp;</span></TD>

</TR>
<?php

while($row = mysql_fetch_array($result)) {
printf(“<tr>
<td>&nbsp;%s</td>
<td>&nbsp;%s&nbsp;</td>
<td>&nbsp;%s</td>
<td>&nbsp;%s</td>
<td>&nbsp;%s</td>
<td>&nbsp;%s</td>
</tr>”, $row[“ID”],$row[“INCIDENCIA”],$row[“DEPENDENCIA”],$row[“SECTOR”],$row[“TURNO”],$row[“HORA”]);
}
mysql_free_result($result);
mysql_close($IdConexion);  //Cierras la Conexión
?>

</table>
</body>
</html>

Esta parte hace que se genera un archivo xls  desde php de una tabla que ó consulta especifica.

<?php
header("Content-Type: application/vnd.ms-excel");header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("content-disposition: attachment;filename=Reporte.xls");
?>

Como obtener el último registro de una Tabla con SQL..

Bueno aquí les dejo dos maneras de obtener el último registro insertado en una tabla, somo muy similares

$consulta = “select ID from reportes order by ID DESC limit 1”;  //Asignamos a la variable la consulta
$resultid = mysql_query($consulta, $IdConexion);                     // Hacemos la consulta y la guardamos en $resultid
$resultado = mysql_result ($resultid, 0);                                          // Extraemos en valor que necesitamos, en este caso    el último ID.

echo “El id del último registro es: $resultado”;                      //Imprimimos el resultado.

O bien puede ser de la siguiente manera:

$result = mysql_query("select id from NOMBRE_TABLA order by id DESC limit 1"); //En un solo paso hacemos y asignamos el recultado de la consulta a $result.

$resultado = mysql_result ($result, 0); //Extraemos el valor que nos interesa.
echo
$resultado; //Te devolverá el último ID.

$id
= $resultado; //Por si quiere tenerlo en la variable $id.

Bueno eso sería todo, espero que les sirva, un saludo a david_M_G de http://www.forosdelweb.com.

MySQL por línea de comandos

Recuerda que tienes que saber en el directorio en donde previamente instalaste MySql, ya que debemos estar dentro del directorio para poder acceder a el mediante la línea de comandos.

Conectar con el servidor MySQL

Lo primero que tendremos que hacer es conectar con el sistema gestor de MySQL. Para ello, desde la línea de comandos invocamos a MySQL. Para ello, simplemente tenemos que escribir el comando “mysql” e indicarle unas opciones de conexión.

% mysql

Con el “%” expresamos el principio de la línea de comandos. Ese principio es el prompt que tengamos en nuestra consola de Linux o MsDOS, que puede ser algo como c:mysqlbin>. El carácter “%”, por tanto, no tenemos que escribirlo.

Con esa sentencia se conecta uno con la base de datos con los parámetros por defecto. Es decir, al servidor local, con usuario y password igual a cadenas vacías.

Lo más normal es que tengamos que indicar algún otro dato para conectar con la base de datos, como el usuario, la clave o la dirección del servidor con el que queremos conectar. La sintaxis sería la siguiente:

% mysql -h nombre_servidor -u nombre_usuario -p

Si deseamos conectarnos a la base de datos en local y con nombre de usuario root tendríamos que escribir:

% mysql -h localhost -u root -p

Lo primero que nos preguntará será el password para el usuario root. Una vez introducida la clave, ya estaremos dentro de la línea de comandos de MySQL. Con ello el prompt cambiará a algo como esto:

mysql>

Podríamos haber indicado la contraseña directamente en la línea de comandos para iniciar la sesión con MySQL, pero esto se desaconseja por razones de seguridad. De todos modos, la sintaxis hubiera sido:

% mysql -h localhost -u root -pmi_clave

Nos fijamos que entre -h y el nombre del host hay un espacio en blanco, igual que entre -u y el nombre de usuario. Sin embargo, entre -p y la clave no debemos poner ningún espacio.