Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Identyfikator zmienną?
Forum PHP.pl > Forum > Przedszkole
xSlash
No i oto pojawiam sie znowu ja z problem... Czy zmienna moze byc identyfikatorem?


  1. <?php
  2. for($i = 0; $i < count($nadL); $i++)
  3.  
  4.  {
  5.  
  6. <input type="checkbox" id=[$i]>
  7.  
  8.  }
  9. ?>


Jak zapisac, i czy w ogole sie da zapisac zmienna jako identyfikator? Chce zeby id = $i. Czekam...
maniekl2
Nie wiem czy o to chodzi...
  1. <?php
  2. echo '<input type="checkbox" id=" '.$i.' ">';
  3. ?>
xSlash
Wiem, ze moja wina, ale w sumie to nie potrafie odpowiedziec sobie samemu, czy wasze propozycje dzialają... Jeszcze raz.


Mam takie cos:
 
  1. <?php
  2. $a = $tresc;  //To z czego ma usunac
  3.     $b = $i;        //To co usuwa ze $a  - PRZY CZYM NIE WIEM CO MAM TU WPISAC
  4.  
  5.     $dl_b = strlen($b);             //To rozne
  6.     $dl_a = $dl_b - strlen($a);  //pierdoly
  7.     $wytnij = substr($a, $dl_a);//od usuwania
  8.  
  9.  
  10.       echo '<table><form action="" method="POST">';
  11.        for($i = 0; $i < count($nadL); $i++)
  12.         {
  13.       echo '<tr><th><input type="checkbox" id="'.$i.'"/> ', $nadL[$i], '</th>';       //W tej linijce nie wiem jakie  ID dac checkboxowi
  14.  
  15.         }
  16.       echo '<tr><td><input type="submit" name="delete" id="delete" value="Usun"></td></tr>';
  17.       echo '</table></form>';
  18.  
  19.  
  20.       if(isset($_POST['delete']))
  21.            {
  22.             echo $wytnij;
  23.            }
  24. ?>




Wiec przyjmijmy ze mam $nadL cos takiego
[CHECKBOX]nadawca1


[CHECKBOX]nadawca2

[CHECKBOX]nadawca3

Po zaznaczeniu checkboxa od nadawcy1 $wytnij (echo $wytnij;) powinna pokazac mi tylko nadawca2 i nadawca3... nie wiem jak polaczyc teksty ($nadL) z checkboxami (id=questionmark.gif?). Pomozcie...  sadsmiley02.gif sadsmiley02.gif sadsmiley02.gif sadsmiley02.gif sadsmiley02.gif sadsmiley02.gif sadsmiley02.gif wstydnis.gif
piotrooo89
nie id a name.

  1. <?php
  2. echo '<input type="checkbox" name="nadawca '.$i.' ">';
  3. ?>
nospor
@xSlash zacznij wkoncu uzywac poprawnego bbcode. dla kodu php ma to byc [php]
maniekl2
Może najpierw wyjaśnij co ma w ogóle robić ten kod. W pętli występuje $nadL, ale wcześniej jej nie było. Pokaż jak wygląda ta zmienna w kodzie.
blooregard
Może chodzi Ci o coś takiego:
  1. <?php
  2. <input type="checkbox" name="checkboxy[1]" />
  3. <input type="checkbox" name="checkboxy[2]" />
  4. <input type="checkbox" name="checkboxy[3]" />
  5. ?>

i w rezultacie dostaniesz z posta tablię asocjacyjną (zakładając, że zanaczony jest pierwszy i trzeci):
checkboxy {
[1] => 1
[3] => 1
}
xSlash
@maniekl2 Masz tutaj wyjasnienie:

  1. <?php
  2. //Dzielenie tekstu w tabelki bo one sa ciagiem zapisywanie do bazy np: nad1|nad2|nad3
  3.     $nad0 = ''.$nad.'';
  4.     $tresc0 = ''.$tresc.'';
  5.     $nadL = explode('|', $nad0);
  6.     $trescL = explode('|', $tresc0);
  7. ?>


Zrobilem tak jak powiedzial piotro i wyszlo:
  1. <?php
  2. ...
  3.  
  4. $b = "nadawca".$i."";
  5.  
  6. ...
  7.  
  8. <input type="checkbox" name="nadawca'.$i.'">
  9.  
  10. ...
  11. ?>


Jednakze za kazdym razem usuwa mi "nadawca1" i za kazdym razem pokazuje "nadawca2" i "nadawca3" niezaleznie od tego, ktore zaznacze (checkbox) zeby usunelo...  sadsmiley02.gif
nospor
@xSlash widze iz moja delikatna sugestia splynela tylko po tobie. Moze wiec jak temat zamkne, zwrocisz na nią bardziej uwage.

jak bedziesz gotowy sie dostosowac zapraszam na PW smile.gif

edit: otwieram
xSlash
Jeszcze raz sorry za nieporozumienie...

No wiec, czemu za kazdym razem usuwa mi "nadawca1" i zostawia 2 i 3? Powinno usuwac zaznaczonych przez checkbox?  dry.gif

Zastosowalem sie do zalecien piotro'a (haha.gif) i wyszlo cos takiego...

  1. <?php
  2. $a = $tresc;  //To z czego ma usunac   
  3.  
  4. $b = "nadawca".$i."";//To co usuwa ze $a  - PRZY CZYM NIE WIEM CO MAM TU WPISAC
  5.  
  6.  
  7.  
  8.     $dl_b = strlen($b);             //To rozne
  9.     $dl_a = $dl_b - strlen($a);  //pierdoly
  10.     $wytnij = substr($a, $dl_a);//od usuwania
  11.  
  12.  
  13.       echo '<table><form action="" method="POST">';
  14.        for($i = 0; $i < count($nadL); $i++)
  15.         {
  16.       echo '<tr><th><input type="checkbox" name="nadawca'.$i.'"> ', $nadL[$i], '</th>';       //W tej linijce nie wiem jakie  ID dac checkboxowi
  17.  
  18.         }
  19.       echo '<tr><td><input type="submit" name="delete" id="delete" value="Usun"></td></tr>';
  20.       echo '</table></form>';
  21.  
  22.  
  23.       if(isset($_POST['delete']))
  24.            {
  25.             echo $wytnij;
  26.            }
  27. ?>



Jednakze usuwa zawsze nadawce1 bez wzgledu czy zaznacze 1 czy 2 czy 3... checkbox. O co chodzi...? Nie wiem... Kombinowalem juz na takie srakie i owakie zmienne i ni jak nie idzie... Pomozcie...  sadsmiley02.gif



P.S. @nospor Docen to ze uzyłem poprawnego bbcode haha.gifD ^^ 
maniekl2
Widzę, że nie wiesz w ogóle jak działa funkcja usuwania, a wystarczyło zerknąć w manual :/
  1. <?php
  2. $dl_b = strlen($b);             //To rozne
  3.    $dl_a = $dl_b - strlen($a);  //pierdoly
  4.    $wytnij = substr($a, $dl_a);//od usuwania
  5. ?>

zerknij Tutaj i w polu search for wpisz funkcje, które są tutaj zaprezentowane(strlen, substr) i spróbuj domyślić się czemu twój skrypt nie działa poprawnie. Po drugie całe to usuwanie nie ma połaczenia z formularzem.
I radzę ci zainteresować się funkcją "preg_replace"
megawebmaster
A przy okazji - do nadawania wartości polom formularza korzysta się z atrybutu value tongue.gif No i taka mała uwaga - źle zamknięte table i from - w odwrotnej kolejności. Dodatkowo skorzystałbym z tego, że nazwałbym wszystkie pola jednakowo (dokładniej to np. "usun[]") i w value dawał co ma usuwać. Potem iteracja po tablicy $_POST['usun'] i sprawa z głowy :]

EDIT: Zła tablica biggrin.gif
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.