Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    formattazione tabella con php

    Vorrei ottenere un effetto del genere
    _______________________________
    |vuotovuotov|nomenomenomenomeno|
    |---nome-----|____________________|
    |vuotovuotov|nomenomenomenomeno|
    |_________|____________________|

    In pratica una tabella con due colonne(nella prima solo la scritta nome) e nella seconda tutti i possibili nomi. Io vorrei raggruppare la prima colonna utilizzando colspan,il problema è il suguente: non so a priori quanti nomi devo inserire in quanto questi vengono presi da una query al database, come posso fare per impostare la tabella in questo modo??

    grazie

  2. #2
    Non ho ben capito ma forse facendo una query COUNT prima (oppure inserendo un count nella query stessa) puoi sapere quante righe avrai in output ed inserire il valore nel colspan. Va bene fatto così?
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3

    Re: formattazione tabella con php

    Originariamente inviato da pippuzzo80
    Vorrei ottenere un effetto del genere
    _______________________________
    |vuotovuotov|nomenomenomenomeno|
    |---nome-----|____________________|
    |vuotovuotov|nomenomenomenomeno|
    |_________|____________________|

    In pratica una tabella con due colonne(nella prima solo la scritta nome) e nella seconda tutti i possibili nomi. Io vorrei raggruppare la prima colonna utilizzando colspan,il problema è il suguente: non so a priori quanti nomi devo inserire in quanto questi vengono presi da una query al database, come posso fare per impostare la tabella in questo modo??

    grazie
    Bè ti direi di includere nella query un conteggio...
    Qualcosa del tipo:

    SELECT nome, count(nome2)
    FROM Tabella
    GROUP BY nome

    dalla select ti crei un array associativo ar[i]['nome'], ar[i]['nome2'].

    Poi fai la query per tutti i nomi2

  4. #4
    con il count ottengo il numero da associare a colspan però l'immissione dei nomi avviene mediante un for con sintassi del tipo

    for --------
    {
    <td colspan=$num>Nome </td>
    <td> Nome[$i](ottenuto dal risultato della query)</td>
    <td> Cognome[$i](come sopra)</td>
    <td> Via[$i](come sopra) </td>

    }

    ma in questo modo mi sballa la tabella perche il colspan lo utilizza in ogni ciclo, ci vorrebbe qualcosa che mi permettesse di dichiararlo prima...

  5. #5
    oppure qualcosa che ti faccia capire A QUALE ITERAZIONE usarlo!

    Un suggerimento? un if ed una varibile intera che si incrementa!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  6. #6
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,361
    Originariamente inviato da pippuzzo80
    con il count ottengo il numero da associare a colspan però l'immissione dei nomi avviene mediante un for con sintassi del tipo

    for --------
    {
    <td colspan=$num>Nome </td>
    <td> Nome[$i](ottenuto dal risultato della query)</td>
    <td> Cognome[$i](come sopra)</td>
    <td> Via[$i](come sopra) </td>

    }

    ma in questo modo mi sballa la tabella perche il colspan lo utilizza in ogni ciclo, ci vorrebbe qualcosa che mi permettesse di dichiararlo prima...
    Veramente non capisco quello che vuoi fare. Già dovresti usare rowspan e non colspan per ottenere il risultato che vuoi.

    Dimmi se l'esempio qui sotto non è assomiglia a quello che vuoi fare ?

    codice:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    
    <html>
    <head>
    <title>Untitled</title>
    </head>
    <body>
    <? 
    $testo = <<<EOD
    In pratica una tabella con due 
    colonne(nella prima solo la scritta nome) 
    e nella seconda tutti i possibili nomi. 
    Io vorrei raggruppare la prima colonna 
    utilizzando colspan,il problema è 
    il suguente: non so a priori quanti 
    nomi devo inserire in quanto questi 
    vengono presi da una query al database,
     come posso fare per impostare la tabella in questo modo
    EOD;
    //------------ Array dei nomi - simula il risultato di una query sql
    $nomi         = explode(' ',$testo);
    //------------ Con sql bisognerebbe usare mysql_num_rows
    $numNomiPerTD = (int) (count($nomi ) / 2);
    
    //------------ Altra prova
    //$td1          = $nomi;
    //$td2          = $nomi;
    //$td1          = array_splice ($td1, 0, $numNomiPerTD);
    //$td2          = array_splice ($td2,$numNomiPerTD);
    
    //----------- Simula la lettura dei dati
    $conta = 0;
    while (list(,$nome) = each($nomi)) {
     if ($conta < $numNomiPerTD) {
      $td1[] = $nome;
     } else {
      $td2[] = $nome;
     }
     $conta++;
    } // 
    
    $sTD1         = implode(' ',$td1);
    $sTD2         = implode(' ',$td2);
    ?>
    <table summary="" border="1">
    <tr>
     <td rowspan="2" valign="middle">Nomi</td>
     <td><? print $sTD1 ?></td>
    </tr>
    <tr>
     <td><? print $sTD2 ?></td>
    </tr>
    </table>
    </body>
    </html>
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  7. #7
    sinceramente non ci ho capito niente, quello che voglio fare è semplice, utilizzare rowspan per concatenare una riga della quale però non sò le dimensioni, ma anche se le sapessi come si fa a farle dinamiche?

    mi spiego: il mio script presenta diversi scelte multiple(ho parlato di nomi per semplifichare, ma in realtà ha diversi campi), qualche volte le scelte sono su 3 possibili elementi, qualche volta su quattro, qualche volta su 5, io vorrei che mi raggruppasse una riga dinamicamente.
    Questo è un'estratto del mio script:
    while ($use=mysql_fetch_array($result3))
    {
    ?>
    <tr>
    <td align=left><? echo $use[Nome] ?></td>
    <td align=center><? echo $use[NumeroCrediti] ?></td>
    <td align=center><? echo $use[Ore] ?></td>
    <td align=center> <input type=radio name='t<? echo $l ?>' value="<? echo $use[Nome] ?>"></td>
    <tr>
    <?
    }
    ora io vorrei inserire una riga prima di <td align=left><? echo $use[Nome] ?></td> che mi raggruppasse tutta la prima colonna in base al numero di elementi di result3.
    Non sò se è chiaro.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.