Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    536

    Stampare 3 dati per riga

    Ciao

    Prelevando i dati dai record del db li stampo ad esempio uno per riga.
    Una cosa del genere:

    nome
    nome
    nome
    nome
    ecc ecc


    Ma se volessi, sempre a titolo di esempio, stampare 3 dati per riga, come dovrei impostare lo script?
    Come dovrei modificare il codice sotto che comprende il ciclo while che richiama i dati dal db
    Codice PHP:
    $query "SELECT * FROM clienti ORDER BY data";
           
    $risultato mysql_query($query); 
    while (
    $record mysql_fetch_array($risultato)) {
    $nome $record["nome"];
    echo 
    $nome."
    "
    ;

    per ottenere una cosa del genere?

    gianni, antonio, carlo;
    luigi, pino, dino

    possibilmente compresa la punteggiatura.
    Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    Vediamo...

    codice:
    $query = "SELECT * FROM clienti ORDER BY data";
    $risultato = mysql_query($query);
    $i = 0 
    while ($record = mysql_fetch_array($risultato)) {
        $nome = $record["nome"];
    
        if (($i % 3) != 0 && ($i % 3) == 1) echo $nome;
        else if(($i % 3) != 0) echo ", ".$nome;
        else echo ";
    \n".$nome;
    
        $i++
    }
    Ok?


  3. #3

    Re: Stampare 3 dati per riga

    Originariamente inviato da lucas726

    Codice PHP:
    $query "SELECT * FROM clienti ORDER BY data";
           
    $risultato mysql_query($query); 
    while (
    $record mysql_fetch_array($risultato)) {
    $nome $record["nome"];
    echo 
    $nome."
    "
    ;

    Ecco un soluzione stupida
    Codice PHP:
    $query "SELECT * FROM clienti ORDER BY data";
    $risultato mysql_query($query);
    $max 3// Quanti nomi per riga?
    $nomi = array();
    while (
    $record mysql_fetch_array($risultato)) {
        
    $nomi[] = $record["nome"];
        
    // SE la dimensione di $nomi >= al massimo impostato
        
    if (sizeof($nomi) >= $max) {
            
    // Eseguo la echo
            
    echo implode(","$nomi)."
    "
    ;
            
    // Resetto l'array
            
    $nomi = array();
        }
    }
    // Se alla fine del ciclo ho ancora dei dati li stampo. Li ho ad esempio se i record sono > 3 e < 6: 
    // il while ne stampa 3, poi resetta l'array e ne trova ancora uno, ma siccome al 4 e ultimo record estratto la dimensione di $nomi,
    // ovviamente, non è >= $max, mi perderei quei nomi!
    if (sizeof($nomi)) {
        echo 
    implode(","$nomi);


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.