Problemone con allineamento in tabella

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
Ciao a tutti, sono da giorni alle prese con un problema che non riesco a risolvere, provo a spiegare nella speranza che a qualcuno abbia un aiuto da darmi...

Devo allineare in una tabella composta in questo modo :
HTML:
<table class="table1">
                <thead>
                    <tr>
                        <th></th>
                        <th scope="col" abbr="Musica">Musica</th>
                        <th scope="col" abbr="Letteratura">Letteratura</th>
                        <th scope="col" abbr="Arte">Arte</th>
                        <th scope="col" abbr="Cucina">Cucina</th>
                    </tr>
                </thead>
                
                <tbody>
                    <tr>
                        <th scope="row">Italiano</th>
                     </tr>
                    <tr>
                        <th scope="row">Inglese</th>
                     </tr>
                    <tr>
                        <th scope="row">Francese</th>
                    </tr>
                     <tr>
                </tbody>
            </table>
I dati li ho scritti per far capire cosa avranno le tabelle ma non posso sapere l'ordine
vengono letti da database e creano le colonne.
Devo riuscire ad "infilare" i dati letti da mysql nella corrispondente cella
Se il libro tratta arte ed è Italiano... come diavolo posso sapere dove lo devo mettere?

Avete qualche dritta da darmi?
Grazie!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao
La tabella come è fatta piu o meno?
hai un campo che identifica la lingua?
 

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
Ciao
La tabella come è fatta piu o meno?
hai un campo che identifica la lingua?

spero di aver capito cosa intendi.
I campi da mysql sono due : categ che identifica Arte,Cucina,Letteratura etc.
ed il campo lingua dove trovi Italiano,inglese,francese
intendi questi?
 

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
Scusami, in visual basic, esisteva un comando che ti permetteva esattamente di posizionare un dato in una data cella
Colpos(), Rowpos(), una corrispondenza esiste?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
ed il campo lingua dove trovi Italiano,inglese,francese
si questi

ma che linguaggio stai usando adesso?

ps: se PHP piu tardi provo a buttarti giu qualcsoa
 
Ultima modifica:

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
si questi

ma che linguaggio stai usando adesso?

ps: se PHP piu tardi provo a buttarti giu qualcsoa

Scusa, sto usando PHP.
te ne sarei molto grato, riesco ad ottenere delle tabelle ma disordinate, sotto la colonna arte mi ritrovo totalizzato
anche musica o altro, proprio non riesco a mettere in ordine il codice.
 

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
Aspetta, se vuoi aiutarmi evita di riscrivere tutto, io ho già scritto questo.
HTML:
<div id="content">        
             
<h2><center> Totali libri per categoria </center></h2>
            
            <table width="1022" class="table1">
                 <thead>
                    <tr>
                        <th></th>
                        <?php creacolonne();?>
                    </tr>
                </thead>                  
            
                <!---------------------------------------- Cerco Regioni --------------------------------->
                <tbody>
                    <tr>
                       <?php Lingue();?>
                  <tr>
                </tbody>
            </table> 
        </div> 		
</div> 
</body>
</html>
PHP:
<?PHP
function creacolonne()
{
	include "funzioni_mysql.php";

$datagestori = new MysqlClass();
$datagestori->connetti();

$categorie='';
 
$select="SELECT DISTINCT(tipo_categ) as categoria FROM libri order by lingua,tipo_categ"; 
 
$query = $datagestori->query($select);


	 while ($row = mysql_fetch_array($query))
	 {
 			$cat =$row['tipo_categ'];
			
             echo '<th scope="col" ><div id="' .$cat. '">' .$cat .'</div></th>';

	 }
 

$datagestori ->disconnetti();

return;


}
//--------------------------------------------------------------------------------------------------
function lingue()
{
$datagestori = new MysqlClass();
$datagestori->connetti();
$lingua ='';
 
$commento_sql = $datagestori->query("SELECT * FROM libri order by lingua asc ");

if(mysql_num_rows($commento_sql) > 0) 
  {  
  		while($commento_obj = $datagestori->estrai($commento_sql)) { 

 			      $lingua =  $commento_obj->lingua;
 			
 				  echo '<th scope="row" id="'.$lingua.'" >'.$lingua.'</th>';
				  
				  categoria($lingua);
                  
 
		}
  }

 
$datagestori ->Disconnetti();

return;
}

