Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993

    incolonnare risultati query

    ciao a tutti, ho questo script che mi stampa a video i risultati di una query divisi in categoria.
    ora vorrei che dopo la categoria mi incolonnasse i risultati appartenenti a quella categoria in colonne da tre, quattro risultati.
    ho gia letto questa pillola ma non riesco ad adattarla.
    posto lo script:
    Codice PHP:
    <?php
    $sql 
    "SELECT * from tbl_articolo order by categoria ASC";
    $result mysql_query($nome_db$sql$db) or die(mysql_error());
    //$num_record = mysql_num_rows($result);
    $table "<table border=\"1\" width=100% cellpadding=1 cellspacing=1 bordercolor=#355259 style=border-collapse:collapse>\n";
    $i=1;
    $id_art = array();
    $titolo = array();
    $categoria_prev '';
    while (
    $row=mysql_fetch_array($result))
        {
            
    $categoria=$row['categoria'];
            
    $id_art[$i] = $row['id_art'];
            
    $titolo[$i] = $row['titolo'];
            
    $table .= ($categoria!=$categoria_prev && $i!=0)? "<tr><td colspan=3 bgcolor=#c0c0c0><font face=verdana size=2 color =#000000>[b]".$categoria."[/b]</font></td></tr><tr>" "<tr>\n";
            
    $table .= "<td>";
            
    $table .= "".$row["id_art"].""// qui vorrei incolonnare
            
    $table .= "</td>";
            
    $table .= "</tr>\n";
            
    $i++;
            
    $categoria_prev $categoria;
        }
        
    $table .= "</table>\n";
        print 
    $table;
    ?>
    avevo pensato di aprire un'altra tabella HTML dove vorrei incolonnare i risultati, ma non so come gestirla.
    Ho provato cosi:
    Codice PHP:
    // apro tabella html
    $i++;
    if(
    $i==4)
    {
    print(
    "</tr>");
    print(
    "<tr>");
    $i=1;
    }
    // etc...... 
    ma mi da errore.
    Qualche consiglio? o demo/script da studiare
    Grazie mille e buona giornata
    ¿Hasta la pasta?

  2. #2
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    up
    ¿Hasta la pasta?

  3. #3
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    ri up
    ¿Hasta la pasta?

  4. #4
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Sono riuscito ad incolonnare come volevo, ora pero' sorge un altro problema,
    Visualizzo per ogni categoria gli articoli pari a quanti articoli ho per quella categoria.
    mi spiego meglio:
    Categoria A : ha 4 articoli
    Categoria B : ha 2 articoli
    etc.......
    quindi visualizzo:
    Categoria A
    art_1-art_2-art_3-art_4
    art_1-art_2-art_3-art_4
    art_1-art_2-art_3-art_4
    art_1-art_2-art_3-art_4
    Quattro volte la stessa tabella!!!!
    Categoria B
    art_1-art_2
    art_1-art_2
    Due volte la stessa tabella!!!!
    posto il codice:
    Codice PHP:
    <?php
    $user 
    "root";
    $psw "polinet";
    $host "localhost";
    $nome_db"XXXX";
    $db mysql_connect ($host$user$psw);
    $sql "SELECT * from tbl_articolo order by categoria ASC";
    $result mysql_db_query($nome_db$sql$db) or die(mysql_error());
    $table "<table border=\"1\" width=100% cellpadding=1 cellspacing=1 bordercolor=#355259 style=border-collapse:collapse>\n";
    $i=1;
    $id_art = array();
    $titolo = array();
    $categoria_prev '';
    while (
    $row=mysql_fetch_array($result))
        {
            
    $categoria=$row['categoria'];
            
    $id_art[$i] = $row['id_art'];
            
    $titolo[$i] = $row['titolo'];
            
    $table .= ($categoria!=$categoria_prev && $i!=0)? "<tr><td colspan=3 bgcolor=#c0c0c0><font face=verdana size=2 color =#000000>[b]".$categoria."[/b]</font></td></tr><tr>" "<tr>\n";
            
    $table .= "<td>";
            
    $query "SELECT * from tbl_articolo where categoria = '".$row["categoria"]."'";
            
    $result2 mysql_db_query($nome_db$query$db) or die(mysql_error());
            
    $num_record mysql_num_rows($result2);
            
    $colonne 3;
            
    $tot_righe $num_record/$colonne;
            
    $i_x 0
            
    $x_x 0
            
    $k_x 0;
            
    $cell_width floor(100/$colonne);
            
    $table .='<table width="100%" border="0" cellspacing="1" cellpadding="3"><tr>';
            while(
    $array mysql_fetch_array($result2))
                {
                
    $i_x++;
                
    $k_x++;
                
    $x_x++;
                
    $table .='<td width="$cell_width%">';
                
    $table .= $array['titolo'];
                
    $table .= '</td>';
                if(
    $i_x == $colonne)
                    { 
                      
    $table .='</tr>';
                       if (
    $i_x == $colonne && (($x_x/$colonne) != $tot_righe))
                          { 
                            
    $table .='<tr>';
                          }
                          
    $i_x 0
                    }
                }
                if (
    $colonne <= $x_x)
                    {
                    if ((
    $k_x%$colonne) != 0)
                        { 
                           
    $indice $k_x;
                           while ((
    $indice%$colonne) != )
                               { 
                                  
    $table .='<td>[img]immagine_vuota.gif[/img]</td>';
                                  
    $indice++; 
                               }
                               if((
    $indice%$colonne) == )
                                   { 
                                       
    $table .='</tr>'
                                   } 
                               }
                               } else{ 
                                        
    $table .= '</tr>'
                                     }
                                     
    $table .= '</table>';

            
    $table .= "</td>";
            
    $table .= "</tr>\n";
            
    $i++;
            
    $categoria_prev $categoria;
        }
        
    $table .= "</table>\n";
        print 
    $table;
    ?>
    non capisco dove sbaglio
    Qualche suggerimento?
    ¿Hasta la pasta?

  5. #5
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    anche se ho adottato un'altra soluzione, seguo senza capire l'errore.
    RiUP
    ¿Hasta la pasta?

  6. #6
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    effettivamente la struttura della mia tabella MySql non e' corretta.
    Ora, con le categorie separate da questa tabella il risultato cambia. (script incluso)
    Comunque sempre disponibile per consigli.
    Buona serata a tutti.
    POLINET
    ¿Hasta la pasta?

  7. #7
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    Ri UP

    come nel mio ultimo post, modificando la struttura del DB il risultato cambia.
    Da buon Novato, mi chiedo:
    meglio fare una JOIN tra le due tabella (categoria-articolo) o 2 query separate.
    N.B non tenete in considerazione lo script sopra citato.
    grazie!
    ¿Hasta la pasta?

  8. #8
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    errore da Novato!!!!
    cercavo nella prima query in tbl_articolo!!! errato
    Codice PHP:
    $sql "SELECT * from tbl_cat order by categoria ASC"
    funziona perfettamente!

    Buona PASQUA!!!!!!
    ¿Hasta la pasta?

  9. #9
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    dimenticavo.

    BUONA PASQUA
    ¿Hasta la pasta?

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.