Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [csv]

  1. #1

    [csv]

    Ho letto la pillola riguardante la gestione dei file...ma non riesco a far funzionare il codice che ho scritto;cioè mi salva un file vuoto. questo è il codice:

    <?php
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="studente.csv"');
    include ("../../../connect.php"); //file di connessione
    $file = fopen('studente.csv', 'wb');
    $cod_laurea = $_GET["codice_laurea"]; //proviene da un link messo in un'altra pagina
    $anno_immatricolazione = $_GET["anno_immat"];//proviene dallostesso link detto sopra
    $query = "select distinct i.matricola, a.desc_cogn, a.desc_nome, a.data_nasc,
    round(((datediff(curdate() + 0, a.data_nasc))/365),0) as anni, a.sigla_prov
    from immatricolati as i inner join anagrafica2 as a on i.matricola = a.codi_sogg
    where i.anno_imm = '$anno_immatricolazione' and i.corso_di_laurea ='$cod_laurea' order by a.desc_cogn asc";
    $res = mysqli_query($link,$query)or
    die (mysqli_error($link));
    while($row = mysqli_fetch_row($res))
    {
    $contenuto = "$row[0];";
    $contenuto .= "$row[1];";
    $contenuto .= "$row[2];";
    $contenuto .= "$row[3];";
    $contenuto .= "$row[4];";
    $contenuto .= "$row[5];";
    fwrite($file, $contenuto . "\n");
    }
    fclose($file);
    ?>

    Premmetto che la query dovrebbe restituire 57 campi quindi non può essere vuota.
    Non riesco a trovare l'errore.
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

  2. #2
    dopo aver creato il file magari dovresti anche mandarlo in output

    poi

    $contenuto = "";
    while($row = mysqli_fetch_row($res))
    {
    $contenuto .= "$row[0];";
    $contenuto .= "$row[1];";
    $contenuto .= "$row[2];";
    $contenuto .= "$row[3];";
    $contenuto .= "$row[4];";
    $contenuto .= "$row[5];". "\n";
    }
    fwrite($file, $contenuto );

    in questo modo eviti di ripetere il fwrite

    poi se non ti serve salvare una copia in locale puoi direttamente mandare in output $contenuto e togliere i vari fwrite fopen fclose
    ciao

  3. #3
    E' veroooo...non me ne ero accorto. MAnnaggia alla distrazione!
    Grazie mille
    Un uomo è vecchio solo quando i rimpianti, in lui, superano i sogni. A. Einstein

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.