// --------------------------------------------------------------------------------------------------------------------

function categoria($lingua)
{

$datagestori = new MysqlClass();
$datagestori->connetti();
 
$select="SELECT tipo_categ, COUNT(*) as totali  FROM libri where lingua =$lingua GROUP BY tipo_categ"; 

$query = $datagestori->query($select);


	 while ($row = mysql_fetch_array($query))
	 {
 		 
 		 echo '<td><div id="' .$row['tipo_categ'].'">'.$row['totali']. '</div></td>' ;

	 }
 

echo ' </tr>';
echo ' <tr>';

$datagestori ->disconnetti();

return;
}

?>
 
Ultima modifica di un moderatore:

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
Rieccomi, sto cercando di darti più informazioni possibili, libri.jpg
ho allegato un print_screen della tabella per far capire dove sta l'errore
come puoi vedere nella tabella è indicato 1 Libro di bricolage in Inglese ma nel database non esiste.
In Inglese ho solo libri di Arte e Letteratura, in arte ho 1 libro ma in letteratura non ho nulla.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
se ho capito...
hai una tabella piu o meno cosi

letteratura - inglese
cucina - italiano
cucina - inglese
musica - inglese
letteratura - italiano
letteratura - italiano
cucina - italiano
i valori possono ripetersi
e dovresti fare un count() ragruppando per tipo e lingua

credo che te la puoi cavare con una sola funzione e una sola query
pensavo di creare un array su misura e di ciclarlo per creare la tabella

ma probabilmente sono troppo fuso per ragionare decentemente
ti posto l'inizio della mia idea magari puo darti qualche spunto
ho usato la libreria mysql per connettermi
PHP:
<?php
$conn = mysql_connect("localhost", "root", "");
$db = mysql_select_db("database");
// in questo array metterai le categorie che hai sul db
$array_categorie = array("musica", "cucina", "letteratura");
// costruiamo la query
$query = "SELECT count(*) as conta,tipo_categ,lingua FROM libri GROUP BY tipo_categ, lingua";
// eseguiamola
$res = mysql_query($query);
// costruiamo l'array 
$array = array();
while ($rows = mysql_fetch_assoc($res)) {
    if (in_array($rows['tipo_categ'], $array_categorie)) {
        $array[$rows['tipo_categ']][$rows['lingua']] = $rows['conta'];
    }
}
// vediamo cosa ne è uscito
var_dump($array);
sicuramente domani mattina a mente fresca ragiono meglio
 

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
Ciao, scusa ma ieri notte sono rientrato troppo tardi, pizzata con ex compagni di scuola!!!
Ora provo, ma ho visto che hai messo in array le categorie....mmm, credo si possa fare
anche se non conosco tutte quelle inserite, diciamo che le potrei codificare e unificarle.
Ho visto nel db originale che alcuni testi sono Lettere, Letteratura, Lettera
ma questo è un problema risolvibile...
Ora provo la tua soluzione. Poi ti dico
Grazie.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
anche se non conosco tutte quelle inserite

al massimo puoi fare una query sul db per costruirti dinamicamente l'array delle categorie
 

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
$query = "SELECT count(*) as conta,tipo_categ,lingua FROM libri GROUP BY lingua, tipo_categ ";

In realta, andrebbe selezionata al contrario, l'esempio che mi hai postato mi seleziona :

Arte : 1 italiano, 1 Inglese.
Sarebbe il contrario
Italiano 1 arte 1 Cucina 1 Bricolage
Inglese 1 arte 0 cucina 0 Bricolage
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
prova ad invertire il group by e l'ordine dei campi

Codice:
SELECT lingua,count(*) as conta,tipo_categ FROM libri GROUP BY tipo_categ, lingua

EDIT e anche il cliclo mi sa
 

marcopa

Nuovo Utente
13 Set 2011
11
0
0
sassari
Grazie Ragazzi, ho risolto in questo modo, anche se non molto pulito, ma funge.
Considerando che le categorie sono in tutto 9, può andare bene....
Peccato, con vb lo avevo fatto in 10 minuti, ma per il web è macchinoso!!

