Visualizzazione dei risultati da 1 a 7 su 7

Discussione: foreach e tabella

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    275

    foreach e tabella

    Salve a tutti,
    ho una tabella con diversi campi (nome, cognome, via...). Ho bisogno di disporre i risultati in una tabella in cui a ogni nome corrispondono altri dati (acquisti compiuti) provenienti da un'altra tabella.
    Ho usato il foreach, ma riesco a visualizzare solo l'ultimo nome inserito nella tabella.

    Questo è il codice:

    //estraggo i nomi
    $query = "SELECT firstname FROM orders GROUP BY firstname";
    $id_risult = mysql_query($query, $id_conness);
    while ($row = mysql_fetch_array($id_risult,MYSQL_ASSOC))
    {
    $listanomi=$row['firstname'];
    echo "$listanomi";

    $name_list=array($listanomi); //<---- l'errore credo sia qui, forse dovrei usare un explode?
    }


    //inizio la tabella con nomi e rispettivi acquisti
    $i=0;

    echo "<table width=\"50%\" border=\"1\">";

    foreach ($name_list as $nomi)
    { echo "<tr>
    <td width=\"27%\">Nome ",$i," ",$nomi,"</td>
    <td width=\"73%\">";
    $query = "SELECT * FROM orders, products WHERE orders.session_id = products.session_id AND firstname = '$nomi'";
    $id_risult = mysql_query($query, $id_conness);
    while ($row = mysql_fetch_array($id_risult,MYSQL_ASSOC))

    echo "Colore: $row[coloreScelto]</br>";
    $i++;
    }

    echo "</td>
    </tr>";

    echo "</table>";

    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    275
    nessuno?

  3. #3
    Originariamente inviato da mystica
    ho una tabella con diversi campi (nome, cognome, via...). Ho bisogno di disporre i risultati in una tabella in cui a ogni nome corrispondono altri dati (acquisti compiuti) provenienti da un'altra tabella.
    Ho usato il foreach, ma riesco a visualizzare solo l'ultimo nome inserito nella tabella.
    Fai un errore nella raccolta della query string. Rispondo alla domanda in quote, senza entrare nel merito del resto dello script. Il che significa che puo' andare o meno a prescindere dal mio suggerimento:
    codice:
    $query = "SELECT firstname FROM orders GROUP BY firstname";
    $id_risult = mysql_query($query, $id_conness);
    while ($row = mysql_fetch_array($id_risult))
    { 
    $name_list[] = $row['firstname'];
    }
    print_r($listanomi);
    Il print_r e' a solo scopo di debug. In pratica raccogli i dati del risultato in un array numerico. Come facevi tu venivano sovrascritti e ne vedevi uno solo, l'ultimo.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    275
    infatti!
    grazie mille!

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    275
    Ciao!
    oltre al nome (firstname), vorrei estrarre anche altri dati e metterli tutti nel $name_list[]
    Come posso fare?

  6. #6
    Originariamente inviato da mystica
    Ciao!
    oltre al nome (firstname), vorrei estrarre anche altri dati e metterli tutti nel $name_list[]
    Come posso fare?
    codice:
    $query = "SELECT * FROM orders GROUP BY firstname";
    $id_risult = mysql_query($query, $id_conness);
    
    while ($row = mysql_fetch_assoc($id_risult))
    { 
    $name_list[] = $row;
    }
    
    echo "<pre>";
    print_r($name_list);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    275
    Grazie mille!

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.