innanzi tutto alcune piccole raccomandazioni: 1) non usare come charset utf8mb4_unicode_ci che può creare ambiguità ma usa il più semplice utf8_unicode_ci; 2) le tabelle non sono molto ben strutturate, c'è perdita di spazio, io ti consiglio di farle così:
per quanto riguarda la tua richiesta, per sapere ad esempio quanti insegnanti maschi ci sono per anno e settimana basta quanto segue (se id_ins è un codice insegnante):codice:-- Struttura della tabella `lezioni` -- CREATE TABLE IF NOT EXISTS `lezioni` ( `id` int(10) NOT NULL AUTO_INCREMENT, `week` TINYINT(2) UNSIGNED NOT NULL, `anno` SMALLINT(4) UNSIGNED NOT NULL, `lez`SMALLINT(3) UNSIGNED NOT NULL, `id_ins` int(10) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=19 ; -- -- Dump dei dati per la tabella `lezioni` -- -- -------------------------------------------------------- -- -- Struttura della tabella `maestri` -- CREATE TABLE IF NOT EXISTS `maestri` ( `id` int(10) NOT NULL AUTO_INCREMENT, `citta` varchar(30) COLLATE utf8mb4_unicode_ci NOT NULL, `nome` varchar(15) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `cognome` varchar(20) COLLATE utf8mb4_unicode_ci DEFAULT NULL, `sesso` TINYINT(1) UNSIGNED NOT NULL VALUE=1, PRIMARY KEY (`id`), UNIQUE KEY `id` (`id`), KEY `id_scuola` (`citta`), KEY `sesso` (`sesso`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=100 ;
Codice PHP://preleva dalla tabella maestri i singoli record uno per uno
echo '<table><tr>'<td colspan="3">[img]scuola.jpg[/img]</td></tr>';
echo '<tr><td>[b]Nome[/b]</td>[b]Scuola[/b]</td>[b]N° Lez.[/b]</td></tr>';
foreach ($rows as $row) {
$query = "SELECT SUM(lezioni.lez) AS totLez tot FROM lezioni WHERE id_ins = " . $row['id'] . " AND sesso = 1";
//estrae dalla tabella lezioni il numero lezioni in un anno e l'anno di ogni insegnante nella riga $row1
echo '<tr><td>' . trim($row['cognome'] . ' ' . $row['nome'] . '</td><td>Scuola Giuseppe Garibaldi</td><td>' . $row1['totLez'] . '</td></tr>';
//ecc ecc
}

Rispondi quotando