Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] tablica do jednej zmiennej
Forum PHP.pl > Forum > Przedszkole
justyn
Witam,

jak wziac dane z chekboxa - generowane jedno lub wiele- to jest tablica i nie wiadomo ile user zaznaczy Moze to byc 1 a moze byc 100.Chce pobraz z value do jednej zmiennej i zapisac w pliku.Ktos mnie naprowadzi ? Jak to pobrac ?

Probowalem foreach, for while ..... wsio gra do momentu petli bo w petli cza cos zrobic ale co



.= nie dziala bo powiela

[] blad

itd...

thanks a million for a reply !
kefirek
A tak patrzales ?
  1. <?php
  2. foreach($_POST['test'] AS $wynik){
  3. $dane.= ' '.$wynik;
  4. }
  5.  
  6. echo $dane;
  7. ?>
justyn
nie, rzecz w tym iz. User zaznacza np 5 checkboxow (ale nie jest powiedziane ze jest 5 bo moze byc 2 lub 88) Pole ma nazwe 'nazwa' z wartosciami: 1,2,3,4,5,6,7,8,9...2000 przykladowo.

Teraz jak przypisac do jednej zmiennej ta tablice i wyswietlic CALA wartosc ten zmiennej pamietajac iz nie wiadomo ile jest indeksow tablicy.
_olo_1984
nie do końca Cię zrozumiałem ale zobacz na to:
  1. <?php
  2. echo '<form action=plik.php method=post>';
  3. for($i = 1; $i <= 20; $i++)
  4. {
  5.    echo $i.' <input type="checkbox" name="nazwa[]" value="'.$i.'"><br />';
  6. }
  7. echo '<input type=submit value=ok /></form>';
  8.  
  9. if(isset($_POST['nazwa']))
  10. {    
  11.    echo array_sum($_POST['nazwa']);
  12. }
  13. ?>


generujesz sobie checkboxy np. 20, potem te zaznaczone sumujesz, możesz sume do zmienne przypisać $zmienna = array_sum($_POST['nazwa'])

pozdr
justyn
Cytat(_olo_1984 @ 18.02.2009, 07:55:44 ) *
nie do końca Cię zrozumiałem ale zobacz na to:
  1. <?php
  2. echo '';
  3. for($i = 1; $i <= 20; $i++)
  4. {
  5.    echo $i.'
  6. ';
  7. }
  8. echo '';
  9.  
  10. if(isset($_POST['nazwa']))
  11. {    
  12.    echo array_sum($_POST['nazwa']);
  13. }
  14. ?>


generujesz sobie checkboxy np. 20, potem te zaznaczone sumujesz, możesz sume do zmienne przypisać $zmienna = array_sum($_POST['nazwa'])

pozdr


to nie ma sumowac lecz wziąć wsio z tablicy to JEDNEJ zmiennej. Prosciej juz nie potrafie wytlumaczyc.Moze ktos bardziej kumaty pomoze ?
erix
Cytat
to nie ma sumowac lecz wziąć wsio z tablicy to JEDNEJ zmiennej.

~kefirek przecież podał rozwiązanie...

Cytat
.= nie dziala bo powiela

[] blad

Nie rozumiem, w czym powiela/błąd...

Cytat
wyswietlic CALA wartosc ten zmiennej pamietajac iz nie wiadomo ile jest indeksow tablicy.

Ale przecież nikt tu o kluczach tablicy nie pisał. Wyraź się jaśniej, bo naprawdę ciężko zrozumieć, w czym tkwi Twój problem.
justyn
ok,

Mam tablice generowana z pol checkbox (ilosc pol jest rowniez generowana i zalezna od ilosci plikow a wartosci tych pol to sa nazwy plikow;uciete zostaje jedynie rozszerzenie plikow) Pol jest powiedzmy 5 ale co najwazniejsze NIGDY NIE WIADOMO ILE ICH JEST i w tym jest caly problem.



Jak teraz pobrac wartosci z tych pol do jednej zmiennej. Przykladowo:



$zmienna = "wartosc1 wartosc2 wartosc3 wartosc4 wartosc5";



i to chce zapisac do pliku.
mls
  1. <?php
  2. if (isset($_POST['nazwa']) && is_array($_POST['nazwa']))
  3.    $zmienna = implode(' ', $_POST['nazwa']);
  4. else
  5.    $zmienna = false;
  6. ?>
justyn
Cytat(mls @ 19.02.2009, 15:14:49 ) *
  1. <?php
  2. if (isset($_POST['nazwa']) && is_array($_POST['nazwa']))
  3.    $zmienna = implode(' ', $_POST['nazwa']);
  4. else
  5.    $zmienna = false;
  6. ?>

jesli poslana i jesli w tablicy to do zmiennej przypisz i dołącz zmienna posylana inaczej wal sie - to tak w skrucie. implode ze spacjaa ale wogole nie o to mi chodzi.


