Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766

    Piccolo problema con select dal database

    Mi sto scervellando e in un'altro 3D mi sta aiutando guidoz, pero' volevo chiedere dove sbaglio nel codice che ho scritto:

    In pratica ho questo database con la tabella che si chiama indirizzi_email
    in questa tabella ho 2 campi (id e email)
    Faccio partire l'email, non mi da nessuno errore ma le email non partono.
    ecco il mio codice:

    Codice PHP:
    <?
    $host 
    "miohost";
    $db_nome "mionome";
    $db_user "miouser";
    $db_pass "miapass";
    $nome_tabella "indirizzi_email";
    $testo="$messaggio";
    $nome="Ufficio";
    $email_nostra="info@miosito.it";
    $mittente="$nome <$email_nostra>";
    $connessione =  @mysql_connect("$host","$db_user","$db_pass")
    or die(
    "Impossibile stabilire una connessione.");
    $db = @mysql_select_db($db_nome$connessione)
    or die(
    "Impossibile selezionare il database.");
    $sql "select * from $nome_tabella";
    $risultato = @mysql_query($sql,$connessione)
    or die(
    "Impossibile eseguire l'interrogazione.");
    while (
    $riga mysql_fetch_array($risultato)) {
    $id $riga['$id'];
    $email $riga['$email'];
    }
    $mail_info="From: $mittente";
    mail("$email","$oggetto",$testo,$mail_info);
    ?>
    dove sbaglio?

  2. #2
    se le mail le vuoi inviare ad ogni utente devi mettere l'invio nel ciclo, poi se vuoi accedere alle colonne tramite il nome utilizza _assoc (anche _array comunque andava bene, ma caricava il doppio avendo tralasciato il secondo parametro):

    codice:
    $mail_info="From: $mittente";
    while ($riga = mysql_fetch_assoc($risultato)) {
    	$id = $riga['id'];
    	$email = $riga['email'];
    	mail("$email","$oggetto",$testo,$mail_info);
    }



    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #3
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da 13manuel84
    se le mail le vuoi inviare ad ogni utente devi mettere l'invio nel ciclo, poi se vuoi accedere alle colonne tramite il nome utilizza _assoc (anche _array comunque andava bene, ma caricava il doppio avendo tralasciato il secondo parametro):

    codice:
    $mail_info="From: $mittente";
    while ($riga = mysql_fetch_assoc($risultato)) {
    	$id = $riga['id'];
    	$email = $riga['email'];
    	mail("$email","$oggetto",$testo,$mail_info);
    }



    ho provato cosi' ma lo stesso non va... Nessun errore ma non invia

  4. #4
    hai provato a far stampare la mail prima dell'invio? giusto per un pò di debug.

    hai provato ad inviarne una al tuo indirizzo? funzia?
    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #5
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da 13manuel84
    hai provato a far stampare la mail prima dell'invio? giusto per un pò di debug.

    hai provato ad inviarne una al tuo indirizzo? funzia?
    ho messo nel database 2 mie email, sto facendo le prove su quel database per poi spostare il tutto in quello ufficiale.
    Solo che non va!!

    Come devo stampare?
    il codice corretto e' questo:
    Codice PHP:
    <?
    $host 
    "host";
    $db_nome "mionome";
    $db_user "miouser";
    $db_pass "miapass";
    $nome_tabella "indirizzi_email";
    $testo="$messaggio";
    $nome="Ufficio";
    $email_nostra="info@miosito.it";
    $mittente="$nome <$email_nostra>";
    $connessione =  @mysql_connect("$host","$db_user","$db_pass")
    or die(
    "Impossibile stabilire una connessione.");
    $db = @mysql_select_db($db_nome$connessione)
    or die(
    "Impossibile selezionare il database.");
    $sql "select * from $nome_tabella";
    $risultato = @mysql_query($sql,$connessione)
    or die(
    "Impossibile eseguire l'interrogazione.");
    while (
    $riga mysql_fetch_array($risultato)) {
    $id $riga['$id'];
    $email $riga['$email'];
    }
    $mail_info="From: $mittente";
    while (
    $riga mysql_fetch_assoc($risultato)) {
    $id $riga['id'];
    $email $riga['email'];
    mail("$email","$oggetto",$testo,$mail_info);
    }
    ?>

  6. #6
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    up

  7. #7
    Originariamente inviato da Tr|k`Tr4k

    $risultato = @mysql_query($sql,$connessione)
    or die("Impossibile eseguire l'interrogazione.");
    while ($riga = mysql_fetch_array($risultato)) {
    $id = $riga['$id'];
    $email = $riga['$email'];
    }
    $mail_info="From: $mittente";
    while ($riga = mysql_fetch_assoc($risultato)) {
    $id = $riga['id'];
    $email = $riga['email'];
    mail("$email","$oggetto",$testo,$mail_info);
    }
    ?>
    [/php]
    Secondo me, non spedisce nulla perchè hai due cicli while; nel secondo non legge nessun record.
    Prova così:
    codice:
    $risultato = @mysql_query($sql,$connessione)
    or die("Impossibile eseguire l'interrogazione.");
    
    $mail_info="From: $mittente";
    while ($riga = mysql_fetch_assoc($risultato)) {
    $id = $riga['id'];
    $email = $riga['email'];
    mail("$email","$oggetto",$testo,$mail_info);
    }
    (cioè senza il primo ciclo).
    Riccardo Cattania
    http://www.riccardocattania.net/

  8. #8
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    Originariamente inviato da riccarcatt
    Secondo me, non spedisce nulla perchè hai due cicli while; nel secondo non legge nessun record.
    Prova così:
    codice:
    $risultato = @mysql_query($sql,$connessione)
    or die("Impossibile eseguire l'interrogazione.");
    
    $mail_info="From: $mittente";
    while ($riga = mysql_fetch_assoc($risultato)) {
    $id = $riga['id'];
    $email = $riga['email'];
    mail("$email","$oggetto",$testo,$mail_info);
    }
    (cioè senza il primo ciclo).
    azz, c'era un errorino... nel database non so come ma si erano cancellate le mie 2 email di prova presenti.
    Tutto ok, ora funziona
    Grazie

  9. #9
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    ultimo problema riguarda la visualizzazione di chi ha ricevuto l'email.
    Io ho messo un semplice echo:
    <? echo"$email" ?>
    in modo da stampare a video a quali email ho mandato la mailing list.

    Il problema e' che mi mostra solo l'ultima email presente nel database, per esempio prima che ne avevo solo 2 mostrava l'id 2, ora che ho inserito la terza mostra l'id 3

    Perche' non le mostra tutte?

  10. #10
    Utente di HTML.it L'avatar di Tr|k`Tr4k
    Registrato dal
    Jul 2002
    Messaggi
    2,766
    ora funziona tutto!!

    ho messo questo

    echo "<font face=verdana size=2 color=#000000>$email</font>;\n";

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.