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

    Bordi tabella esterna e interna

    ciao a tutti.
    Ho realizzato una tabella che estrae dati dal database.
    E' costituita da una esterna che contiene le intestazioni che rimangono fisse.
    Al suo interno c'è un DIV con una altra tabella che contiene i dati estratti. Essa è provvista di barra di scorrimento grazie al DIV che la contiene.

    Ora vorrei che la dimensione delle colonne formanti le intestazioni nella tabella esterna, fossero uguali alle dimensioni della tabella interna che contiene i relativi dati.

    C'è un modo tramite css per agire sul width delle colonne della tabella esterna e quella interna, in modo da allineare i bordi?
    Grazie.

    i file sono
    visualizza.php
    codice:
    <link href="stile.css" rel="stylesheet" type="text/css"> 
    <?php 
    
    INCLUDE('config.php'); 
    require("install.php");
    
    
    if (isset($_GET['field'])) { 
    $campo = $_GET['field'] == "Descrizione" ? "Descrizione" : "Codice_Materiale"; 
    } else { 
    $campo = "Codice_Materiale"; 
    } 
    if (isset($_GET['sort'])) { 
    $verso = $_GET['sort'] == "desc" ? "DESC" : "ASC"; 
    } else { 
    $verso = "ASC"; 
    } 
    $sql="SELECT * from materiale order by {$campo} {$verso} "; 
    // seleziona tutti i record della tabella 
    
    $risultato_query=mysql_query($sql,$connessione); 
    // controlla il risultato della query attraverso la funzione mysql_query 
    
    $num_righe=mysql_num_rows($risultato_query); 
    // restituisce il numero di record ottenuto dalla selezione 
    
    $verso = ($verso == "ASC") ? "desc" : "asc"; 
    
    
    
    
    echo"<table  class=\"tabella1\">"; 
    
    
      echo"<tr> "; 
        echo"<td class=\"intestazione\" width=\"230\ ">CODICE MATERIALE</td>"; 
       echo" <td class=\"intestazione\"  width=\"560\"> DESCRIZIONE</td>"; 
    echo" </tr>"; 
    
    
    echo" <tr>"; 
    
      echo"  <td colspan=\"2\"><div id=\"Layer1\" style=\" height:7em;  overflow: auto;\">"; 
           echo" <table >"; 
    
    
    $class = ''; 
    
             while($riga=mysql_fetch_array($risultato_query)){ 
         
                 
                 $CodiceMateriale=$riga["Codice_Materiale"]; 
                 $Descrizione=$riga["Descrizione"]; 
    $class = $class == 'colore1' ? 'colore2' : 'colore1';  // in questo modo alterno i colori alle righe.
    echo" <tr class= \"$class\"> "; 
    
      echo" <td  width=\"230\"> $CodiceMateriale </td>"; 
        echo"<td    width=\"360\" > $Descrizione</td>"; 
      echo"</tr>"; 
      //$i++; 
    
    } 
      echo"</table>"; 
         
        echo"</div></td>"; 
      echo"</tr>"; 
      echo" <tr>"; 
    
      echo"  <td colspan=\"2\"><font size=\"1\" color=\"#0000FF\"> TABELLA RIASSUNTIVA CON CORPO SCORREVOLE E INTESTAZIONI CON ORDINAMENTO</TD>"; 
    echo"</table>"; 
    
    ?>
    stile.css
    codice:
    .colore1 {
    background-color:#c0c0c0;
    }
    .colore2 {
    background-color:#ffffff;
    }
    .intestazione {
    background-color:#f5f5f5;
    }
    
    .tabella1 {
    width:590px ; 
    margin:0 auto;
    padding:0;
    cellspacing:0;
    }

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Sicuramente hai sbagliato a postare.
    Se e` un problema PHP, hai sbagliato forum;
    se e` un problema HTML+CSS hai sbagliato il codice incluso (devi postare il codice come lo riceve il browser: il sorgente PHP non ci dice nulla)

    Comunque le formattazioni HTML (alcune le hai evidenziate in rosso) vanno in contrasto con il CSS, per cui browser diversi interpretano in modo diverso: devi eliminare tutte le formattazioni HTML, e spostarle nel CSS.

    E poi che senso ha fare una tabella mettendo insieme piu` tabelle? Sara` dura (forse impossibile) fare uno stile che vada bene per tutti i browser.

    Le tabelle in HTML hanno una serie di tag, che ti possono essere utili: ti consiglio di vedere il significato di tutti questi tag, e di far generare UNA (ed una sola) tabella che li utilizzi correttamente.
    <table> <tr> <td> <th>
    <thead> <tfoot> <tbody> <caption>
    <col> <colgroup>
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

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