Niestety nie dziala.

Dobra.Moze inaczej. Jak pobrac tablice z wieloma indeksami do zmiennej.
kefirek
To może o to chodzi ?
  1. <?php
  2. $tablica = serialize($_POST['nazwa']);
  3. echo $tablica;
  4. ?>
justyn
inaczej jeszcze bo nie wiem czy mnie rozumiecie.

Są generowane pola check. jest ich tyle ile plikow i moze byc bardzo wiele.

var_dump($val); 

daje tabilce to wiadomo ale jesli nie wiadomo ILE jest tych pol co za tym idzi wartosci jak tp przypisac do tylko jednej zmiennej.



przykladu nie bede podawal bo to przeciez tylko generowanie pol. Chyba ze chcecie to podam.
erix
Lepiej podaj. W dalszym ciągu nie wiem, co co Ci chodzi z tą ilością pól.

Dostałeś listingi i z obecnością liczby, i bez.
justyn
Cytat(erix @ 19.02.2009, 20:06:40 ) *
Lepiej podaj. W dalszym ciągu nie wiem, co co Ci chodzi z tą ilością pól.



Nspisalem ze podam ale po co bo do momentu tego co chce uzyskac jest ok- tak czy siak do tego momentu jest oki.




Czytam katalog -> listuje nazwy plikow -> otwieram przez FOR -> (w plikach sa zapisane dane i nazwy plikow ; wiem ze mozna od razu ale wyciagam stamtad jeszcze kilka innych pierdół)

i teraz najwazniejsze...

Robie petle - pobieram z tycch plikow te nazwy jako wartosci, podstawiam jako value......... stop



tych plikow moze byc wiele od 1 do 100000000000..... zalezy od teg oile jest ych plikow w katalogu o to chodzi. Osoba ktora bedzie to robila online nie wie i tylko widzi pola checx.



i sa jako wartosci do checkkboxow.



jak teraz zapodac te wartosc ido jednej zmiennej ? TYLKO JEDNEJ I JA ZAPISAC
erix
Cytat
[] blad

Musiałeś widocznie coś zepsuć, bo musi działać coś takiego:
  1. <input type="checkbox" name="files[]" value="nazwa.txt" />


I potem masz w $_POST['files'] tablicę z tymi plikami... Ja nie rozumiem, jaki masz problem...
plurr
Jeśli rozwiazanie erix'a nie bedzie tym, ktorego poszukujesz, to chyba padne na ziemie - smiechu warte. Moze stad taka parodia tutaj, ze piszesz 'zmienna' zamiast 'tablica' - a wiekszosc ludzi zaraz ma przed oczami jakiegos stringa w tej zmiennej.
tjaden
miałem chyba kiedyś podobny problem, i zrobiłem to w ten sposób że w pętli foreach sprawdzałem ostatnią komórkę tablicy, żeby się dowiedzieć ile elementów ma tablica, twoim przypadku wiesz już ile checkbox-ów zostało zaznaczonych (oczywicie name dla wszystkich checkbox-ów musi być identyczne), żeby odczytać nazwy plików które jak rozumiem zapisane są jako value tych checkboxów możesz np. w pętli utworzyć nową zmienną i zapisać do niej wartość każdej komórki poprzedzając ją np. przecinkiem.
A i jeszcze jedno musisz zrobić coś takiego name="nazwa[]", żeby wartości zapisały się do tablicy
zegarek84
toż to samo wszyscy ciągle piszą i śledzę ten temat bo aż śmieszny ^^

najlepiej niech napisze jaką tablice uzyskuje dla 5 elementów (to nie wiele ale będzie przykład ;p) - a może coś źle robi i w tym $_POST['pierdola'] nie ma tablicy już tu??

potem jeśli jednak w tym post jest tablica to niech poda dowolny przykład tablicy dosłownie niech ją wymyśli dla 5 elementów (wystarczy) i potem niech w postaci ciągu lub inaczej pokaże jak to ma być zrzucone do tej zmiennej bo tak do ładu nie dojdziecie ^^ - było z implode, było z serialize co wystarczyło do ponownego odczytania tablicy unserialize i ani tak ani tak rozwiązania nie pasują ^^ - dosłownie niech poda g z tych 5 zmiennych jak chce go mieć przekształconego i można coś dalej myśleć ;D
erix
Cytat
A i jeszcze jedno musisz zrobić coś takiego name="nazwa[]", żeby wartości zapisały się do tablicy

~tjaden, a o czym napisałem?

Ok, czekamy na wypowiedź autora wątku, nie ma sensu powielać N razy tego samego...
justyn
dobra Panowie, moj  blad. Pomylilem sie w jednym miejscu.Sory za zamieszanie. Dzieki i pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.