Tengo un formulario de concultas, en el cual le pido entre otras cosas el Nombre y el Mail a la gente pues todos los campos son guardados en una base de datos, ahora bien quiero sacar solo el nombre y el mail en un archivo CSV para que pueda ser habierto ya sea por Microsoft Excel u OpenOffice calc.
he aqui el poderoso Scrip de 12 lineas que hacen el truco
//se prepara la coneccion para la base de datos
$host = 'localhost';
$usuario = 'root';
$password = '';
$db=mysql_connect($host,$usuario,$password);
//aqui se saca la informacion y la separamos por coma
$sacar=mysql_query("select * from prueba.correo", $db);
while ($reg = mysql_fetch_array($sacar))
{$shtml = $shtml.$reg["Nombre"].",".$reg["Mail"]."\n";}
//aqui le decimos al navegador que vamos a mandar un archivo del tipo CSV
Header("Content-Description: File Transfer");
header("Content-Type: application/force-download");
header("Content-Disposition: attachment; filename=pedidos.csv");
echo $shtml;
explico brevemente el asunto:
El escript es dividide en 3 partes:
1.- La coneccion a la base de datos de donde voy a extraer la informacion de aqui destaco que:
$host = aqui estara la direccion del servidor MySQL por default “localhost”.
$usuario = Pues el usuario que tiene permisos para la base de datos
$password = el password que acompaña al $usuario.
$db = Pues establece una conexión a un servidor MySQL junto con los otros datos.
2.- Pues aqui pedimos la informacion a la tabla que deseamos en este caso “prueba.correo” luego con la ayuda del While haremos un bucle para ordenar todos los datos extraidos de la tabla. separandolos con comas(,) y dandole un salto de linea con (\n)
3.- Ahora que ya esta ordenado como lo necesitamos le decimos al navegador que lo que estamos enviando es un archivo .csv y listo ahi esta ya el archivo con los datos.
eso estuvo facil claro que habria que darle seguridad para que no cualquiera pueda sacarlo pero eso es otro pisto. u otro post ![]()





Noviembre 30th, 2007 at 7:50 am
simple pero funcional, me gustó. sólo unos detallitos:
- el “{” del while faltó cerrarlo.
- el “\n” sale sin el back-slash.
eso por ahora…saludos!
Noviembre 30th, 2007 at 8:40 am
jojojo si verdad :P grax.
lo reviso y arreglo.
Mayo 30th, 2008 at 8:34 am
te falto seleccionar la base de datos
Mayo 30th, 2008 at 8:50 am
Pues si tengo selecionada la base de datos.
$sacar=mysql_query(”select * from prueba.correo”, $db);
es ahi donde esta la Base de datos prueba y la tabla es correo.
Por lo menos a mi asi me resulta.
Julio 20th, 2009 at 9:42 am
De pelos compadre, lo voy a probar solo tengo una duda, a que se refiere el buen vladimir con respeceto al back-slash, ¡¡que alguien me explique!!, soy una piña aun para esto del php y sobre todo para manejar csv, gracias de antemano.
Julio 20th, 2009 at 10:30 am
@Oscar Barr: a lo que se refiere Vladimir es a este simbolo “\”, que a mi se ma habia olvidado ponerlo.
cosa que ya las corregi en el codigo, que se me habia olvidado cuando lo publique la primera vez.
proba y nos comentas.
Diciembre 14th, 2009 at 7:29 am
Es una lástima que no se sepa escribir correctamente:
concultas -> ¿consultas?
habierto -> ¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿¿ ABIERTO ??????????
Scrip –> ¿ Script ?
escript –> ¿ script ?
coneccion –> ¿ conexión ?
Por no mencionar los acentos.
Es más importante saber escribir correctamente, que saber programar bien.
Diciembre 14th, 2009 at 5:22 pm
¬¬ desde primaria me van con ese cuento :P algun dia… algun dia…
Febrero 8th, 2010 at 3:20 am
Amén ConPropiedad!!