Foros del Web » Programando para Internet » PHP »

PHP Script para exportar consulta a excel

Estas en el tema de PHP Script para exportar consulta a excel en el foro de PHP en Foros del Web. Buenas, he seguido varios manuales pero no logro hacerlo. Me gustaría exportar hacer un script en php para exportar esta consulta a un excel... SELECT ...
  #1 (permalink)  
Antiguo 27/05/2014, 18:07
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
PHP Script para exportar consulta a excel

Buenas, he seguido varios manuales pero no logro hacerlo. Me gustaría exportar hacer un script en php para exportar esta consulta a un excel...

SELECT CONCAT_WS( ' ', g.firstname, g.lastname ) AS Cliente, g.lastname AS Centro, n.`product_name` AS Producto, n.`product_quantity` AS Cantidad FROM `ps_orders` o LEFT JOIN `ps_customer` g ON g.`id_customer` = o.`id_customer` LEFT JOIN `ps_order_detail` n ON n.`id_order` = o.`id_order` WHERE o.date_upd BETWEEN '2014-01-01' AND '2014-12-31' AND n.`product_reference` = "PB001" LIMIT 0 , 30

En el script con la consulta he de poder seleccionar varios cosas manualmente que he resaltado en negrita, las fechas entre XXXX-XX-XX y XXXX-XX-XX y un desplegable con los productos PB001, PB002, PB003...

¿Como puedo hacerlo?

Gracias.
  #2 (permalink)  
Antiguo 27/05/2014, 18:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP Script para exportar consulta a excel

Primero que nada debes aclarar cual es tu problema:

1. ¿La consulta no sirve y te arroja errores?
2. La consulta sirve ¿pero no sabes cómo exportar a Excel?

Son cosas diferentes, si ya tienes la consulta funcionando y puedes iterar sus resultados entonces sólo debes resolver el punto 2, te sugiero investigar acerca de PHPExcel.

Si no has resuelto el punto 1 entonces no entiendo cual es tu problema, no eres explícito con ello.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 27/05/2014, 18:34
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: PHP Script para exportar consulta a excel

La consulta en phpmyadmin funciona de maravilla, lo que quiero es hacer una pequeña página, un php vamos, en el que al insertar la fecha y el product_reference "PB001..." a mano, haga la consulta y descargue el csv con los resultados.

Vamos, es para que cualquiera pueda descargar esos datos y no tener que hacerlo yo cada vez que me piden que haga la consulta.

No se si me he explicado.

Referente al PHPExcel, lo he intentado, pero no se como meter esa consulta y más aún, no se como dentro de esa consulta, meter los valores de la fecha y product_reference en una especie de formulario a mano. :S
  #4 (permalink)  
Antiguo 27/05/2014, 18:45
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP Script para exportar consulta a excel

Bien, todo claro, ¿y el código que tienes dónde está?

Porque la idea es que te ayudemos a resolver tus problemas, no vamos a darte el script ya hecho.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 27/05/2014, 18:55
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: PHP Script para exportar consulta a excel

Pues ahí es donde estoy perdido, he leído varios manuales, pero no se ni por donde empezar, :S
  #6 (permalink)  
Antiguo 27/05/2014, 18:58
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: PHP Script para exportar consulta a excel

Pues eso está grave, lo básico es que sepas iterar los resultados de tu consulta, ¿eso ya lo sabes hacer?

Es decir, tu problema no es sólo uno, son varios.

Muestra lo que llevas y vamos viendo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 27/05/2014, 19:10
 
Fecha de Ingreso: mayo-2014
Ubicación: Valencia
Mensajes: 63
Antigüedad: 9 años, 11 meses
Puntos: 0
Respuesta: PHP Script para exportar consulta a excel

Pues esto, pero esta mal por todas partes, xD Además de que no se como hacer para que salga un pequeño formulario para poner elegir la fecha, vamos, en ese caso se que ha de ser algo similar a esto...

SELECT * FROM tutabla WHERE (date BETWEEN '$date1' AND '$date2')

Pero no se como aplicarlo en el ejemplo que pongo a continuación, al igual que a la hora de hacer un select en plan desplegable para el product_reference, :S

Código:
$conexion = new mysqli(mi_server, mi_username, password, database);

if(isset($_POST['submitExport'])) {

    $fp = fopen("import/users.csv","w");
    $separador = ";";

    $linea = 'g.firstname'.$separador.'g.lastname'.$separador.'g.foundus'.$separador.'product_quantity'."\n"; 
    fwrite($fp, $linea);

    $result = $conexion->query("SELECT CONCAT_WS(  ' ', g.firstname, g.lastname, g.foundus ) AS Cliente, g.lastname AS Centro, n.`product_name` AS Producto, n.`product_quantity` AS Cantidad FROM  `ps_orders` o LEFT JOIN  `ps_customer` g ON g.`id_customer` = o.`id_customer` LEFT JOIN  `ps_order_detail` n ON n.`id_order` = o.`id_order` WHERE o.date_upd BETWEEN  '2014-01-01' AND  '2014-12-31' AND n.`product_reference` =  "PB001" LIMIT 0 , 30");
    if ($result->num_rows > 0) {
        while ($row_users = $result->fetch_assoc()) {                
            $linea = $row_users['g.firstname'].$separador.$row_users['g.lastname'].$separador.$row_users['g.foundus'].$separador.$row_users['product.quantity']."\n"; 
            fwrite($fp, $linea);
        }
    }

    $message_export = '<p><a href="import/users.csv"><b>Ver ventas .csv</b></a></p>';

    fclose($fp);    
}

<fieldset>
    <legend>Exportar Ventas</legend>
    <form method="post" action="index.php">
        <input type="submit" value="Export .CSV file" name="submitExport">
        <?php if (!empty($message_export)) echo $message_export; ?>
    </form>
</fieldset>
<fieldset>
    <legend>Usuarios registrados</legend>
    <table width="490px" cellpadding="0" cellspacing="5">
        <tr>
            <td>Cliente</td>
            <td>Centro</td>
            <td>Cantidad</td>
        </tr>
           <?php
        $result = $conexion->query("SELECT CONCAT_WS(  ' ', g.firstname, g.lastname, g.foundus ) AS Cliente, g.lastname AS Centro, n.`product_name` AS Producto, n.`product_quantity` AS Cantidad FROM  `ps_orders` o LEFT JOIN  `ps_customer` g ON g.`id_customer` = o.`id_customer` LEFT JOIN  `ps_order_detail` n ON n.`id_order` = o.`id_order` WHERE o.date_upd BETWEEN  '2014-01-01' AND  '2014-12-31' AND n.`product_reference` =  "PB001" LIMIT 0 , 30");
        if ($result->num_rows > 0) {
            while ($row_users = $result->fetch_assoc()) {  
                echo '<tr>';
                echo '<td>'.$row_users['g.firstname, g.lastname'].'</td>';
                echo '<td>'.$row_users['g.foundus'].'</td>';
                echo '<td>'.$row_users['product_quantity'].'</td>';
                echo '</tr>';
            }
        }       
        ?>        
    </table>
</fieldset>

Etiquetas: excel, fecha, select
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:51.