Witam.
Chciałbym Was zapytać jak wstawić w ten kod dodatkowego if-a z zapytaniem z bazy

  1. while ($row = mysql_fetch_assoc($wynik)) {
  2. echo '<tr class="ad"> ';
  3. foreach ($row as $key => $value) {
  4.  
  5. if ($value != null){
  6.  
  7. if ($value<=1){
  8. echo '<td width=25px; style="background-color: green; border-color: blue;" border="1"><p style="display:block;">'.$key.'x'.$first.'</p></td>';
  9. } else {
  10. echo '<td width=25px; style="background-color: yellow; border-color: blue;" border="1">'.$value."</td>";
  11. $first = $value;
  12. }
  13.  
  14. } else {
  15. echo '<td width=25px; style="background-color: magenta; border-color: blue;" border="1">'.$value."</td>";
  16. }
  17.  
  18. } echo "</tr>";
  19. }


w bazie mam dodatkową tabelę `wymiary`, która ma wymiar | id | wym |
Kolumna |wym | będzie odpowiadać: '.$key.'x'.$first.' ale kombinacji '.$key.'x'.$first.' jest więcej niż w tabeli `wymiary`.

Teraz chciałbym aby elenenty wspólne z prezentowanej tabeli zmieniły kolor jeżeli element z kolumny | wym| pokrywa się z `wymiary` '.$key.'x'.$first.'.

Próbowałem w ten sposób:
  1. if ($value<=1){
  2. $wymiar = $key."x".$first;
  3.  
  4. $wynik3 = mysql_query("SELECT * FROM `".$nazwa2."` where `tak` = '".$wymiar."' ");
  5. while ($row = mysql_fetch_array($wynik3)) {
  6. if ($row["tak"] == $wymiar){
  7. echo '<td width=25px; style="background-color: red; border-color: blue;" border="1"><p style="display:block;">'.$key.'x'.$first.'</p></td>';
  8. }
  9. echo '<td width=25px; style="background-color: green; border-color: blue;" border="1"><p style="display:block;">'.$key.'x'.$first.'</p></td>';
  10.  
  11. }
  12. } else {
  13. echo '<td width=25px; style="background-color: yellow; border-color: blue;" border="1">'.$value."</td>";
  14. $first = $value;
  15. }

ale $wymiar działą tylko jeden raz a potem rośnie chyba o każdą dodatkową kombinacje dając w rezultacie:
1,5x61x81,5x82x81x101,5x102x101x121,5x122x122,5x123x12, .....

pomocy

dodałem unset() i wyciągnołem echo z zielonym kolorem poza if-a
  1. if ($value<=1){
  2. $wymiar = $key."x".$first;
  3.  
  4. $wynik3 = mysql_query("SELECT * FROM `".$nazwa2."` where `tak` = '".$wymiar."' ");
  5. while ($row = mysql_fetch_array($wynik3)) {
  6. if ($row["tak"] == $wymiar){
  7. echo '<td width=25px; style="background-color: red; border-color: blue;" border="1"><p style="display:block;">'.$key.'x'.$first.'</p></td>';
  8. }
  9. unset($wymiar);
  10. }
  11.  
  12. echo '<td width=25px; style="background-color: green; border-color: blue;" border="1"><p style="display:block;">'.$key.'x'.$first.'</p></td>';
  13. } else {
  14. echo '<td width=25px; style="background-color: yellow; border-color: blue;" border="1">'.$value."</td>";
  15. $first = $value;
  16. }

tylko teraz duplikuje mi w tabeli rekord: