Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    114

    scrivere più record da db a file .txt

    ciao a tutti,
    attraverso un ciclo while ricavo dei record da mysql e li stampo a video (..fin qui tutto ok) ma, contemporaneamente, vorrei scrivere questi valori (sono degli indirizzi di posta elettronica) tutti separati da una virgola su di un file di testo.

    faccio così :

    Codice PHP:
    $sql="SELECT * FROM newsletter".$where;
    $result=mysql_query($sql,$db);
    while (
    $row mysql_fetch_array($result))
    {
    $indirizzi="<div>[b]$row[email][/b]</div>";
    echo 
    $indirizzi;

    // inserisco i dati sul file newsletter.txt
      
    $text="$row[email],";
      
    $scrivi_file=fopen("newsletter.txt","w");
      
    fwrite($scrivi_file,$text);
      
    fclose($scrivi_file);

    ..il problema è che mi scrive solo l'ultimo valore!!

    sapreste indicarmi dove sbaglio?

    grazie infinite

  2. #2
    $scrivi_file=fopen("newsletter.txt","w");


    cambia in a+ la w evidenziata. w apre in scrittura ma a te serve la modalità append!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    114
    ciao,
    e grazie per la dritta :-)

    ...l'unico problema è che nel postare mi sono scordato di aggiungere che, ogni volta che compio questa operazione, dovrei prima cancellare il "vecchio" contenuto e poi scriverci nuovamente su....invece così mi aggiunge i nuovi valori in coda

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    114
    up please

  5. #5
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:
    $emails="";  //dichiaro la variabile emails
    $sql="SELECT * FROM newsletter".$where;
    $result=mysql_query($sql,$db);
    while (
    $row mysql_fetch_array($result))
    {
    $indirizzi="<div>[b]$row[email][/b]</div>";
    $emails.=",".$row[email];// accodo a emails uan , e ogni risultato ottenuto dal fetch

    }
    $emails=substr($emails,1); // elimino la prima virgola

    // inserisco i dati sul file newsletter.txt

      
    $scrivi_file=fopen("newsletter.txt","w");
      
    fwrite($scrivi_file,$emails);
      
    fclose($scrivi_file); 
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

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.