PHP:
$select="SELECT tipo_campo, COUNT(*) as totali  FROM campi where id_reg =$id_reg GROUP BY tipo_campo"; 
$query = $datagestori->query($select);


	 while ($row = mysql_fetch_array($query))
	 {
 		 $cat =$row['tipo_campo'];

             if ($cat=='Arte')
               {

                 echo '<td>>'.$row['totali']. '</td>' ;
 		 echo '<td></td>' ;
 		 echo '<td></td>' ;
 		 echo '<td></td>' ;
              }
             if ($cat=='Bricolage')
               {
 		 echo '<td></td>' ;
                 echo '<td>>'.$row['totali']. '</td>' ;
 		 echo '<td></td>' ;
 		 echo '<td></td>' ;
              }
             if ($cat=='Cucina')
               {

 		 echo '<td></td>' ;
 		 echo '<td></td>' ;
                 echo '<td>>'.$row['totali']. '</td>' ;
 		 echo '<td></td>' ;
              }

	 }
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Problemone con Tag <object> in <table> HTML e CSS 0
figo1592 Problemone con Mp3 HTML e CSS 1
S Stamp-Catturare immagini con Flash...Problemone!! Flash 3
J Aiuto problemone firefox. HTML e CSS 4
M ho un problemone col proxy!! HELP!! ç_ç Reti LAN e Wireless 0
M Problemone foreach PHP 0
S [vb.net 2005] Creare un modulo PROBLEMONE Programmazione 0
S Problemone Enorme Help!!! Classic ASP 6
G formattazione : problemone Hardware 5
A Quale NVR con ingressi bnc ? IP Cam e Videosorveglianza 1
S problema con recupero dati tabella mysql PHP 2
Z Problema con il mio tp-l i nk Reti LAN e Wireless 0
T Film interattivo con linguaggi web Programmazione 7
A pulsante di update campo mysql con javascript Javascript 2
R Tutto su utf-8 ma ancora problemi con i caratteri speciali in mysql MySQL 1
Barierta Testo a comparsa con passaggio del mouse Javascript 13
M Estrarre valore con SELECT COUNT PHP 0
G VBA OpenForm con WhereCondition + LIKE su campi differenti MS Access 4
sara3 Offresi articolista con esperienza Offerte e Richieste di Lavoro e/o Collaborazione 0
L Problema RAM con Tomcat 8 Apache 0
S connesso, internet non disponibile ( con extebder tp-link850) Reti LAN e Wireless 0
L Menù con switch case C/C++ 1
Cosina Upload multiplo con invio allegati per email PHP 0
Cosina Upload multiplo con archiviazione in cartella PHP 16
B ciclare file xml con PHP PHP 1
napuleone problema con sort e asort PHP 4
F Group By con Alias condizionale MySQL 1
R [C#] Scrivere un post in grassetto con Selenium su FB Mobile .NET Framework 0
T cms con visualizzazione mind map Content Management System (CMS) 0
D Landing page con Wp Content Management System (CMS) 0
Z problemi con foreach insert into PHP 10
napuleone Con le date il codice da di matto o forse non è così Javascript 6
napuleone Con le date mi da di matto o forse è proprio così jQuery 1
R Aiuto con le query MS Access 2
Z Problema con INT MySQL PHP 1
B javascript per problemi con pdf e Safari Javascript 0
D menu con submenu orizzontale HTML e CSS 0
Z Problema database MySQL con XAMPP PHP 0
D Estrarre database con link esterno Database 10
M Un saluto a tutti con l'auguro di un buon di programmazione Presentati al Forum 0
M Problema con controllo form in real time jQuery 6
gandalf1959 document.getElementsByName con wild character Javascript 6
S impostare un testo e una img nella stessa riga con jsPDF Javascript 0
R Navigare sito con cURL, mi restituisce errore PHP 0
S Rallentamenti con monitor 4k Photoshop 0
Z Video protetto con PHP PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 0
M Problemi con creazione maschere Presentati al Forum 1
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
R Invio mail con allegati multipli PHP 0

Discussioni simili