Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Porównywanie wartości kolumn o podanych nazwach zmiennych w przypadku kiedy kolumny nie są ułożone obok siebie w poziomie.
wojteke
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 17.07.2009

Ostrzeżenie: (0%)
-----


Witam!

Nie rozumiem czemu nie mogę porównać wartości wierszy kolumn o podanych nazwach zmiennych w przypadku kiedy kolumny nie są ułożone obok siebie w poziomie, tylko jedna na drugiej lub w osobnych tabelach.

Przykład:
(tabela z dwiema kolumnami, które są ułożone obok siebie)
Kod
   $kolumna_1[0]      $kolumna_1[1]


w takim układzie działa taka funkcja:

  1. <?php
  2. IF ($kolumna_1[0] == $kolumna_1[1]) $zmienna = styl_css_1; else $zmienna  = styl_css_2;
  3. ?>


ale jeżeli mam np taki zestaw kolumn:

(tabela z dwiema kolumnami, które są ułożone jedna na drugą)
Kod
   $kolumna_1[0]
   $kolumna_2[0]


w takim układzie kolumn nie działa taka funkcja (zawsze jest FALSE):

  1. <?php
  2. IF ($kolumna_1[0] == $kolumna_2[0]) $zmienna = styl_css_1; else $zmienna  = styl_css_2;
  3. ?>


Wygląda to tak jakby php nie pamiętało o tym, że wyżej była taka kolumna o zmiennej $kolumna_1[0]. (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)

Przedstawię mój kod, bo może mam jakiś błąd.

  1. <?php
  2. echo '<table id="large">';
  3.  
  4. while ($kolumna2 = mysql_fetch_row($idzapytania))
  5.  
  6. {
  7.  
  8. '<tr class="'.$color.'">
  9.       <td>'. $kolumna2[0] .'</td>
  10.       <td>'. $kolumna2[1] .'</td>
  11.       <td>'. $kolumna2[2] .'</td>
  12.       <td>'. $kolumna2[3] .'</td>
  13. </tr>'
  14. ;
  15. }
  16.  
  17.  
  18.  
  19.  
  20. $zapytanie =
  21.  
  22.    "SELECT
  23.        '',
  24.        lp ,
  25.        DATE_FORMAT(data, '%m.%d'),
  26.        TO_DAYS(data) - TO_DAYS(NOW())    +7
  27.    FROM terminarz";
  28.  
  29. $idzapytania = mysql_query($zapytanie);
  30. while ($kolumna = mysql_fetch_row($idzapytania))
  31. {
  32.    
  33.    
  34.    
  35.    
  36.    
  37.    
  38.    
  39.    
  40.    
  41.    
  42.    
  43.    // nadanie stylu CSS dla wierszy //
  44.    
  45.    // ponizszy IF dziala!!! w kolumnach $kolumna[1] i $kolumna[3] są w pewnych wierszach takie same wartości
  46.    // i w tych wierszach przypisywany jest styl CSS "strzalka", bo $kolumna[1] == $kolumna[3] i tutaj wszystko jest OK!
  47.    
  48.    IF ($kolumna[1] == $kolumna[3]) $strzala = strzalka; else $strzala = puste;    
  49.  
  50.    // poniższy IF NIE dziala!!! pomimo, że w kolumnach $kolumna2[0] i $kolumna[1] w pewnych wierszach są takie same wartości, to
  51.    // w tych danych wierszach nie przypisywany jest styl CSS. Dlaczego?
  52.  
  53.    IF ($kolumna2[0] == $kolumna[1]) $strzala = strzalka; else $strzala = puste;
  54.    
  55.    // wyglada to tak, jakby php nie pamiętało o tym, że wcześniej była taka kolumna jak $kolumna2[0]
  56.    // czemu tak się dzieje?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) :(
  57.    
  58.    
  59.    
  60.    
  61.    
  62.    
  63.    
  64.    
  65.  
  66.    
  67.  
  68. '
  69.    <tr class="'. $color .'">
  70.        <th class="'. $strzala .'">'. $kolumna[0] .'</th>
  71.        <td>'. $kolumna[1] .'</td>
  72.        <td>'. $kolumna[2] .'</td>
  73.        <td>'. $kolumna[3] .'</td>
  74.    </tr>
  75. '
  76. ;
  77. }
  78.  
  79. '</table>';
  80. ?>


Też nie ma znaczenia czy kolumny, które są ułożone jedna na drugiej są razem w tabeli czy w oddzielnych tabelach - zawsze nie można się w jednej kolumnie odwołać do wartości kolumny, która jest "wyżej/niżej".

Pozdrawiam!

Ten post edytował wojteke 5.08.2009, 23:00:02
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.12.2025 - 16:44