Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z pętlą foreach()
Jarod
post
Post #1





Grupa: Zarejestrowani
Postów: 1 190
Pomógł: 27
Dołączył: 23.04.2005

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


Poniższy skrypt działa prawidłowo gdy do wyświetlania danych użyję pętli for(). Natomiast gdy użyję foreach to już wszystko się pieprzy..

  1. <?php
  2. include 'funkcje.php';
  3.  
  4. //Tablica ze spisem uprawnień
  5. $spisUprawnien = array ('Panel' => 'Panel administracyjny:',
  6. 'ZmianaHasla' => 'Zmiana hasła:',
  7. 'Pasazerski'  => 'Dział pasażerski:',
  8. 'Rampa' => 'Dział rampy:',
  9. 'GrafikPasazerski' => 'Rozpiska stanowisk (pasażerski):');
  10.  
  11.  
  12. ////////////////////////////////////////////////////////////////
  13. for ($i=0; $i<10; $i++) echo '<br>Prawa: '.$_POST['kto'][$i];
  14. ////////////////////////////////////////////////////////////////
  15.  
  16.  
  17. //Połączenie z bazą danych
  18. $conn = m_connect($server, $identyfikator, $haslo)
  19. or die ('Nie udało się połączyć z bazą danych!');
  20. //Wybór bazy danych
  21. or die ('Nie udało się wybrać bazy!');
  22.  
  23.  
  24. $id  = intval($_GET['id']);
  25. $l = $_GET['l'];
  26. $i = $_GET['i'];
  27. $n = $_GET['n'];
  28. $np  = $_GET['np'];
  29. $d = $_GET['d'];
  30. $s = $_GET['s'];
  31.  
  32.  
  33. //Dla przypadku wejścia przez opcję 'Szukaj pracownika', ustalamy opcję przez, którą odbyło się szukanie
  34. if ( !empty($l) ) $szukaj = '&l='.$l;
  35. else if ( !empty($i) ) $szukaj = '&i='.$i;
  36. else if ( !empty($n) ) $szukaj = '&n='.$n;
  37. else if ( !empty($np)) $szukaj = '&np='.$np;
  38. else if ( !empty($d) ) $szukaj = '&d='.$d;
  39. else if ( !empty($s) ) $szukaj = '&s='.$s;
  40.  
  41.  
  42.  
  43. //Pobieramy prawa dostępu dla danego użytkownika
  44. $query = 'SELECT modul, odczyt, zapis FROM uprawnienia WHERE konto_id='.$id;
  45. $result = mysql_query($query) or die ('Zapytanie nieudane!');
  46.  
  47.  
  48. echo '<div class="uprawnienianaglowek" style="margin-left: 240px !important; margin-left: 120px;">Odczyt</div>';
  49. echo '<div class="uprawnienianaglowek">Zapis</div>';
  50.  
  51.  
  52. echo '<form action="'.basename($PHP_SELF).'?'.SID.'&val=115&id='.$id.$szukaj.'" method="post">';
  53.  
  54. //Wyświetlamy prawa dostępu
  55. while ( $query_data = mysql_fetch_row($result) )
  56. {
  57. echo '<div class="uprawnieniaspis">'.$spisUprawnien[$query_data[0]].'</div>';
  58. echo '<div class="uprawnieniawartosc">';
  59. echo '<select name="kto[]" style="font-size: 11px; width: 100px;">';
  60. if ( $query_data[1] == 1 ) $domyslne = 'selected'; else $domyslne = '';
  61. echo '<option selected>Nie</option>';
  62. echo '<option '.$domyslne.'>Tak</option>';
  63. echo '</select>';
  64. echo '</div>';
  65. echo '<div class="uprawnieniawartosc">';
  66. echo '<select name="kto[]" style="font-size: 11px; width: 100px;">';
  67. if ( $query_data[2] == 1 ) $domyslne = 'selected'; else $domyslne = '';
  68. echo '<option selected>Nie</option>';
  69.  echo '<option '.$domyslne.'>Tak</option>';
  70. echo '</select>';
  71. echo '</div>';
  72. }
  73. echo '<div style="margin-top: 10px; width: 510px; clear: both; float: left;">';
  74. echo '<div style="margin-bottom: 10px; width: 60px; clear: both; float: right;"><input type="image" src="img/zapisz.gif" /></div>';
  75. echo '<div style="width: 44px; clear: both; float: right;"><a href="'.basename($PHP_SELF).'?'.SID.'&val=13'.$szukaj.'"><img src="img/wroc.gif" width="44px" height="19px" alt="Wróć" border="0" /></a></div>';
  76. echo '</div>';
  77.  
  78. echo '</form>';
  79.  
  80. ?>


Gdy zamiast
  1. <?php
  2. ////////////////////////////////////////////////////////////////
  3. for ($i=0; $i<10; $i++) echo '<br>Prawa: '.$_POST['kto'][$i];
  4. ////////////////////////////////////////////////////////////////
  5. ?>

użyję

  1. <?php
  2. foreach (array($_POST['kto']) as $key => $kto) echo '<br>Prawa: '.$kto[$key];
  3. ?>


to nie działa. Co robię źle?
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: 24.08.2025 - 11:41