Zaczne od kodu a pozniej zadam pytania:
  1. <?php
  2.  
  3. class c_punkt_ankiety {
  4. #numer pytania . sluzy jako licznik i jako inf z ktorego pytania jest podana odp
  5. wiedz
  6. var $numer;
  7. #pytanie  ;
  8. var $pytanie;
  9. #typ odpowiedzi enum Checkobox, radio, textarea
  10. var $typ;
  11. #ilosc mozliwosci w przypadku gdy $typ==chbox, radio,text
  12. #1 - chbox, 2 - radio, 3- tezt
  13. var $rozmiar;
  14. #lista odpowiedzi
  15. var $odpowiedzi=array();
  16. #wygenerowany kod html
  17. var $kod;
  18.  
  19.  #metody
  20. itd...
  21. }
  22.  
  23. class c_ankieta {
  24. #liczba punktow ankiety
  25. var $ile_punktow;
  26. #nagłówek nakiety
  27. var $naglowek;
  28. #kod ankiety przechowuje aktualny kod calej ankiety
  29. var $kod_ankiety;
  30. #punkty
  31. var $pkt;
  32. #metody
  33. itd....
  34.  
  35. }
  36.  
  37. ?>

Powyzej czesc definicji klasy bo metody sa niepotrzebne do wyjasnienie problemu
  1. <?php
  2.  
  3. $ankieta= new c_ankieta;
  4. $i=0;
  5. for ($i=0;$i<$_POST['licznik'];$i++){
  6. $ankieta->pkt[$i]=new c_punkt_ankiety;
  7. $ankieta->pkt[$i]->dodaj_numer($i);
  8. $ankieta->pkt[$i]->dodaj_pytanie($_POST[$i]);
  9. $typ=&#092;"typ\".$i;
  10. $ankieta->pkt[$i]->wybierz_typ($_POST[$typ]);
  11.  
  12. $z=&#092;"0\";
  13. for($j=0;$j<6;$j++){
  14.  if ($_POST[$i.&#092;"_\".$j]!=\"\")
  15.  {
  16.  
  17. $ankieta->pkt[$i]->odpowiedzi[$z]=$_POST[$i.&#092;"_\".$j];
  18. $z+=&#092;"1\";
  19.  }
  20. }
  21. $ankieta->pkt[$i]->wybierz_rozmiar($z);
  22. $ankieta->pkt[$i]->generuj_punkt_ankiety();
  23. }
  24.  $ankieta->ustaw_liczbe_punktow($i);
  25.  $ankieta->wygeneruj_kod();
  26.  print $ankieta->kod_ankiety;
  27.  
  28. }
  29. ?>

Powyzej inicjowanie obiektu o nazwie ankieta
  1. <?php
  2.  
  3.  
  4. print $ankieta->pkt[0]->pytanie;--------------- tu pierwsza sytuacja
  5. //dodaj ankiete do bazy
  6. function dodaj_ankiete_do_bazy($ankieta,$database){
  7.  print ($baza_nalgowek = &#092;"insert into \".$database.\".ankieta (id_ankiety,pole, atrybut,stat) values('','$ankieta->naglowek',0,0)\");
  8.  print $baza_naglowek.&#092;"<br>\";
  9.  
  10.  mysql_query($baza_nalgowek) or die(&#092;"Dodanie ankiety sie nie powiodło (0)\");
  11.  $baza_kod =&#092;"insert into \".$database.\".ankieta(id_ankiety,pole,atrybut,stat) values('','$ankieta->kod_ankiety',1,0)\";
  12.  mysql_query($baza_kod) or die(&#092;"Dodanie ankiety sie nie powiodło (1)\");
  13.  print &#092;"$ankieta->pkt[0]->pytanie\";-------------a tu druga styuacja
  14.  
  15.  for($i=0; $i < $ankieta->ile_punktow; $i++ ){
  16. $baza_pytanie=&#092;"insert into \".$database.\".ankieta(id_ankiety,pole,atrybut,stat) values('','$ankieta->pkt[$i]->pytanie',2,0)\";
  17. mysql_query($baza_pytanie) or die (&#092;"Nie udalo sie dodac do bazy (2)\");
  18. for ( $j=; $j< $ankieta->pkt[$i]->rozmiar ; $j++){
  19.  $baza_odpowiedz=&#092;"insert into \".$database.\".ankieta(id_ankiety,pole,atrybut,stat) values(''.'$ankieta->pkt[$i]->odpowiedz[$j]',3,0)\";
  20.  mysql_query($baza_odpowiedz) or die (&#092;"Nie udalo sie dodac do bazy (3)\");
  21. }
  22.  }
  23. }
  24.  
  25. ?>

Wytłuszczone zostały 2 rzeczy pierwsza, poza funkcją prawidłowo wyswietli dane
Druga w funkcji wyswietla cos takiego.... Array[0]->pytanie
Nie wiem dlaczego ta zmienna nie jest widziana w funkcji mimo ze do funkcji przekazuje cały obiekt (a wlasnie ankieta do obiekt typu c_ankieta a pkt jest obiektem typu c_punkt_ankiety )
Dzieki z góry za sugestie, podowiedzi, i rozwiązania. Pozdrawiam

edit:
Nadminie jeszcze ze ostatnia petla wykonuje sie dokladnie tyle razy ile trzeba co oznacza ze $ankieta->pkt[$i]->rozmiar jest jak najbardzie widoczna ale niestety tylko dla ilosci przebiegow nie da rady tego wypisac bo wyswietli sie cos takiego Array[]->rozmiar


Mozecie juz skasowac posta sam doszedłem metoda prob i błędów chociaż zupełnie nie wiem dlaczego tak sie działa w każdym razie juz nie ma błędu i smiga smile.gif