Miałe kiedyś podobny problem i już Ci mówie jak go rozwiązać, a raczej napisze Ci fragment mojego kodu.. sądze, że zakumasz o co w nim chodzi

na początek.. mamy 2 tablice:
$aktualne[] oraz $zalecane[]
Tak je tworze:
<?php
$zap = "SELECT * FROM `nazwaTABELI1` WHERE `KategorieId`='".$prod['KategoriaId']."' AND `Grupa`!='' ORDER BY `Grupa`,`NowyParametr` LIMIT 100";
while($grupa=mysql_fetch_array($wyn)) $zalecane[$grupa['NowyParametr']] = $grupa['Grupa']; $quest = "SELECT * FROM `nazwaTABELI2` WHERE `CID`='".$prod['CID']."' ORDER BY `Wartosc_MAX`,`Nazwa` LIMIT 100";
while($param=mysql_fetch_array($answer)) $aktualne[$param['Nazwa']] = $param['Wartosc_TXT']; ?>
Potem je porównuje i w przypadku jeśli nie ma jednej wartości to wyświetlam brak danych.. u Ciebie w tym miejscu będzie włożenie tego do bazy. O to całe porównanie:
foreach($zalecane as $nazwa=>$kategoria) {
$pisz = "";
if ($wypisana!=$kategoria) { ?>
<tr><td colspan="2"><p align=left class="napiscena_duza">
<?php echo substr($kategoria,2
); ?></p></td></tr>
<?php $wypisana = $kategoria;
}
if($i++%2) $kl="parzyste"; else $kl="niep";
foreach($aktualne as $aktNaz=>$aktTXT) {
if ($nazwa==$aktNaz) $pisz = $aktTXT;
}
}
else $pisz = '<span style="color:#ccc; font-size:10px;">BRAK DANYCH</span>'; ?>
<?php
?>
<tr class="
<?php echo $kl; ?>" valign="top"><td>
<?php echo $nazwa; ?></td><td>
<?php echo $pisz; ?></td></tr>
<?php }
Wrzuciłem prost z pliku, więc są tam jakieś style, ale sądze, że je zrozumiesz.. w każdym razie najważniejsza jest funkcja array_key_exists.
Jedynie zastrzeżenie jest takie, że nazwy nie mogą się powtarzać. Bo wtedy się nadpiszą.. U mnie to jest tak, że w bazie w jednej tabeli mam domyslne parametry dla jakiejś kategorii (parametry, któe muszą wystąpić), a w innej tabeli mam wartości przypisane do konkretnego produktu.. w chwili przeszukiwania tablicy jesli nie znajdzie takich wartości pisze brak danych.. (chyba trochę niamieszałem z tym opisem, ale mam nadzieję, że Ci pomogłem)
A jak to działa w praktyce możesz zobaczyć na
www.promediapc.pl w szczegółach jakiegoś produkt.