Sajnos a te lekérdezéseid nem adják ki az olyan formátumú és tartalmú táblázatokat, amiket az én kereszttáblásaim, de működnek, kétségtelen, az algoritmus fel is dolgozza őket, megfelelően.
Az algoritmus lényegi része:
$db= new PDO...
//--function kezdete --
function kiir($a,$b,$db) {
$sql=$a.$b;
$result = $db->query($sql);
if(! $result ) {die('HIBA: ' . mysql_error());}
$fejlec=true; //a lekérdezés első sora a fejléc a while-ciklus először ezt írja ki.
while ($row = $result->fetch()){
if ($fejlec==true){
$mezok=(array_keys($row)); //a fejléc elemeinek beolvasása
$hossz=(count($row)/2)-1; //az oszlopok számának meghatározása: név+index ezért /2. A -1 //egy az empíria végett kell.
echo $hossz;
for ($m=0; $m<=(count($row)-2); $m++){ //a ciklus kiírja a fejlécet, a kettős $m++ átugorja az //indexeket, s csak a nevek kerülnek kiírásra. A -2 //megint empíria.
echo "<td bgcolor='#ffff00'><font size=5>".$mezok[$m]."</td>";
$m++;}
$fejlec=false; }
echo "<tr>";
for ($elem=0; $elem<=$hossz; $elem++){ //A ciklus a táblázat többi sorát jeleníti meg.
if ($elem==0) {$sarga='#ffff00';} else {$sarga='#C0C09a';}
echo "<td bgcolor=$sarga><font size=5>".$row[$elem]."</td>";}
echo"</tr>"; }
echo "</table><br><br>";}
//-- function vége --
echo"<p align='center'><font size=10>Létszámok</font><p>";
echo"<table border=1 cellpadding='10' align='center'>";
$a="TRANSFORM Count(vezeteknev) AS CountOfvezeteknev SELECT csop, Count(vezeteknev) AS összesen FROM koleszosok ";
$b="WHERE jogviszony='aktív' GROUP BY csop PIVOT lakikmegye";
kiir($a,$b,$db);
---------
Nem értem, miért áll elő az a jelenség, amit első beírásomban jeleztem. Azt megfigyeltem, hogy a baj akkor lép fel, mikor a fejlécbe számok íródnak, pl. itt a csoportok (csop) nevei: 1-5. A csop szöveges mezőnek van definiálva a táblában, tehát sztringek elvileg, mint a megyék nevei. De, lehet a php mégis megzavarják? Ragaszkodnék e formulához, mert mindenféle lekérdezést szép táblázatosan megjelenít, rugalmasan, csak a három kezdőparamétert kéri hozzá.