Visualizzazione risultati 1 fino 17 di 17

Discussione: Stampare risultato query in un array

  1. #1
    alessandrotria non è connesso Neofita
    Data registrazione
    22-02-2012
    Messaggi
    8

    Exclamation Stampare risultato query in un array

    Ciao a tutti, sto cercando di mettere un elenco di inirizzi web in un array, solo che al momento di stampare il risultato di questo array non mi compare nulla

    Codice PHP:
    $query="select * from iscritti, iscritti_tipo_news where iscritti.id_iscritto=iscritti_tipo_news.id_iscritto and id_tipo_news='".$tipo_news."'";
    $result = mysql_query ( $query );
    if ( !
    $result ) die ("impossibile visualizzare accedere alla tab utenti 0".mysql_error());
    while(
    $riga = mysql_fetch_array($result)){
    $to[]= $riga;
    }
    print
    "<p>BBC: $to<p>";
    dovrei avere come rislutato a video BBC: mail1@mail.it,mail2@mail.it,mail3@ma...ail4@ma il.it
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 15.57.06 Motivo: + tag [php] e indentazione

  2. #2
    Guest

    Predefinito

    Quello che vuoi non è un array ma una stringa contenente dei dati separati da un dato separatore.

    prova a sostituire

    Codice PHP:
    print "<p>BBC: $to<p>";
    con

    Codice PHP:
    $dest = implode("," $to);
    echo
    "<p>BBC: $dest<p>";

  3. #3
    alessandrotria non è connesso Neofita
    Data registrazione
    22-02-2012
    Messaggi
    8

    Unhappy

    mi da il seguente errore: Parse error: syntax error, unexpected T_VARIABLE in /membri/2.php on line 10

    Codice PHP:
    $query="select * from iscritti, iscritti_tipo_news where iscritti.id_iscritto=iscritti_tipo_news.id_iscritto and id_tipo_news='".$tipo_news."'";
    $result = mysql_query ( $query );
    if ( !
    $result ) die ("impossibile visualizzare accedere alla tab utenti 0".mysql_error());
    while(
    $riga = mysql_fetch_array($result)){
    $to="BBC: ".$riga['mail1']."@".$rigaca['mail2'];
    }
    $dest = implode("," $to);
    echo
    "<p>$dest<p>";
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 15.57.37 Motivo: + tag [php]

  4. #4
    Guest

    Predefinito

    Scusami ho usato la virgola come separatore ed ho dimenticato di metterla per separare gli argomenti passati alla funzione.

    scrivi (nota la virgola in più)

    Codice PHP:
    $dest = implode(",", $to);
    echo
    "<p>BBC: $dest<p>";

  5. #5
    alessandrotria non è connesso Neofita
    Data registrazione
    22-02-2012
    Messaggi
    8

    Predefinito

    Non va in questa maniera

    Codice PHP:
    <?
    include("opendb.php");

    $query="select * from iscritti, iscritti_tipo_news where iscritti.id_iscritto=iscritti_tipo_news.id_iscritto and id_tipo_news=6";
    $result = mysql_query ( $query );
    if ( !
    $result ) die ("impossibile visualizzare accedere alla tab utenti 0".mysql_error());
    while(
    $riga = mysql_fetch_array($result)){
    $to=$riga['mail1']."@".$rigaca['mail2'];
    }
    $dest = implode("," , $to);
    echo
    "<p>BBC: $dest<p>";

    ?>
    mi stampa solo " BBC: " e nient'altro.
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 15.58.06 Motivo: + tag [php]

  6. #6
    Guest

    Predefinito

    Scusa, ma nel primo post scrivi

    Codice PHP:
    $to[]= $riga;
    adesso

    Codice PHP:
    $to=$riga['mail1']."@".$rigaca['mail2'];
    e tra le due c'è un bel po di differenza ...

  7. #7
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Dovresti assegnare $to[] = e non $to =, come facevi nel tuo primo codice all'inizio della pagina.

    Poi, se ancora non funziona, assicurati che non ci siano errori aggiungendo all'inizio dello script
    Codice PHP:
    error_reporting(E_ALL);
    e magari controlla il contenuto dell'array con
    Codice PHP:
    var_dump($to)

  8. #8
    alessandrotria non è connesso Neofita
    Data registrazione
    22-02-2012
    Messaggi
    8

    Predefinito

    scusami ho sbagliato a copiare...

    Codice PHP:
    <?
    include("opendb.php");

    $query="select * from iscritti, iscritti_tipo_news where iscritti.id_iscritto=iscritti_tipo_news.id_iscritto and id_tipo_news=6";
    $result = mysql_query ( $query );
    if ( !
    $result ) die ("impossibile visualizzare accedere alla tab utenti 0".mysql_error());
    while(
    $riga = mysql_fetch_array($result)){
    $to[]= $riga;
    }
    $dest = implode("," , $to);
    echo
    "<p>BBC: $dest<p>";
    ?>
    con questo codice mi da: " BBC: Array,Array,Array,Array "
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 16.17.55 Motivo: + tag [php]

  9. #9
    Guest

    Predefinito

    Codice PHP:
    $to[]= $riga;
    così prendo l'intera riga attuale restituita dalla query

    Codice PHP:
    $to[]= $riga['email'];
    o campo corretto per avere solo le caselle email.

  10. #10
    alessandrotria non è connesso Neofita
    Data registrazione
    22-02-2012
    Messaggi
    8

    Predefinito

    Missione compiuta :) ho dovuto togliere le parentesi quadre a $to però.
    Vi ringrazio.

    edit:

    Scusate ragazzi io ho un problema simile:

    Codice PHP:
    $dom="select * from newsletter";
    $ris = mysql_query ( $dom );
    while(
    $ri = mysql_fetch_array($ris)){
    $to[]=$ri['mail1']."@".$ri['mail2'];
    }
    $dest = $to;
    echo
    "$dest[mail1]@$dest[mail2]<p>";
    ho l'email "spezzata memorizzata nel database in mail1 e mail2", seguendo il vostro consiglio nella echo visualizzo solo la prima mail che ho nel database, mi chiedevo per stamparle tutte come posso fare?
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 16.35.24 Motivo: puoi aggiungere ai post con il tasto Edita --->

  11. #11
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Non hai un problema simile: sei la stessa persona

    Non mettere le variabili dentro la stringa, ma concatenale con il punto come nei post precedenti. E copiare la variabile da $to a $dest non è che serva a molto.
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 16.39.13

  12. #12
    Guest

    Predefinito

    $dom="select * from newsletter";
    $ris = mysql_query ( $dom );
    while($ri = mysql_fetch_array($ris)){
    $to[]=$ri['mail1']."@".$ri['mail2'];
    }
    $dest = $to;
    echo "$dest[]@$dest[]<p>";

    in questa maniera mi da errore

  13. #13
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Non mettere le variabili dentro la stringa, ma concatenale con il punto come nei post precedenti. E copiare la variabile da $to a $dest non è che serva a molto.
    Se qualcosa non è chiaro, basta che chiedi. Buttare li un altro pezzo di codice ignorando le risposte precedenti è solo utile per perdere tempo.

    Ed è il momento che impari a mettere il tag [ php ] ... [ /php ] attorno al codice da solo

  14. #14
    Guest

    Predefinito

    mi hai suggerito di togliere le variabili dentro le parentesi quedre ele ho levate:
    Codice PHP:
    $dom="select * from newsletter";
    $ris = mysql_query ( $dom );
    while(
    $ri = mysql_fetch_array($ris)){
    $to[]=$ri['mail1']."@".$ri['mail2'];
    }
    $dest = $to;
    echo
    "$dest[]@$dest[]<p>";
    nella echo ho lasciato solo questo echo "$dest[]@$dest[]<p>"; solo che mi da errore

    scusami per la forma è la prima volta che scrivo in questo forum
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 16.49.48 Motivo: [php] senza spazi ;)

  15. #15
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Uhm, no, ti ho suggerito di non mettere le variabili dentro alla stringa, mai parlato di parentesi quadre.
    Codice PHP:
    echo '<p>' . $dest['mail1'] . '@' . $dest['mail2'];
    (Per echo potresti usare anche delle virgole invece dei punti: più parametri invece di una stringa sola fatta di pezzi concatenati)

    Questo però non funzionerà ancora, perché $to (e quindi $dest) non contiene 'mail1' o 'mail2'. Per vederne il contenuto stampala per intero, con
    Codice PHP:
    var_dump($to);
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 16.53.37

  16. #16
    Guest

    Predefinito

    ok da questa funzione: "var_dump($to);" mi ha dato:
    Codice PHP:
    array(12) {
    [
    0]=> string(12) "fernando"
    ["mail1"]=> string(12) "fernando"
    [1]=> string(10) "hotmail.it"
    ["mail2"]=> string(10) "hotmail.it"
    [2]=> string(26) "giuseppe@hotmail.it"
    [3]=> string(23) "peppe@hotmail.it"
    [4]=> string(15) "iper@live.it"
    [5]=> string(23) "fernando@hotmail.it"
    [6]=> string(26) "giuseppe@hotmail.it"
    [7]=> string(23) "peppe@hotmail.it"
    [8]=> string(15) "iper@live.it"
    [9]=> string(23) "fernando@hotmail.it"
    }
    io vorrei semplicemente mettere queste 4 mail una dopo l'altra separata da una virgola in una variabile per esempio " $email".

    Per separarli con la virgola devo usare l'implode a quanto ho capito.
    Ultima modifica di dreadnaut : 31-01-2013 alle ore 17.50.29 Motivo: indent

  17. #17
    Guest

    Predefinito

    Risolto:

    Codice PHP:
    $dom="select * from newsletter";
    $ris = mysql_query ( $dom );
    while(
    $ri = mysql_fetch_array($ris)){
    $to[]=$ri['mail1']."@".$ri['mail2'];
    }
    $dest = $to;
    $dest = implode("," , $to);
    print
    "<p>email: $dest</p>";
    come risultato ho ottenuto finalmente" email: giuseppe@hotmail.it,peppe@hotmail.it...ndo@hotmail.it "

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •