Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> tablica w zmiennej
Mich@ł
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 30.04.2006

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


Mam pewien problem techniczny i nie za bardzo wiem jak go rozwiązać smile.gif

A więc tak, mam tablice:
  1. $cos[] = 'cos1';
  2. $cos[] = 'cos2';
  3. $cos[] = 'cos3';
  4. $cos[] = 'cos4';


Z tablicy przy pomocy pętli generuje kilka inputów typu checkbox:
  1. <input type="checkbox" name="cos_1" value="1">
  2. <input type="checkbox" name="cos_2" value="2">
  3. <input type="checkbox" name="cos_3" value="3">
  4. <input type="checkbox" name="cos_4" value="4">


I teraz mam pewien problem ponieważ zastanawiam się jak aktywne checkboxy poskłądać do jednej zmiennej typu:
  1. $jakas_zmienna = $_POST[cos_1].'|'.$_POST[cos_2].'|'.$_POST[cos_3];


(tablica ma dość sporo rekordów dlatego ręcznie się nie opłaca tego wpisywać)

Zapewne rozwiązanie tego problemu jest jakieś banalne tyle że na najprostsze rozwiązania najtrudniej wpaść smile.gif

Macie może jakieś pomysły na rozwiązanie mojego problemu smile.gif?



--------------------
Pozdrawiam,
Michał Kryński
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Fixus
post
Post #2





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

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


a nie możesz po prostu przejechać wszystkich checkboxów i aktywne wrzucić do nowej mniejszej tablicy ? smile.gif

nawiasem mówiąc postępując wg. Twojego sposobu stworzysz łańcuch znaków czyli 1010101011100 w zależności czy zaznaczone czy nie, dlatego proponuje mój sposób.

np. pętla foreach załatwi sprawę

Ten post edytował Fixus 2.11.2009, 13:40:53
Go to the top of the page
+Quote Post
phpion
post
Post #3





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Generuj sobie pola w postaci tablicy czyli:
  1. <input type="checkbox" name="cos[]" value="1">
  2. <input type="checkbox" name="cos[]" value="2">
  3. <input type="checkbox" name="cos[]" value="3">
  4. <input type="checkbox" name="cos[]" value="4">

Po przesłaniu formularza wyświetli tablicę $_POST:
  1. print_r($_POST);

aby zobaczyć w jakiej formie dostaniesz dane. Dalej już sobie poradzisz; jeżeli nie to spójrz na to:
  1. if (isset($_POST['cos']) && is_array($_POST['cos'])) {
  2. $jakas_zmienna = implode('|', $_POST['cos']);
  3. }
  4. else {
  5. $jakas_zmienna = '';
  6. }
Go to the top of the page
+Quote Post
Mich@ł
post
Post #4





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 30.04.2006

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


Dzięki za podpowiedzi smile.gif

Osobiście wpadłem na jeszcze coś innego:
  1. for ($ih = 0; $ih < $_POST['ile_rekordow']; $ih++) {
  2. if (isset($_POST['cos_'.$ih])) {
  3. $zmienna1 = $_POST['cos_'.$ih].'|'.$zmienna1;
  4. }
  5. }
  6. echo rtrim ($zmienna1, '|');


i akurat to spełnia moje wymagania winksmiley.jpg


--------------------
Pozdrawiam,
Michał Kryński
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 01:40