Można zamknąć. Poradziłem sobie. Dzięki za pomoc ;p


Thek: postaram się o tym pamiętać smile.gif

Witam,

Pętlą poniżej próbuje przypisać odpowiednie elementy z tablicy do 2 tablic.
  1. $zaznaczone = $niezaznaczone = $wynik1 = array();
  2. $core->query("SELECT pl_nazwa_pliku FROM ".$core->prefix."_pliki WHERE pl_id_db_user = ".$dane['user'].""); //pobranie nazw plików przydzielonych do danego użytkownika. Dostępne są w następującej kolejności: Nowy_klient.inc.php oraz Nowy_user.inc.php
  3. if($core->query_result != NULL)
  4. {
  5. $wynik = $core->query_result;
  6. for($j=0;$j<count($wynik);$j++)
  7. {
  8. $tmp = $core->query_result[$j];
  9. $wynik1[] = $tmp['pl_nazwa_pliku']; // wstawienie nazwa plików do tablicy
  10. }
  11. for($k=0;$k<count($wynik1);$k++)
  12. {
  13. if($dane['zaznaczenie'][$k] == $wynik1[$k])
  14. {
  15. $zaznaczone[] = $wynik1[$k];
  16. }
  17. else
  18. {
  19. $niezaznaczone[] = $wynik1[$k];
  20. }
  21. }
  22. }



  1. $dane['zaznaczenie']


Jest to przesłana tablica z wartościami z pola <select> typu multiple.

Wybór plików jest z poziomu <select> typu multiple.

Skrypt dobrze działa dla następujących wariantów:

1) Jak nie zaznaczymy nic
2) Jak zaznaczymy wszystko
  1. array(2) { [0]=> string(19) "Nowy_klient.inc.php" [1]=> string(17) "Nowy_user.inc.php" } array(0) { }

3) Jak zaznaczymy pierwszy z listy
  1. array(1) { [0]=> string(19) "Nowy_klient.inc.php" } array(1) { [0]=> string(17) "Nowy_user.inc.php" }


Natomiast nie działa dla:

1) Jak zaznaczymy ostatni element z listy [php]array(0) { } array(2) { [0]=> string(19) "Nowy_klient.inc.php" [1]=> string(17) "Nowy_user.inc.php" }[/php
Wiem, że przy porównywaniu w pętli dla zaznaczonego ostatniego elementu jest błąd. Chodzi o porównanie wartości elementów w danych tablicach o tym samym indeksie. Niestety wartość w tablicy przesłanej jest pod innym indeksem niż w tablicy z nazwami plików.

Nie wiem jak mogę to obejść/zabezpieczyć. Proszę o pomoc.